diff --git a/next/404.html b/next/404.html index 3d2c6b4..668601c 100644 --- a/next/404.html +++ b/next/404.html @@ -933,6 +933,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/Address/index.html b/next/Docs/Address/index.html index e8de42f..4575c8a 100644 --- a/next/Docs/Address/index.html +++ b/next/Docs/Address/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/Carrier_Service/index.html b/next/Docs/Carrier_Service/index.html index 3c28663..868b593 100644 --- a/next/Docs/Carrier_Service/index.html +++ b/next/Docs/Carrier_Service/index.html @@ -1013,6 +1013,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/Database/index.html b/next/Docs/Database/index.html index fac33e9..96cb21f 100644 --- a/next/Docs/Database/index.html +++ b/next/Docs/Database/index.html @@ -1024,6 +1024,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/Events/index.html b/next/Docs/Events/index.html index 2cfd7fd..a81b792 100644 --- a/next/Docs/Events/index.html +++ b/next/Docs/Events/index.html @@ -1063,6 +1063,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/FormPS1583/index.html b/next/Docs/FormPS1583/index.html index 813a9e5..4893536 100644 --- a/next/Docs/FormPS1583/index.html +++ b/next/Docs/FormPS1583/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/Parcel/index.html b/next/Docs/Parcel/index.html index 5ea289a..51148f3 100644 --- a/next/Docs/Parcel/index.html +++ b/next/Docs/Parcel/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/Receipt/index.html b/next/Docs/Receipt/index.html index 8c8ffb8..a3a650a 100644 --- a/next/Docs/Receipt/index.html +++ b/next/Docs/Receipt/index.html @@ -1041,6 +1041,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/ReceiptPrinter/index.html b/next/Docs/ReceiptPrinter/index.html index faa6006..37e34e1 100644 --- a/next/Docs/ReceiptPrinter/index.html +++ b/next/Docs/ReceiptPrinter/index.html @@ -1013,6 +1013,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Docs/TrackingBarcode/index.html b/next/Docs/TrackingBarcode/index.html index 9073b81..c1ab73c 100644 --- a/next/Docs/TrackingBarcode/index.html +++ b/next/Docs/TrackingBarcode/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Examples/01Minimal/index.html b/next/Examples/01Minimal/index.html index 0a5dc17..6129927 100644 --- a/next/Examples/01Minimal/index.html +++ b/next/Examples/01Minimal/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Examples/02Basic/index.html b/next/Examples/02Basic/index.html index 1fff642..6b0b480 100644 --- a/next/Examples/02Basic/index.html +++ b/next/Examples/02Basic/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Examples/03Shipping/index.html b/next/Examples/03Shipping/index.html index c560fb4..52c238f 100644 --- a/next/Examples/03Shipping/index.html +++ b/next/Examples/03Shipping/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Examples/04CardProcessor/index.html b/next/Examples/04CardProcessor/index.html index e1e6b5e..3f6ff6c 100644 --- a/next/Examples/04CardProcessor/index.html +++ b/next/Examples/04CardProcessor/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Examples/05CryptoProcessor/index.html b/next/Examples/05CryptoProcessor/index.html index e696058..006d979 100644 --- a/next/Examples/05CryptoProcessor/index.html +++ b/next/Examples/05CryptoProcessor/index.html @@ -954,6 +954,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/barcode/index.html b/next/Plugin API/barcode/index.html index 35021e6..fa042ec 100644 --- a/next/Plugin API/barcode/index.html +++ b/next/Plugin API/barcode/index.html @@ -1065,6 +1065,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/database/index.html b/next/Plugin API/database/index.html index 365f8e7..bc693c2 100644 --- a/next/Plugin API/database/index.html +++ b/next/Plugin API/database/index.html @@ -1015,6 +1015,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/fs/index.html b/next/Plugin API/fs/index.html index 8d1ed2b..8de3b97 100644 --- a/next/Plugin API/fs/index.html +++ b/next/Plugin API/fs/index.html @@ -1059,6 +1059,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/global functions/index.html b/next/Plugin API/global functions/index.html index 9f81ecb..0aa31ec 100644 --- a/next/Plugin API/global functions/index.html +++ b/next/Plugin API/global functions/index.html @@ -1031,6 +1031,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/graphics/index.html b/next/Plugin API/graphics/index.html index 7416d4e..1918a5a 100644 --- a/next/Plugin API/graphics/index.html +++ b/next/Plugin API/graphics/index.html @@ -12,7 +12,7 @@ - + @@ -1026,6 +1026,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/httpserver/index.html b/next/Plugin API/httpserver/index.html new file mode 100644 index 0000000..fe34e0d --- /dev/null +++ b/next/Plugin API/httpserver/index.html @@ -0,0 +1,1615 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Httpserver - PostalPoint Plugin Development + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + + +
    +
    +
    + + + + + + + +
    + +
    + + + + + +

    Httpserver

    + +

    +

    httpserver : object

    +

    Add features to PostalPoint's integrated LAN HTTP API server.

    +

    Kind: global namespace

    + +

    +

    httpserver.addEndpoint(id, onCall)

    +

    Add a custom HTTP JSON POST endpoint to the LAN HTTP API server running inside +PostalPoint. Requests must be POSTed and contain a JSON body (or empty body, which will be converted to null).

    +

    Kind: static method of httpserver

    + + + + + + + + + + + + + + + + + + + + +
    ParamTypeDescription
    idstringEndpoint ID. Used in URL, for example: http://<host>:7678/<id>
    onCallfunctionAsync function to call when the endpoint is called, which returns the response.
    +

    Example
    +

    global.apis.httpserver.addEndpoint("testendpoint", async function (request) {
    +    if (request.abc == "123") {
    +        // A non-string `body` is converted to JSON before the HTTP reply is sent.
    +        return {body: {json: true, abc: 123}, httpcode: 200, contentType: "application/json"};
    +    }
    +    // A string `body` is sent to the client as-is using whatever contentType you specify.
    +    return {body: "abc", httpcode: 200, contentType: "text/plain"};
    +});
    +
    +

    +

    httpserver.getServerPort() ⇒ number

    +

    Get the local HTTP server's port number.

    +

    Kind: static method of httpserver
    +

    +

    httpserver.getClientKey() ⇒ string

    +

    Get the local machine's HTTP client key it uses to authenticate with other +installations of PostalPoint on the LAN.

    +

    Kind: static method of httpserver

    + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/next/Plugin API/i18n/index.html b/next/Plugin API/i18n/index.html index fa93241..48fe020 100644 --- a/next/Plugin API/i18n/index.html +++ b/next/Plugin API/i18n/index.html @@ -9,7 +9,7 @@ - + @@ -942,6 +942,34 @@ + + +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + diff --git a/next/Plugin API/kiosk/index.html b/next/Plugin API/kiosk/index.html index 95dfe36..501ccf9 100644 --- a/next/Plugin API/kiosk/index.html +++ b/next/Plugin API/kiosk/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/mailboxes/index.html b/next/Plugin API/mailboxes/index.html index f9aeb38..2c28451 100644 --- a/next/Plugin API/mailboxes/index.html +++ b/next/Plugin API/mailboxes/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/pos/index.html b/next/Plugin API/pos/index.html index 286c5e4..f700c1a 100644 --- a/next/Plugin API/pos/index.html +++ b/next/Plugin API/pos/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/print/index.html b/next/Plugin API/print/index.html index c055ee8..c8362bc 100644 --- a/next/Plugin API/print/index.html +++ b/next/Plugin API/print/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/reports/index.html b/next/Plugin API/reports/index.html index 1e26b8b..300f08d 100644 --- a/next/Plugin API/reports/index.html +++ b/next/Plugin API/reports/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/settings/index.html b/next/Plugin API/settings/index.html index a36772b..812325c 100644 --- a/next/Plugin API/settings/index.html +++ b/next/Plugin API/settings/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/shipping/index.html b/next/Plugin API/shipping/index.html index a927248..b10bb2c 100644 --- a/next/Plugin API/shipping/index.html +++ b/next/Plugin API/shipping/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/storage/index.html b/next/Plugin API/storage/index.html index 52ab74c..2a28445 100644 --- a/next/Plugin API/storage/index.html +++ b/next/Plugin API/storage/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/ui/index.html b/next/Plugin API/ui/index.html index aeed81b..17932d3 100644 --- a/next/Plugin API/ui/index.html +++ b/next/Plugin API/ui/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/user/index.html b/next/Plugin API/user/index.html index 9337e08..66e9a00 100644 --- a/next/Plugin API/user/index.html +++ b/next/Plugin API/user/index.html @@ -944,6 +944,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/Plugin API/util/index.html b/next/Plugin API/util/index.html index 2376dfa..f435a3d 100644 --- a/next/Plugin API/util/index.html +++ b/next/Plugin API/util/index.html @@ -942,6 +942,34 @@ +
  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/assets/external/postalpoint.app/images/favicon-voxel.png b/next/assets/external/postalpoint.app/images/favicon-voxel.png index 40ed29e..657e349 100644 Binary files a/next/assets/external/postalpoint.app/images/favicon-voxel.png and b/next/assets/external/postalpoint.app/images/favicon-voxel.png differ diff --git a/next/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js b/next/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js index ed8de28..6d69387 100644 --- a/next/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +++ b/next/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js @@ -1,5 +1,5 @@ -"use strict";var __esbuild_esm_mermaid_nm;(__esbuild_esm_mermaid_nm||={}).mermaid=(()=>{var JCe=Object.create;var Zv=Object.defineProperty;var e6e=Object.getOwnPropertyDescriptor;var t6e=Object.getOwnPropertyNames;var r6e=Object.getPrototypeOf,n6e=Object.prototype.hasOwnProperty;var o=(t,e)=>Zv(t,"name",{value:e,configurable:!0});var I=(t,e)=>()=>(t&&(e=t(t=0)),e);var Jt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vr=(t,e)=>{for(var r in e)Zv(t,r,{get:e[r],enumerable:!0})},_3=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of t6e(e))!n6e.call(t,i)&&i!==r&&Zv(t,i,{get:()=>e[i],enumerable:!(n=e6e(e,i))||n.enumerable});return t},$r=(t,e,r)=>(_3(t,e,"default"),r&&_3(r,e,"default")),Aa=(t,e,r)=>(r=t!=null?JCe(r6e(t)):{},_3(e||!t||!t.__esModule?Zv(r,"default",{value:t,enumerable:!0}):r,t)),D3=t=>_3(Zv({},"__esModule",{value:!0}),t);var i6e,eg,R8,RW,R3=I(()=>{"use strict";i6e=Object.freeze({left:0,top:0,width:16,height:16}),eg=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),R8=Object.freeze({...i6e,...eg}),RW=Object.freeze({...R8,body:"",hidden:!1})});var a6e,LW,NW=I(()=>{"use strict";R3();a6e=Object.freeze({width:null,height:null}),LW=Object.freeze({...a6e,...eg})});var L8,L3,MW=I(()=>{"use strict";L8=o((t,e,r,n="")=>{let i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let l=i.pop(),u=i.pop(),h={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!L3(h)?null:h}let a=i[0],s=a.split("-");if(s.length>1){let l={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!L3(l)?null:l}if(r&&n===""){let l={provider:n,prefix:"",name:a};return e&&!L3(l,r)?null:l}return null},"stringToIcon"),L3=o((t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1,"validateIconName")});function IW(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var OW=I(()=>{"use strict";o(IW,"mergeIconTransformations")});function N8(t,e){let r=IW(t,e);for(let n in RW)n in eg?n in t&&!(n in r)&&(r[n]=eg[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var PW=I(()=>{"use strict";R3();OW();o(N8,"mergeIconData")});function BW(t,e){let r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;let l=n[s]&&n[s].parent,u=l&&a(l);u&&(i[s]=[l].concat(u))}return i[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var FW=I(()=>{"use strict";o(BW,"getIconsTree")});function $W(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function s(l){a=N8(n[l]||i[l],a)}return o(s,"parse"),s(e),r.forEach(s),N8(t,a)}function M8(t,e){if(t.icons[e])return $W(t,e,[]);let r=BW(t,[e])[e];return r?$W(t,e,r):null}var zW=I(()=>{"use strict";PW();FW();o($W,"internalGetIconData");o(M8,"getIconData")});function I8(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;let n=t.split(s6e);if(n===null||!n.length)return t;let i=[],a=n.shift(),s=o6e.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?i.push(a):i.push(Math.ceil(l*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}var s6e,o6e,GW=I(()=>{"use strict";s6e=/(-?[0-9.]*[0-9]+[0-9.]*)/g,o6e=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(I8,"calculateSize")});function l6e(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function c6e(t,e){return t?""+t+""+e:e}function VW(t,e,r){let n=l6e(t);return c6e(n.defs,e+n.content+r)}var qW=I(()=>{"use strict";o(l6e,"splitSVGDefs");o(c6e,"mergeDefsAndContent");o(VW,"wrapSVGContent")});function O8(t,e){let r={...R8,...t},n={...LW,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,T=y.rotate;x?b?T+=2:(v.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),v.push("scale(-1 1)"),i.top=i.left=0):b&&(v.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),v.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,v.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:v.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,v.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),v.length&&(a=VW(a,'',""))});let s=n.width,l=n.height,u=i.width,h=i.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=I8(d,u/h)):(f=s==="auto"?u:s,d=l===null?I8(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{u6e(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[i.left,i.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var u6e,UW=I(()=>{"use strict";R3();NW();GW();qW();u6e=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(O8,"iconToSVG")});function P8(t,e=f6e){let r=[],n;for(;n=h6e.exec(t);)r.push(n[1]);if(!r.length)return t;let i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(d6e++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),t=t.replace(new RegExp(i,"g"),""),t}var h6e,f6e,d6e,WW=I(()=>{"use strict";h6e=/\sid="(\S+)"/g,f6e="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),d6e=0;o(P8,"replaceIDs")});function B8(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}var HW=I(()=>{"use strict";o(B8,"iconToHTML")});var YW=I(()=>{"use strict";MW();zW();UW();WW();HW()});var F8,$n,tg=I(()=>{"use strict";F8=o((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>F8(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=F8(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),$n=F8});var N3=Jt(($8,z8)=>{"use strict";(function(t,e){typeof $8=="object"&&typeof z8<"u"?z8.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})($8,(function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:o(function(S){var A=["th","st","nd","rd"],_=S%100;return"["+S+(A[(_-20)%10]||A[_]||A[0])+"]"},"ordinal")},x=o(function(S,A,_){var N=String(S);return!N||N.length>=A?S:""+Array(A+1-N.length).join(_)+S},"m"),b={s:x,z:o(function(S){var A=-S.utcOffset(),_=Math.abs(A),N=Math.floor(_/60),M=_%60;return(A<=0?"+":"-")+x(N,2,"0")+":"+x(M,2,"0")},"z"),m:o(function S(A,_){if(A.date()<_.date())return-S(_,A);var N=12*(_.year()-A.year())+(_.month()-A.month()),M=A.clone().add(N,h),P=_-M<0,B=A.clone().add(N+(P?-1:1),h);return+(-(N+(_-M)/(P?M-B:B-M))||0)},"t"),a:o(function(S){return S<0?Math.ceil(S)||0:Math.floor(S)},"a"),p:o(function(S){return{M:h,y:d,w:u,d:l,D:p,h:s,m:a,s:i,ms:n,Q:f}[S]||String(S||"").toLowerCase().replace(/s$/,"")},"p"),u:o(function(S){return S===void 0},"u")},T="en",E={};E[T]=v;var w="$isDayjsObject",k=o(function(S){return S instanceof O||!(!S||!S[w])},"S"),C=o(function S(A,_,N){var M;if(!A)return T;if(typeof A=="string"){var P=A.toLowerCase();E[P]&&(M=P),_&&(E[P]=_,M=P);var B=A.split("-");if(!M&&B.length>1)return S(B[0])}else{var F=A.name;E[F]=A,M=F}return!N&&M&&(T=M),M||!N&&T},"t"),D=o(function(S,A){if(k(S))return S.clone();var _=typeof A=="object"?A:{};return _.date=S,_.args=arguments,new O(_)},"O"),R=b;R.l=C,R.i=k,R.w=function(S,A){return D(S,{locale:A.$L,utc:A.$u,x:A.$x,$offset:A.$offset})};var O=(function(){function S(_){this.$L=C(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[w]=!0}o(S,"M");var A=S.prototype;return A.parse=function(_){this.$d=(function(N){var M=N.date,P=N.utc;if(M===null)return new Date(NaN);if(R.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var B=M.match(g);if(B){var F=B[2]-1||0,G=(B[7]||"0").substring(0,3);return P?new Date(Date.UTC(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,G)):new Date(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,G)}}return new Date(M)})(_),this.init()},A.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},A.$utils=function(){return R},A.isValid=function(){return this.$d.toString()!==m},A.isSame=function(_,N){var M=D(_);return this.startOf(N)<=M&&M<=this.endOf(N)},A.isAfter=function(_,N){return D(_){"use strict";jW=Aa(N3(),1),ju={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},X={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},Jv=o(function(t="fatal"){let e=ju.fatal;typeof t=="string"?t.toLowerCase()in ju&&(e=ju[t]):typeof t=="number"&&(e=t),X.trace=()=>{},X.debug=()=>{},X.info=()=>{},X.warn=()=>{},X.error=()=>{},X.fatal=()=>{},e<=ju.fatal&&(X.fatal=console.error?console.error.bind(console,tl("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",tl("FATAL"))),e<=ju.error&&(X.error=console.error?console.error.bind(console,tl("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",tl("ERROR"))),e<=ju.warn&&(X.warn=console.warn?console.warn.bind(console,tl("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",tl("WARN"))),e<=ju.info&&(X.info=console.info?console.info.bind(console,tl("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",tl("INFO"))),e<=ju.debug&&(X.debug=console.debug?console.debug.bind(console,tl("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",tl("DEBUG"))),e<=ju.trace&&(X.trace=console.debug?console.debug.bind(console,tl("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",tl("TRACE")))},"setLogLevel"),tl=o(t=>`%c${(0,jW.default)().format("ss.SSS")} : ${t} : `,"format")});var M3,XW,KW=I(()=>{"use strict";M3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return M3.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return M3.hue2rgb(a,i,t)*255;case"b":return M3.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;let l=i-a,u=s>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";p6e={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},QW=p6e});var m6e,JW,eH=I(()=>{"use strict";m6e={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},JW=m6e});var g6e,er,Nc=I(()=>{"use strict";KW();ZW();eH();g6e={channel:XW,lang:QW,unit:JW},er=g6e});var Xu,Yi,e2=I(()=>{"use strict";Nc();Xu={};for(let t=0;t<=255;t++)Xu[t]=er.unit.dec2hex(t);Yi={ALL:0,RGB:1,HSL:2}});var G8,tH,rH=I(()=>{"use strict";e2();G8=class{static{o(this,"Type")}constructor(){this.type=Yi.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Yi.ALL}is(e){return this.type===e}},tH=G8});var V8,nH,iH=I(()=>{"use strict";Nc();rH();e2();V8=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new tH}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Yi.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=er.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=er.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=er.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=er.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=er.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=er.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Yi.HSL)&&r!==void 0?r:(this._ensureHSL(),er.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Yi.HSL)&&r!==void 0?r:(this._ensureHSL(),er.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Yi.HSL)&&r!==void 0?r:(this._ensureHSL(),er.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Yi.RGB)&&r!==void 0?r:(this._ensureRGB(),er.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Yi.RGB)&&r!==void 0?r:(this._ensureRGB(),er.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Yi.RGB)&&r!==void 0?r:(this._ensureRGB(),er.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Yi.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Yi.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Yi.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Yi.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Yi.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Yi.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},nH=V8});var y6e,of,t2=I(()=>{"use strict";iH();y6e=new nH({r:0,g:0,b:0,a:0},"transparent"),of=y6e});var aH,Sp,q8=I(()=>{"use strict";t2();e2();aH={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(aH.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return of.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${Xu[Math.round(e)]}${Xu[Math.round(r)]}${Xu[Math.round(n)]}${Xu[Math.round(i*255)]}`:`#${Xu[Math.round(e)]}${Xu[Math.round(r)]}${Xu[Math.round(n)]}`},"stringify")},Sp=aH});var I3,r2,sH=I(()=>{"use strict";Nc();t2();I3={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:o(t=>{let e=t.match(I3.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return er.channel.clamp.h(parseFloat(r)*.9);case"rad":return er.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return er.channel.clamp.h(parseFloat(r)*360)}}return er.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(I3.re);if(!r)return;let[,n,i,a,s,l]=r;return of.set({h:I3._hue2deg(n),s:er.channel.clamp.s(parseFloat(i)),l:er.channel.clamp.l(parseFloat(a)),a:s?er.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${er.lang.round(e)}, ${er.lang.round(r)}%, ${er.lang.round(n)}%, ${i})`:`hsl(${er.lang.round(e)}, ${er.lang.round(r)}%, ${er.lang.round(n)}%)`},"stringify")},r2=I3});var O3,U8,oH=I(()=>{"use strict";q8();O3={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:o(t=>{t=t.toLowerCase();let e=O3.colors[t];if(e)return Sp.parse(e)},"parse"),stringify:o(t=>{let e=Sp.stringify(t);for(let r in O3.colors)if(O3.colors[r]===e)return r},"stringify")},U8=O3});var lH,n2,cH=I(()=>{"use strict";Nc();t2();lH={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(lH.re);if(!r)return;let[,n,i,a,s,l,u,h,f]=r;return of.set({r:er.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:er.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:er.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?er.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${er.lang.round(e)}, ${er.lang.round(r)}, ${er.lang.round(n)}, ${er.lang.round(i)})`:`rgb(${er.lang.round(e)}, ${er.lang.round(r)}, ${er.lang.round(n)})`},"stringify")},n2=lH});var v6e,ji,Ku=I(()=>{"use strict";q8();sH();oH();cH();e2();v6e={format:{keyword:U8,hex:Sp,rgb:n2,rgba:n2,hsl:r2,hsla:r2},parse:o(t=>{if(typeof t!="string")return t;let e=Sp.parse(t)||n2.parse(t)||r2.parse(t)||U8.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(Yi.HSL)||t.data.r===void 0?r2.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?n2.stringify(t):Sp.stringify(t),"stringify")},ji=v6e});var x6e,P3,W8=I(()=>{"use strict";Nc();Ku();x6e=o((t,e)=>{let r=ji.parse(t);for(let n in e)r[n]=er.channel.clamp[n](e[n]);return ji.stringify(r)},"change"),P3=x6e});var b6e,vs,H8=I(()=>{"use strict";Nc();t2();Ku();W8();b6e=o((t,e,r=0,n=1)=>{if(typeof t!="number")return P3(t,{a:e});let i=of.set({r:er.channel.clamp.r(t),g:er.channel.clamp.g(e),b:er.channel.clamp.b(r),a:er.channel.clamp.a(n)});return ji.stringify(i)},"rgba"),vs=b6e});var T6e,Ep,uH=I(()=>{"use strict";Nc();Ku();T6e=o((t,e)=>er.lang.round(ji.parse(t)[e]),"channel"),Ep=T6e});var w6e,hH,fH=I(()=>{"use strict";Nc();Ku();w6e=o(t=>{let{r:e,g:r,b:n}=ji.parse(t),i=.2126*er.channel.toLinear(e)+.7152*er.channel.toLinear(r)+.0722*er.channel.toLinear(n);return er.lang.round(i)},"luminance"),hH=w6e});var k6e,dH,pH=I(()=>{"use strict";fH();k6e=o(t=>hH(t)>=.5,"isLight"),dH=k6e});var S6e,_a,mH=I(()=>{"use strict";pH();S6e=o(t=>!dH(t),"isDark"),_a=S6e});var E6e,B3,Y8=I(()=>{"use strict";Nc();Ku();E6e=o((t,e,r)=>{let n=ji.parse(t),i=n[e],a=er.channel.clamp[e](i+r);return i!==a&&(n[e]=a),ji.stringify(n)},"adjustChannel"),B3=E6e});var C6e,It,gH=I(()=>{"use strict";Y8();C6e=o((t,e)=>B3(t,"l",e),"lighten"),It=C6e});var A6e,$t,yH=I(()=>{"use strict";Y8();A6e=o((t,e)=>B3(t,"l",-e),"darken"),$t=A6e});var _6e,Be,vH=I(()=>{"use strict";Ku();W8();_6e=o((t,e)=>{let r=ji.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return P3(t,n)},"adjust"),Be=_6e});var D6e,xH,bH=I(()=>{"use strict";Ku();H8();D6e=o((t,e,r=50)=>{let{r:n,g:i,b:a,a:s}=ji.parse(t),{r:l,g:u,b:h,a:f}=ji.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,T=a*y+h*v,E=s*d+f*(1-d);return vs(x,b,T,E)},"mix"),xH=D6e});var R6e,At,TH=I(()=>{"use strict";Ku();bH();R6e=o((t,e=100)=>{let r=ji.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,xH(r,t,e)},"invert"),At=R6e});var wH=I(()=>{"use strict";H8();uH();mH();gH();yH();vH();TH()});var _o=I(()=>{"use strict";wH()});var lf,cf,i2=I(()=>{"use strict";lf="#ffffff",cf="#f2f2f2"});var Pi,rg=I(()=>{"use strict";_o();Pi=o((t,e)=>e?Be(t,{s:-40,l:10}):Be(t,{s:-40,l:-10}),"mkBorder")});var X8,kH,SH=I(()=>{"use strict";_o();i2();rg();X8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Be(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Be(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Pi(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Pi(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Pi(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||At(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||At(this.tertiaryColor),this.lineColor=this.lineColor||At(this.background),this.arrowheadColor=this.arrowheadColor||At(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?$t(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||$t(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||At(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||It(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||$t(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||$t(this.mainBkg,10)):(this.rowOdd=this.rowOdd||It(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||It(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||Be(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Be(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Be(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Be(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Be(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Be(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Be(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Be(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Be(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},kH=o(t=>{let e=new X8;return e.calculate(t),e},"getThemeVariables")});var K8,EH,CH=I(()=>{"use strict";_o();rg();K8=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=It(this.primaryColor,16),this.tertiaryColor=Be(this.primaryColor,{h:-160}),this.primaryBorderColor=At(this.background),this.secondaryBorderColor=Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Pi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=It(At("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=vs(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=$t("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=$t(this.sectionBkgColor,10),this.taskBorderColor=vs(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=vs(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||It(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||$t(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=It(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=It(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=It(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Be(this.primaryColor,{h:64}),this.fillType3=Be(this.secondaryColor,{h:64}),this.fillType4=Be(this.primaryColor,{h:-64}),this.fillType5=Be(this.secondaryColor,{h:-64}),this.fillType6=Be(this.primaryColor,{h:128}),this.fillType7=Be(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||Be(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Be(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Be(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Be(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Be(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Be(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Be(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Be(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Be(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},EH=o(t=>{let e=new K8;return e.calculate(t),e},"getThemeVariables")});var Q8,uf,a2=I(()=>{"use strict";_o();rg();i2();Q8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Be(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Be(this.primaryColor,{h:-160}),this.primaryBorderColor=Pi(this.primaryColor,this.darkMode),this.secondaryBorderColor=Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Pi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=vs(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Be(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Be(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Be(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Be(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Be(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Be(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Be(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Be(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Be(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||$t(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||$t(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}let r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},uf=o(t=>{let e=new Q8;return e.calculate(t),e},"getThemeVariables")});var Z8,AH,_H=I(()=>{"use strict";_o();i2();rg();Z8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=It("#cde498",10),this.primaryBorderColor=Pi(this.primaryColor,this.darkMode),this.secondaryBorderColor=Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Pi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.primaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=$t(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||Be(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Be(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Be(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Be(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Be(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Be(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Be(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Be(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Be(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||$t(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||$t(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},AH=o(t=>{let e=new Z8;return e.calculate(t),e},"getThemeVariables")});var J8,DH,RH=I(()=>{"use strict";_o();rg();i2();J8=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=It(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Be(this.primaryColor,{h:-160}),this.primaryBorderColor=Pi(this.primaryColor,this.darkMode),this.secondaryBorderColor=Pi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Pi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||It(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=It(this.contrast,55),this.border2=this.contrast,this.actorBorder=It(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},DH=o(t=>{let e=new J8;return e.calculate(t),e},"getThemeVariables")});var rl,F3=I(()=>{"use strict";SH();CH();a2();_H();RH();rl={base:{getThemeVariables:kH},dark:{getThemeVariables:EH},default:{getThemeVariables:uf},forest:{getThemeVariables:AH},neutral:{getThemeVariables:DH}}});var ql,LH=I(()=>{"use strict";ql={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var NH,MH,IH,gr,Ka=I(()=>{"use strict";F3();LH();NH={...ql,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:rl.default.getThemeVariables(),sequence:{...ql.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...ql.gantt,tickInterval:void 0,useWidth:void 0},c4:{...ql.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...ql.flowchart,inheritDir:!1},external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...ql.pie,useWidth:984},xyChart:{...ql.xyChart,useWidth:void 0},requirement:{...ql.requirement,useWidth:void 0},packet:{...ql.packet},radar:{...ql.radar},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","}},MH=o((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...MH(t[n],"")]:[...r,e+n],[]),"keyify"),IH=new Set(MH(NH,"")),gr=NH});var ng,L6e,e_=I(()=>{"use strict";Ka();gt();ng=o(t=>{if(X.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>ng(e));return}for(let e of Object.keys(t)){if(X.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!IH.has(e)||t[e]==null){X.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){X.debug("sanitizing object",e),ng(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(X.debug("sanitizing css option",e),t[e]=L6e(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}X.debug("After sanitization",t)}},"sanitizeDirective"),L6e=o(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";tg();gt();F3();Ka();e_();hf=Object.freeze(gr),Hs=$n({},hf),Cp=[],s2=$n({},hf),z3=o((t,e)=>{let r=$n({},t),n={};for(let i of e)FH(i),n=$n(n,i);if(r=$n(r,n),n.theme&&n.theme in rl){let i=$n({},$3),a=$n(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in rl&&(r.themeVariables=rl[r.theme].getThemeVariables(a))}return s2=r,zH(s2),s2},"updateCurrentConfig"),t_=o(t=>(Hs=$n({},hf),Hs=$n(Hs,t),t.theme&&rl[t.theme]&&(Hs.themeVariables=rl[t.theme].getThemeVariables(t.themeVariables)),z3(Hs,Cp),Hs),"setSiteConfig"),PH=o(t=>{$3=$n({},t)},"saveConfigFromInitialize"),BH=o(t=>(Hs=$n(Hs,t),z3(Hs,Cp),Hs),"updateSiteConfig"),r_=o(()=>$n({},Hs),"getSiteConfig"),G3=o(t=>(zH(t),$n(s2,t),tr()),"setConfig"),tr=o(()=>$n({},s2),"getConfig"),FH=o(t=>{t&&(["secure",...Hs.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(X.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&FH(t[e])}))},"sanitize"),$H=o(t=>{ng(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Cp.push(t),z3(Hs,Cp)},"addDirective"),o2=o((t=Hs)=>{Cp=[],z3(t,Cp)},"reset"),N6e={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},OH={},M6e=o(t=>{OH[t]||(X.warn(N6e[t]),OH[t]=!0)},"issueWarning"),zH=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&M6e("LAZY_LOAD_DEPRECATED")},"checkConfig"),GH=o(()=>{let t={};$3&&(t=$n(t,$3));for(let e of Cp)t=$n(t,e);return t},"getUserDefinedConfig")});function Ts(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:U3;VH&&VH(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let a=r(i);a!==i&&(I6e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function V6e(t){for(let e=0;e0&&arguments[0]!==void 0?arguments[0]:J6e(),e=o(Dt=>tY(Dt),"DOMPurify");if(e.version="3.2.6",e.removed=[],!t||!t.document||t.document.nodeType!==f2.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t,n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:u,NodeFilter:h,NamedNodeMap:f=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:m}=t,g=u.prototype,y=h2(g,"cloneNode"),v=h2(g,"remove"),x=h2(g,"nextSibling"),b=h2(g,"childNodes"),T=h2(g,"parentNode");if(typeof s=="function"){let Dt=r.createElement("template");Dt.content&&Dt.content.ownerDocument&&(r=Dt.content.ownerDocument)}let E,w="",{implementation:k,createNodeIterator:C,createDocumentFragment:D,getElementsByTagName:R}=r,{importNode:O}=n,L=KH();e.isSupported=typeof QH=="function"&&typeof T=="function"&&k&&k.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:S,ERB_EXPR:A,TMPLIT_EXPR:_,DATA_ATTR:N,ARIA_ATTR:M,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:B,CUSTOM_ELEMENT:F}=XH,{IS_ALLOWED_URI:G}=XH,$=null,V=Gr({},[...WH,...i_,...a_,...s_,...HH]),K=null,ee=Gr({},[...YH,...o_,...jH,...q3]),H=Object.seal(ZH(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}})),he=null,Z=null,de=!0,re=!0,ne=!1,te=!0,Q=!1,le=!0,J=!1,ge=!1,ie=!1,Te=!1,j=!1,Ge=!1,ye=!0,$e=!1,Xe="user-content-",Ue=!0,Le=!1,Ie={},Me=null,Ae=Gr({},["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"]),ze=null,Y=Gr({},["audio","video","img","source","image","track"]),ce=null,U=Gr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ue="http://www.w3.org/1998/Math/MathML",z="http://www.w3.org/2000/svg",se="http://www.w3.org/1999/xhtml",oe=se,be=!1,pe=null,me=Gr({},[ue,z,se],n_),De=Gr({},["mi","mo","mn","ms","mtext"]),Ce=Gr({},["annotation-xml"]),Fe=Gr({},["title","style","font","a","script"]),Ye=null,xt=["application/xhtml+xml","text/html"],je="text/html",Pe=null,rt=null,We=r.createElement("form"),ut=o(function(_e){return _e instanceof RegExp||_e instanceof Function},"isRegexOrFunction"),Ut=o(function(){let _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(rt&&rt===_e)){if((!_e||typeof _e!="object")&&(_e={}),_e=Qu(_e),Ye=xt.indexOf(_e.PARSER_MEDIA_TYPE)===-1?je:_e.PARSER_MEDIA_TYPE,Pe=Ye==="application/xhtml+xml"?n_:U3,$=Ul(_e,"ALLOWED_TAGS")?Gr({},_e.ALLOWED_TAGS,Pe):V,K=Ul(_e,"ALLOWED_ATTR")?Gr({},_e.ALLOWED_ATTR,Pe):ee,pe=Ul(_e,"ALLOWED_NAMESPACES")?Gr({},_e.ALLOWED_NAMESPACES,n_):me,ce=Ul(_e,"ADD_URI_SAFE_ATTR")?Gr(Qu(U),_e.ADD_URI_SAFE_ATTR,Pe):U,ze=Ul(_e,"ADD_DATA_URI_TAGS")?Gr(Qu(Y),_e.ADD_DATA_URI_TAGS,Pe):Y,Me=Ul(_e,"FORBID_CONTENTS")?Gr({},_e.FORBID_CONTENTS,Pe):Ae,he=Ul(_e,"FORBID_TAGS")?Gr({},_e.FORBID_TAGS,Pe):Qu({}),Z=Ul(_e,"FORBID_ATTR")?Gr({},_e.FORBID_ATTR,Pe):Qu({}),Ie=Ul(_e,"USE_PROFILES")?_e.USE_PROFILES:!1,de=_e.ALLOW_ARIA_ATTR!==!1,re=_e.ALLOW_DATA_ATTR!==!1,ne=_e.ALLOW_UNKNOWN_PROTOCOLS||!1,te=_e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Q=_e.SAFE_FOR_TEMPLATES||!1,le=_e.SAFE_FOR_XML!==!1,J=_e.WHOLE_DOCUMENT||!1,Te=_e.RETURN_DOM||!1,j=_e.RETURN_DOM_FRAGMENT||!1,Ge=_e.RETURN_TRUSTED_TYPE||!1,ie=_e.FORCE_BODY||!1,ye=_e.SANITIZE_DOM!==!1,$e=_e.SANITIZE_NAMED_PROPS||!1,Ue=_e.KEEP_CONTENT!==!1,Le=_e.IN_PLACE||!1,G=_e.ALLOWED_URI_REGEXP||JH,oe=_e.NAMESPACE||se,De=_e.MATHML_TEXT_INTEGRATION_POINTS||De,Ce=_e.HTML_INTEGRATION_POINTS||Ce,H=_e.CUSTOM_ELEMENT_HANDLING||{},_e.CUSTOM_ELEMENT_HANDLING&&ut(_e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=_e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),_e.CUSTOM_ELEMENT_HANDLING&&ut(_e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=_e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),_e.CUSTOM_ELEMENT_HANDLING&&typeof _e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(H.allowCustomizedBuiltInElements=_e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Q&&(re=!1),j&&(Te=!0),Ie&&($=Gr({},HH),K=[],Ie.html===!0&&(Gr($,WH),Gr(K,YH)),Ie.svg===!0&&(Gr($,i_),Gr(K,o_),Gr(K,q3)),Ie.svgFilters===!0&&(Gr($,a_),Gr(K,o_),Gr(K,q3)),Ie.mathMl===!0&&(Gr($,s_),Gr(K,jH),Gr(K,q3))),_e.ADD_TAGS&&($===V&&($=Qu($)),Gr($,_e.ADD_TAGS,Pe)),_e.ADD_ATTR&&(K===ee&&(K=Qu(K)),Gr(K,_e.ADD_ATTR,Pe)),_e.ADD_URI_SAFE_ATTR&&Gr(ce,_e.ADD_URI_SAFE_ATTR,Pe),_e.FORBID_CONTENTS&&(Me===Ae&&(Me=Qu(Me)),Gr(Me,_e.FORBID_CONTENTS,Pe)),Ue&&($["#text"]=!0),J&&Gr($,["html","head","body"]),$.table&&(Gr($,["tbody"]),delete he.tbody),_e.TRUSTED_TYPES_POLICY){if(typeof _e.TRUSTED_TYPES_POLICY.createHTML!="function")throw u2('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof _e.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw u2('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=_e.TRUSTED_TYPES_POLICY,w=E.createHTML("")}else E===void 0&&(E=eAe(m,i)),E!==null&&typeof w=="string"&&(w=E.createHTML(""));bs&&bs(_e),rt=_e}},"_parseConfig"),Tt=Gr({},[...i_,...a_,...q6e]),Mt=Gr({},[...s_,...U6e]),mt=o(function(_e){let ot=T(_e);(!ot||!ot.tagName)&&(ot={namespaceURI:oe,tagName:"template"});let Ot=U3(_e.tagName),Dr=U3(ot.tagName);return pe[_e.namespaceURI]?_e.namespaceURI===z?ot.namespaceURI===se?Ot==="svg":ot.namespaceURI===ue?Ot==="svg"&&(Dr==="annotation-xml"||De[Dr]):!!Tt[Ot]:_e.namespaceURI===ue?ot.namespaceURI===se?Ot==="math":ot.namespaceURI===z?Ot==="math"&&Ce[Dr]:!!Mt[Ot]:_e.namespaceURI===se?ot.namespaceURI===z&&!Ce[Dr]||ot.namespaceURI===ue&&!De[Dr]?!1:!Mt[Ot]&&(Fe[Ot]||!Tt[Ot]):!!(Ye==="application/xhtml+xml"&&pe[_e.namespaceURI]):!1},"_checkValidNamespace"),at=o(function(_e){l2(e.removed,{element:_e});try{T(_e).removeChild(_e)}catch{v(_e)}},"_forceRemove"),wt=o(function(_e,ot){try{l2(e.removed,{attribute:ot.getAttributeNode(_e),from:ot})}catch{l2(e.removed,{attribute:null,from:ot})}if(ot.removeAttribute(_e),_e==="is")if(Te||j)try{at(ot)}catch{}else try{ot.setAttribute(_e,"")}catch{}},"_removeAttribute"),St=o(function(_e){let ot=null,Ot=null;if(ie)_e=""+_e;else{let Cn=UH(_e,/^[\r\n\t ]+/);Ot=Cn&&Cn[0]}Ye==="application/xhtml+xml"&&oe===se&&(_e=''+_e+"");let Dr=E?E.createHTML(_e):_e;if(oe===se)try{ot=new p().parseFromString(Dr,Ye)}catch{}if(!ot||!ot.documentElement){ot=k.createDocument(oe,"template",null);try{ot.documentElement.innerHTML=be?w:Dr}catch{}}let Rn=ot.body||ot.documentElement;return _e&&Ot&&Rn.insertBefore(r.createTextNode(Ot),Rn.childNodes[0]||null),oe===se?R.call(ot,J?"html":"body")[0]:J?ot.documentElement:Rn},"_initDocument"),bt=o(function(_e){return C.call(_e.ownerDocument||_e,_e,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),pt=o(function(_e){return _e instanceof d&&(typeof _e.nodeName!="string"||typeof _e.textContent!="string"||typeof _e.removeChild!="function"||!(_e.attributes instanceof f)||typeof _e.removeAttribute!="function"||typeof _e.setAttribute!="function"||typeof _e.namespaceURI!="string"||typeof _e.insertBefore!="function"||typeof _e.hasChildNodes!="function")},"_isClobbered"),Zr=o(function(_e){return typeof l=="function"&&_e instanceof l},"_isNode");function Lt(Dt,_e,ot){V3(Dt,Ot=>{Ot.call(e,_e,ot,rt)})}o(Lt,"_executeHooks");let Dn=o(function(_e){let ot=null;if(Lt(L.beforeSanitizeElements,_e,null),pt(_e))return at(_e),!0;let Ot=Pe(_e.nodeName);if(Lt(L.uponSanitizeElement,_e,{tagName:Ot,allowedTags:$}),le&&_e.hasChildNodes()&&!Zr(_e.firstElementChild)&&xs(/<[/\w!]/g,_e.innerHTML)&&xs(/<[/\w!]/g,_e.textContent)||_e.nodeType===f2.progressingInstruction||le&&_e.nodeType===f2.comment&&xs(/<[/\w]/g,_e.data))return at(_e),!0;if(!$[Ot]||he[Ot]){if(!he[Ot]&&mr(Ot)&&(H.tagNameCheck instanceof RegExp&&xs(H.tagNameCheck,Ot)||H.tagNameCheck instanceof Function&&H.tagNameCheck(Ot)))return!1;if(Ue&&!Me[Ot]){let Dr=T(_e)||_e.parentNode,Rn=b(_e)||_e.childNodes;if(Rn&&Dr){let Cn=Rn.length;for(let mn=Cn-1;mn>=0;--mn){let oa=y(Rn[mn],!0);oa.__removalCount=(_e.__removalCount||0)+1,Dr.insertBefore(oa,x(_e))}}}return at(_e),!0}return _e instanceof u&&!mt(_e)||(Ot==="noscript"||Ot==="noembed"||Ot==="noframes")&&xs(/<\/no(script|embed|frames)/i,_e.innerHTML)?(at(_e),!0):(Q&&_e.nodeType===f2.text&&(ot=_e.textContent,V3([S,A,_],Dr=>{ot=c2(ot,Dr," ")}),_e.textContent!==ot&&(l2(e.removed,{element:_e.cloneNode()}),_e.textContent=ot)),Lt(L.afterSanitizeElements,_e,null),!1)},"_sanitizeElements"),Hr=o(function(_e,ot,Ot){if(ye&&(ot==="id"||ot==="name")&&(Ot in r||Ot in We))return!1;if(!(re&&!Z[ot]&&xs(N,ot))){if(!(de&&xs(M,ot))){if(!K[ot]||Z[ot]){if(!(mr(_e)&&(H.tagNameCheck instanceof RegExp&&xs(H.tagNameCheck,_e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(_e))&&(H.attributeNameCheck instanceof RegExp&&xs(H.attributeNameCheck,ot)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(ot))||ot==="is"&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&xs(H.tagNameCheck,Ot)||H.tagNameCheck instanceof Function&&H.tagNameCheck(Ot))))return!1}else if(!ce[ot]){if(!xs(G,c2(Ot,B,""))){if(!((ot==="src"||ot==="xlink:href"||ot==="href")&&_e!=="script"&&$6e(Ot,"data:")===0&&ze[_e])){if(!(ne&&!xs(P,c2(Ot,B,"")))){if(Ot)return!1}}}}}}return!0},"_isValidAttribute"),mr=o(function(_e){return _e!=="annotation-xml"&&UH(_e,F)},"_isBasicCustomElement"),hr=o(function(_e){Lt(L.beforeSanitizeAttributes,_e,null);let{attributes:ot}=_e;if(!ot||pt(_e))return;let Ot={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:K,forceKeepAttr:void 0},Dr=ot.length;for(;Dr--;){let Rn=ot[Dr],{name:Cn,namespaceURI:mn,value:oa}=Rn,Co=Pe(Cn),Xa=oa,br=Cn==="value"?Xa:z6e(Xa);if(Ot.attrName=Co,Ot.attrValue=br,Ot.keepAttr=!0,Ot.forceKeepAttr=void 0,Lt(L.uponSanitizeAttribute,_e,Ot),br=Ot.attrValue,$e&&(Co==="id"||Co==="name")&&(wt(Cn,_e),br=Xe+br),le&&xs(/((--!?|])>)|<\/(style|title)/i,br)){wt(Cn,_e);continue}if(Ot.forceKeepAttr)continue;if(!Ot.keepAttr){wt(Cn,_e);continue}if(!te&&xs(/\/>/i,br)){wt(Cn,_e);continue}Q&&V3([S,A,_],Ct=>{br=c2(br,Ct," ")});let st=Pe(_e.nodeName);if(!Hr(st,Co,br)){wt(Cn,_e);continue}if(E&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!mn)switch(m.getAttributeType(st,Co)){case"TrustedHTML":{br=E.createHTML(br);break}case"TrustedScriptURL":{br=E.createScriptURL(br);break}}if(br!==Xa)try{mn?_e.setAttributeNS(mn,Cn,br):_e.setAttribute(Cn,br),pt(_e)?at(_e):qH(e.removed)}catch{wt(Cn,_e)}}Lt(L.afterSanitizeAttributes,_e,null)},"_sanitizeAttributes"),Br=o(function Dt(_e){let ot=null,Ot=bt(_e);for(Lt(L.beforeSanitizeShadowDOM,_e,null);ot=Ot.nextNode();)Lt(L.uponSanitizeShadowNode,ot,null),Dn(ot),hr(ot),ot.content instanceof a&&Dt(ot.content);Lt(L.afterSanitizeShadowDOM,_e,null)},"_sanitizeShadowDOM");return e.sanitize=function(Dt){let _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ot=null,Ot=null,Dr=null,Rn=null;if(be=!Dt,be&&(Dt=""),typeof Dt!="string"&&!Zr(Dt))if(typeof Dt.toString=="function"){if(Dt=Dt.toString(),typeof Dt!="string")throw u2("dirty is not a string, aborting")}else throw u2("toString is not a function");if(!e.isSupported)return Dt;if(ge||Ut(_e),e.removed=[],typeof Dt=="string"&&(Le=!1),Le){if(Dt.nodeName){let oa=Pe(Dt.nodeName);if(!$[oa]||he[oa])throw u2("root node is forbidden and cannot be sanitized in-place")}}else if(Dt instanceof l)ot=St(""),Ot=ot.ownerDocument.importNode(Dt,!0),Ot.nodeType===f2.element&&Ot.nodeName==="BODY"||Ot.nodeName==="HTML"?ot=Ot:ot.appendChild(Ot);else{if(!Te&&!Q&&!J&&Dt.indexOf("<")===-1)return E&&Ge?E.createHTML(Dt):Dt;if(ot=St(Dt),!ot)return Te?null:Ge?w:""}ot&&ie&&at(ot.firstChild);let Cn=bt(Le?Dt:ot);for(;Dr=Cn.nextNode();)Dn(Dr),hr(Dr),Dr.content instanceof a&&Br(Dr.content);if(Le)return Dt;if(Te){if(j)for(Rn=D.call(ot.ownerDocument);ot.firstChild;)Rn.appendChild(ot.firstChild);else Rn=ot;return(K.shadowroot||K.shadowrootmode)&&(Rn=O.call(n,Rn,!0)),Rn}let mn=J?ot.outerHTML:ot.innerHTML;return J&&$["!doctype"]&&ot.ownerDocument&&ot.ownerDocument.doctype&&ot.ownerDocument.doctype.name&&xs(eY,ot.ownerDocument.doctype.name)&&(mn=" -`+mn),Q&&V3([S,A,_],oa=>{mn=c2(mn,oa," ")}),E&&Ge?E.createHTML(mn):mn},e.setConfig=function(){let Dt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ut(Dt),ge=!0},e.clearConfig=function(){rt=null,ge=!1},e.isValidAttribute=function(Dt,_e,ot){rt||Ut({});let Ot=Pe(Dt),Dr=Pe(_e);return Hr(Ot,Dr,ot)},e.addHook=function(Dt,_e){typeof _e=="function"&&l2(L[Dt],_e)},e.removeHook=function(Dt,_e){if(_e!==void 0){let ot=B6e(L[Dt],_e);return ot===-1?void 0:F6e(L[Dt],ot,1)[0]}return qH(L[Dt])},e.removeHooks=function(Dt){L[Dt]=[]},e.removeAllHooks=function(){L=KH()},e}var QH,VH,I6e,O6e,P6e,bs,nl,ZH,l_,c_,V3,B6e,qH,l2,F6e,U3,n_,UH,c2,$6e,z6e,Ul,xs,u2,WH,i_,a_,q6e,s_,U6e,HH,YH,o_,jH,q3,W6e,H6e,Y6e,j6e,X6e,JH,K6e,Q6e,eY,Z6e,XH,f2,J6e,eAe,KH,ff,u_=I(()=>{"use strict";({entries:QH,setPrototypeOf:VH,isFrozen:I6e,getPrototypeOf:O6e,getOwnPropertyDescriptor:P6e}=Object),{freeze:bs,seal:nl,create:ZH}=Object,{apply:l_,construct:c_}=typeof Reflect<"u"&&Reflect;bs||(bs=o(function(e){return e},"freeze"));nl||(nl=o(function(e){return e},"seal"));l_||(l_=o(function(e,r,n){return e.apply(r,n)},"apply"));c_||(c_=o(function(e,r){return new e(...r)},"construct"));V3=Ts(Array.prototype.forEach),B6e=Ts(Array.prototype.lastIndexOf),qH=Ts(Array.prototype.pop),l2=Ts(Array.prototype.push),F6e=Ts(Array.prototype.splice),U3=Ts(String.prototype.toLowerCase),n_=Ts(String.prototype.toString),UH=Ts(String.prototype.match),c2=Ts(String.prototype.replace),$6e=Ts(String.prototype.indexOf),z6e=Ts(String.prototype.trim),Ul=Ts(Object.prototype.hasOwnProperty),xs=Ts(RegExp.prototype.test),u2=G6e(TypeError);o(Ts,"unapply");o(G6e,"unconstruct");o(Gr,"addToSet");o(V6e,"cleanArray");o(Qu,"clone");o(h2,"lookupGetter");WH=bs(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),i_=bs(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),a_=bs(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),q6e=bs(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),s_=bs(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),U6e=bs(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),HH=bs(["#text"]),YH=bs(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),o_=bs(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),jH=bs(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),q3=bs(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),W6e=nl(/\{\{[\w\W]*|[\w\W]*\}\}/gm),H6e=nl(/<%[\w\W]*|[\w\W]*%>/gm),Y6e=nl(/\$\{[\w\W]*/gm),j6e=nl(/^data-[\-\w.\u00B7-\uFFFF]+$/),X6e=nl(/^aria-[\-\w]+$/),JH=nl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),K6e=nl(/^(?:\w+script|data):/i),Q6e=nl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),eY=nl(/^html$/i),Z6e=nl(/^[a-z][.\w]*(-[.\w]+)+$/i),XH=Object.freeze({__proto__:null,ARIA_ATTR:X6e,ATTR_WHITESPACE:Q6e,CUSTOM_ELEMENT:Z6e,DATA_ATTR:j6e,DOCTYPE_NAME:eY,ERB_EXPR:H6e,IS_ALLOWED_URI:JH,IS_SCRIPT_OR_DATA:K6e,MUSTACHE_EXPR:W6e,TMPLIT_EXPR:Y6e}),f2={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},J6e=o(function(){return typeof window>"u"?null:window},"getGlobal"),eAe=o(function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));let a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},"_createTrustedTypesPolicy"),KH=o(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");o(tY,"createDOMPurify");ff=tY()});var Mj={};vr(Mj,{ParseError:()=>vt,SETTINGS_SCHEMA:()=>g2,__defineFunction:()=>Pt,__defineMacro:()=>fe,__defineSymbol:()=>q,__domTree:()=>Nj,__parse:()=>_j,__renderToDomTree:()=>yw,__renderToHTMLTree:()=>Rj,__setFontMetrics:()=>OY,default:()=>W7e,render:()=>J_,renderToString:()=>Aj,version:()=>Lj});function oAe(t){return String(t).replace(sAe,e=>aAe[e])}function hAe(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function vAe(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function IY(t){for(var e=0;e=rw[e]&&t<=rw[e+1])return!0;return!1}function OY(t,e){Oc[t]=e}function B_(t,e,r){if(!Oc[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Oc[e][n];if(!i&&t[0]in nY&&(n=nY[t[0]].charCodeAt(0),i=Oc[e][n]),!i&&r==="text"&&IY(n)&&(i=Oc[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function DAe(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!h_[e]){var r=h_[e]={cssEmPerMu:W3.quad[e]/18};for(var n in W3)W3.hasOwnProperty(n)&&(r[n]=W3[n][e])}return h_[e]}function sY(t){if(t instanceof js)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function IAe(t){if(t instanceof Dp)return t;throw new Error("Expected span but got "+String(t)+".")}function q(t,e,r,n,i,a){zn[t][i]={font:e,group:r,replace:n},a&&n&&(zn[t][n]=zn[t][i])}function Pt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(Z3(s,e)),s=[]),a.push(n[l]));s.length>0&&a.push(Z3(s,e));var h;r?(h=Z3(Xi(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=rh(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=_t(f.height+f.depth),f.depth&&(d.style.verticalAlign=_t(-f.depth))}return f}function YY(t){return new _p(t)}function p_(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof al&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof al&&r.text===","}else return!1}function hY(t,e,r,n,i){var a=Xs(t,r),s;a.length===1&&a[0]instanceof ws&&ar.contains(["mrow","mtable"],a[0].type)?s=a[0]:s=new yt.MathNode("mrow",a);var l=new yt.MathNode("annotation",[new yt.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new yt.MathNode("semantics",[s,l]),h=new yt.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return Ve.makeSpan([f],[h])}function _r(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function G_(t){var e=dw(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function dw(t){return t&&(t.type==="atom"||PAe.hasOwnProperty(t.type))?t:null}function QY(t,e){var r=Xi(t.body,e,!0);return f7e([t.mclass],r,e)}function ZY(t,e){var r,n=Xs(t.body,e);return t.mclass==="minner"?r=new yt.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new yt.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new yt.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function m7e(t,e,r){var n=d7e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function g7e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new vt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=m7e(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=fY()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function mw(t,e){var r=dw(t);if(r&&ar.contains(D7e,r.text))return r;throw r?new vt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new vt("Invalid delimiter type '"+t.type+"'",t)}function mY(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function Bc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";Do=class t{static{o(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},sl=class t{static{o(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,Do.range(this,e))}},vt=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,a=s.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},sAe=/[&><"']/g;o(oAe,"escape");MY=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),lAe=o(function(e){var r=MY(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),cAe=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),uAe=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),ar={contains:tAe,deflt:rAe,escape:oAe,hyphenate:iAe,getBaseElem:MY,isCharacterBox:lAe,protocolFromUrl:uAe},g2={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(hAe,"getDefaultValue");v2=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in g2)if(g2.hasOwnProperty(r)){var n=g2[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:hAe(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new vt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=ar.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Mc=class{static{o(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Ic[fAe[this.id]]}sub(){return Ic[dAe[this.id]]}fracNum(){return Ic[pAe[this.id]]}fracDen(){return Ic[mAe[this.id]]}cramp(){return Ic[gAe[this.id]]}text(){return Ic[yAe[this.id]]}isTight(){return this.size>=2}},P_=0,nw=1,sg=2,eh=3,x2=4,il=5,og=6,ks=7,Ic=[new Mc(P_,0,!1),new Mc(nw,0,!0),new Mc(sg,1,!1),new Mc(eh,1,!0),new Mc(x2,2,!1),new Mc(il,2,!0),new Mc(og,3,!1),new Mc(ks,3,!0)],fAe=[x2,il,x2,il,og,ks,og,ks],dAe=[il,il,il,il,ks,ks,ks,ks],pAe=[sg,eh,x2,il,og,ks,og,ks],mAe=[eh,eh,il,il,ks,ks,ks,ks],gAe=[nw,nw,eh,eh,il,il,ks,ks],yAe=[P_,nw,sg,eh,sg,eh,sg,eh],lr={DISPLAY:Ic[P_],TEXT:Ic[sg],SCRIPT:Ic[x2],SCRIPTSCRIPT:Ic[og]},S_=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];o(vAe,"scriptFromCodepoint");rw=[];S_.forEach(t=>t.blocks.forEach(e=>rw.push(...e)));o(IY,"supportedCodepoint");ag=80,xAe=o(function(e,r){return"M95,"+(622+e+r)+` +"use strict";var __esbuild_esm_mermaid_nm;(__esbuild_esm_mermaid_nm||={}).mermaid=(()=>{var BAe=Object.create;var u2=Object.defineProperty;var FAe=Object.getOwnPropertyDescriptor;var $Ae=Object.getOwnPropertyNames;var zAe=Object.getPrototypeOf,GAe=Object.prototype.hasOwnProperty;var o=(t,e)=>u2(t,"name",{value:e,configurable:!0});var O=(t,e)=>()=>(t&&(e=t(t=0)),e);var nr=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vr=(t,e)=>{for(var r in e)u2(t,r,{get:e[r],enumerable:!0})},z3=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $Ae(e))!GAe.call(t,i)&&i!==r&&u2(t,i,{get:()=>e[i],enumerable:!(n=FAe(e,i))||n.enumerable});return t},jr=(t,e,r)=>(z3(t,e,"default"),r&&z3(r,e,"default")),Ra=(t,e,r)=>(r=t!=null?BAe(zAe(t)):{},z3(e||!t||!t.__esModule?u2(r,"default",{value:t,enumerable:!0}):r,t)),G3=t=>z3(u2({},"__esModule",{value:!0}),t);var VAe,ag,W_,uH,V3=O(()=>{"use strict";VAe=Object.freeze({left:0,top:0,width:16,height:16}),ag=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),W_=Object.freeze({...VAe,...ag}),uH=Object.freeze({...W_,body:"",hidden:!1})});var qAe,hH,fH=O(()=>{"use strict";V3();qAe=Object.freeze({width:null,height:null}),hH=Object.freeze({...qAe,...ag})});var H_,q3,dH=O(()=>{"use strict";H_=o((t,e,r,n="")=>{let i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let l=i.pop(),u=i.pop(),h={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!q3(h)?null:h}let a=i[0],s=a.split("-");if(s.length>1){let l={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!q3(l)?null:l}if(r&&n===""){let l={provider:n,prefix:"",name:a};return e&&!q3(l,r)?null:l}return null},"stringToIcon"),q3=o((t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1,"validateIconName")});function pH(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var mH=O(()=>{"use strict";o(pH,"mergeIconTransformations")});function Y_(t,e){let r=pH(t,e);for(let n in uH)n in ag?n in t&&!(n in r)&&(r[n]=ag[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var gH=O(()=>{"use strict";V3();mH();o(Y_,"mergeIconData")});function yH(t,e){let r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;let l=n[s]&&n[s].parent,u=l&&a(l);u&&(i[s]=[l].concat(u))}return i[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var vH=O(()=>{"use strict";o(yH,"getIconsTree")});function xH(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function s(l){a=Y_(n[l]||i[l],a)}return o(s,"parse"),s(e),r.forEach(s),Y_(t,a)}function j_(t,e){if(t.icons[e])return xH(t,e,[]);let r=yH(t,[e])[e];return r?xH(t,e,r):null}var bH=O(()=>{"use strict";gH();vH();o(xH,"internalGetIconData");o(j_,"getIconData")});function X_(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;let n=t.split(UAe);if(n===null||!n.length)return t;let i=[],a=n.shift(),s=WAe.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?i.push(a):i.push(Math.ceil(l*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}var UAe,WAe,TH=O(()=>{"use strict";UAe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,WAe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(X_,"calculateSize")});function HAe(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function YAe(t,e){return t?""+t+""+e:e}function wH(t,e,r){let n=HAe(t);return YAe(n.defs,e+n.content+r)}var kH=O(()=>{"use strict";o(HAe,"splitSVGDefs");o(YAe,"mergeDefsAndContent");o(wH,"wrapSVGContent")});function K_(t,e){let r={...W_,...t},n={...hH,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,T=y.rotate;x?b?T+=2:(v.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),v.push("scale(-1 1)"),i.top=i.left=0):b&&(v.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),v.push("scale(1 -1)"),i.top=i.left=0);let E;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:E=i.height/2+i.top,v.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:v.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:E=i.width/2+i.left,v.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}T%2===1&&(i.left!==i.top&&(E=i.left,i.left=i.top,i.top=E),i.width!==i.height&&(E=i.width,i.width=i.height,i.height=E)),v.length&&(a=wH(a,'',""))});let s=n.width,l=n.height,u=i.width,h=i.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=X_(d,u/h)):(f=s==="auto"?u:s,d=l===null?X_(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{jAe(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[i.left,i.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var jAe,EH=O(()=>{"use strict";V3();fH();TH();kH();jAe=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(K_,"iconToSVG")});function Q_(t,e=KAe){let r=[],n;for(;n=XAe.exec(t);)r.push(n[1]);if(!r.length)return t;let i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(QAe++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),t=t.replace(new RegExp(i,"g"),""),t}var XAe,KAe,QAe,SH=O(()=>{"use strict";XAe=/\sid="(\S+)"/g,KAe="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),QAe=0;o(Q_,"replaceIDs")});function Z_(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}var CH=O(()=>{"use strict";o(Z_,"iconToHTML")});var AH=O(()=>{"use strict";dH();bH();EH();SH();CH()});var J_,Vn,sg=O(()=>{"use strict";J_=o((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>J_(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&e[a]!==null&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=J_(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),Vn=J_});var U3=nr((e8,t8)=>{"use strict";(function(t,e){typeof e8=="object"&&typeof t8<"u"?t8.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(e8,(function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:o(function(C){var _=["th","st","nd","rd"],D=C%100;return"["+C+(_[(D-20)%10]||_[D]||_[0])+"]"},"ordinal")},x=o(function(C,_,D){var M=String(C);return!M||M.length>=_?C:""+Array(_+1-M.length).join(D)+C},"m"),b={s:x,z:o(function(C){var _=-C.utcOffset(),D=Math.abs(_),M=Math.floor(D/60),R=D%60;return(_<=0?"+":"-")+x(M,2,"0")+":"+x(R,2,"0")},"z"),m:o(function C(_,D){if(_.date()1)return C(B[0])}else{var F=_.name;E[F]=_,R=F}return!M&&R&&(T=R),R||!M&&T},"t"),A=o(function(C,_){if(k(C))return C.clone();var D=typeof _=="object"?_:{};return D.date=C,D.args=arguments,new I(D)},"O"),L=b;L.l=S,L.i=k,L.w=function(C,_){return A(C,{locale:_.$L,utc:_.$u,x:_.$x,$offset:_.$offset})};var I=(function(){function C(D){this.$L=S(D.locale,null,!0),this.parse(D),this.$x=this.$x||D.x||{},this[w]=!0}o(C,"M");var _=C.prototype;return _.parse=function(D){this.$d=(function(M){var R=M.date,P=M.utc;if(R===null)return new Date(NaN);if(L.u(R))return new Date;if(R instanceof Date)return new Date(R);if(typeof R=="string"&&!/Z$/i.test(R)){var B=R.match(g);if(B){var F=B[2]-1||0,G=(B[7]||"0").substring(0,3);return P?new Date(Date.UTC(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,G)):new Date(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,G)}}return new Date(R)})(D),this.init()},_.init=function(){var D=this.$d;this.$y=D.getFullYear(),this.$M=D.getMonth(),this.$D=D.getDate(),this.$W=D.getDay(),this.$H=D.getHours(),this.$m=D.getMinutes(),this.$s=D.getSeconds(),this.$ms=D.getMilliseconds()},_.$utils=function(){return L},_.isValid=function(){return this.$d.toString()!==m},_.isSame=function(D,M){var R=A(D);return this.startOf(M)<=R&&R<=this.endOf(M)},_.isAfter=function(D,M){return A(D){"use strict";_H=Ra(U3(),1),eh={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},K={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},h2=o(function(t="fatal"){let e=eh.fatal;typeof t=="string"?t.toLowerCase()in eh&&(e=eh[t]):typeof t=="number"&&(e=t),K.trace=()=>{},K.debug=()=>{},K.info=()=>{},K.warn=()=>{},K.error=()=>{},K.fatal=()=>{},e<=eh.fatal&&(K.fatal=console.error?console.error.bind(console,cl("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",cl("FATAL"))),e<=eh.error&&(K.error=console.error?console.error.bind(console,cl("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",cl("ERROR"))),e<=eh.warn&&(K.warn=console.warn?console.warn.bind(console,cl("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",cl("WARN"))),e<=eh.info&&(K.info=console.info?console.info.bind(console,cl("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",cl("INFO"))),e<=eh.debug&&(K.debug=console.debug?console.debug.bind(console,cl("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",cl("DEBUG"))),e<=eh.trace&&(K.trace=console.debug?console.debug.bind(console,cl("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",cl("TRACE")))},"setLogLevel"),cl=o(t=>`%c${(0,_H.default)().format("ss.SSS")} : ${t} : `,"format")});var W3,DH,RH=O(()=>{"use strict";W3={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return W3.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return W3.hue2rgb(a,i,t)*255;case"b":return W3.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;let l=i-a,u=s>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";ZAe={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},LH=ZAe});var JAe,MH,IH=O(()=>{"use strict";JAe={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},MH=JAe});var e7e,ir,$c=O(()=>{"use strict";RH();NH();IH();e7e={channel:DH,lang:LH,unit:MH},ir=e7e});var th,Qi,f2=O(()=>{"use strict";$c();th={};for(let t=0;t<=255;t++)th[t]=ir.unit.dec2hex(t);Qi={ALL:0,RGB:1,HSL:2}});var r8,OH,PH=O(()=>{"use strict";f2();r8=class{static{o(this,"Type")}constructor(){this.type=Qi.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Qi.ALL}is(e){return this.type===e}},OH=r8});var n8,BH,FH=O(()=>{"use strict";$c();PH();f2();n8=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new OH}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Qi.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=ir.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=ir.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=ir.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=ir.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=ir.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=ir.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Qi.HSL)&&r!==void 0?r:(this._ensureHSL(),ir.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Qi.HSL)&&r!==void 0?r:(this._ensureHSL(),ir.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Qi.HSL)&&r!==void 0?r:(this._ensureHSL(),ir.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Qi.RGB)&&r!==void 0?r:(this._ensureRGB(),ir.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Qi.RGB)&&r!==void 0?r:(this._ensureRGB(),ir.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Qi.RGB)&&r!==void 0?r:(this._ensureRGB(),ir.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Qi.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Qi.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Qi.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Qi.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Qi.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Qi.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},BH=n8});var t7e,pf,d2=O(()=>{"use strict";FH();t7e=new BH({r:0,g:0,b:0,a:0},"transparent"),pf=t7e});var $H,Ap,i8=O(()=>{"use strict";d2();f2();$H={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match($H.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return pf.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${th[Math.round(e)]}${th[Math.round(r)]}${th[Math.round(n)]}${th[Math.round(i*255)]}`:`#${th[Math.round(e)]}${th[Math.round(r)]}${th[Math.round(n)]}`},"stringify")},Ap=$H});var H3,p2,zH=O(()=>{"use strict";$c();d2();H3={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:o(t=>{let e=t.match(H3.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return ir.channel.clamp.h(parseFloat(r)*.9);case"rad":return ir.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return ir.channel.clamp.h(parseFloat(r)*360)}}return ir.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(H3.re);if(!r)return;let[,n,i,a,s,l]=r;return pf.set({h:H3._hue2deg(n),s:ir.channel.clamp.s(parseFloat(i)),l:ir.channel.clamp.l(parseFloat(a)),a:s?ir.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${ir.lang.round(e)}, ${ir.lang.round(r)}%, ${ir.lang.round(n)}%, ${i})`:`hsl(${ir.lang.round(e)}, ${ir.lang.round(r)}%, ${ir.lang.round(n)}%)`},"stringify")},p2=H3});var Y3,a8,GH=O(()=>{"use strict";i8();Y3={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:o(t=>{t=t.toLowerCase();let e=Y3.colors[t];if(e)return Ap.parse(e)},"parse"),stringify:o(t=>{let e=Ap.stringify(t);for(let r in Y3.colors)if(Y3.colors[r]===e)return r},"stringify")},a8=Y3});var VH,m2,qH=O(()=>{"use strict";$c();d2();VH={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(VH.re);if(!r)return;let[,n,i,a,s,l,u,h,f]=r;return pf.set({r:ir.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:ir.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:ir.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?ir.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${ir.lang.round(e)}, ${ir.lang.round(r)}, ${ir.lang.round(n)}, ${ir.lang.round(i)})`:`rgb(${ir.lang.round(e)}, ${ir.lang.round(r)}, ${ir.lang.round(n)})`},"stringify")},m2=VH});var r7e,Zi,rh=O(()=>{"use strict";i8();zH();GH();qH();f2();r7e={format:{keyword:a8,hex:Ap,rgb:m2,rgba:m2,hsl:p2,hsla:p2},parse:o(t=>{if(typeof t!="string")return t;let e=Ap.parse(t)||m2.parse(t)||p2.parse(t)||a8.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(Qi.HSL)||t.data.r===void 0?p2.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?m2.stringify(t):Ap.stringify(t),"stringify")},Zi=r7e});var n7e,j3,s8=O(()=>{"use strict";$c();rh();n7e=o((t,e)=>{let r=Zi.parse(t);for(let n in e)r[n]=ir.channel.clamp[n](e[n]);return Zi.stringify(r)},"change"),j3=n7e});var i7e,bs,o8=O(()=>{"use strict";$c();d2();rh();s8();i7e=o((t,e,r=0,n=1)=>{if(typeof t!="number")return j3(t,{a:e});let i=pf.set({r:ir.channel.clamp.r(t),g:ir.channel.clamp.g(e),b:ir.channel.clamp.b(r),a:ir.channel.clamp.a(n)});return Zi.stringify(i)},"rgba"),bs=i7e});var a7e,_p,UH=O(()=>{"use strict";$c();rh();a7e=o((t,e)=>ir.lang.round(Zi.parse(t)[e]),"channel"),_p=a7e});var s7e,WH,HH=O(()=>{"use strict";$c();rh();s7e=o(t=>{let{r:e,g:r,b:n}=Zi.parse(t),i=.2126*ir.channel.toLinear(e)+.7152*ir.channel.toLinear(r)+.0722*ir.channel.toLinear(n);return ir.lang.round(i)},"luminance"),WH=s7e});var o7e,YH,jH=O(()=>{"use strict";HH();o7e=o(t=>WH(t)>=.5,"isLight"),YH=o7e});var l7e,Ji,XH=O(()=>{"use strict";jH();l7e=o(t=>!YH(t),"isDark"),Ji=l7e});var c7e,og,X3=O(()=>{"use strict";$c();rh();c7e=o((t,e,r)=>{let n=Zi.parse(t),i=n[e],a=ir.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Zi.stringify(n)},"adjustChannel"),og=c7e});var u7e,Lt,KH=O(()=>{"use strict";X3();u7e=o((t,e)=>og(t,"l",e),"lighten"),Lt=u7e});var h7e,Bt,QH=O(()=>{"use strict";X3();h7e=o((t,e)=>og(t,"l",-e),"darken"),Bt=h7e});var f7e,K3,ZH=O(()=>{"use strict";X3();f7e=o((t,e)=>og(t,"a",-e),"transparentize"),K3=f7e});var d7e,Fe,JH=O(()=>{"use strict";rh();s8();d7e=o((t,e)=>{let r=Zi.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return j3(t,n)},"adjust"),Fe=d7e});var p7e,eY,tY=O(()=>{"use strict";rh();o8();p7e=o((t,e,r=50)=>{let{r:n,g:i,b:a,a:s}=Zi.parse(t),{r:l,g:u,b:h,a:f}=Zi.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,T=a*y+h*v,E=s*d+f*(1-d);return bs(x,b,T,E)},"mix"),eY=p7e});var m7e,At,rY=O(()=>{"use strict";rh();tY();m7e=o((t,e=100)=>{let r=Zi.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,eY(r,t,e)},"invert"),At=m7e});var nY=O(()=>{"use strict";o8();UH();XH();KH();QH();ZH();JH();rY()});var Ys=O(()=>{"use strict";nY()});var mf,gf,g2=O(()=>{"use strict";mf="#ffffff",gf="#f2f2f2"});var zi,lg=O(()=>{"use strict";Ys();zi=o((t,e)=>e?Fe(t,{s:-40,l:10}):Fe(t,{s:-40,l:-10}),"mkBorder")});var c8,iY,aY=O(()=>{"use strict";Ys();g2();lg();c8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Fe(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Fe(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||zi(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||zi(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||zi(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||At(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||At(this.tertiaryColor),this.lineColor=this.lineColor||At(this.background),this.arrowheadColor=this.arrowheadColor||At(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?Bt(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||Bt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||At(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||Lt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||Bt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Bt(this.mainBkg,10)):(this.rowOdd=this.rowOdd||Lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||Lt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Fe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Fe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Fe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Fe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Fe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Fe(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Fe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Fe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Fe(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},iY=o(t=>{let e=new c8;return e.calculate(t),e},"getThemeVariables")});var u8,sY,oY=O(()=>{"use strict";Ys();lg();u8=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Lt(this.primaryColor,16),this.tertiaryColor=Fe(this.primaryColor,{h:-160}),this.primaryBorderColor=At(this.background),this.secondaryBorderColor=zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=zi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Lt(At("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=bs(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Bt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Bt(this.sectionBkgColor,10),this.taskBorderColor=bs(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=bs(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||Lt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Bt(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=Lt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Lt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Lt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=At(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=Fe(this.primaryColor,{h:64}),this.fillType3=Fe(this.secondaryColor,{h:64}),this.fillType4=Fe(this.primaryColor,{h:-64}),this.fillType5=Fe(this.secondaryColor,{h:-64}),this.fillType6=Fe(this.primaryColor,{h:128}),this.fillType7=Fe(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||Fe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Fe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Fe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Fe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Fe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Fe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Fe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Fe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Fe(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},sY=o(t=>{let e=new u8;return e.calculate(t),e},"getThemeVariables")});var h8,yf,y2=O(()=>{"use strict";Ys();lg();g2();h8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Fe(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Fe(this.primaryColor,{h:-160}),this.primaryBorderColor=zi(this.primaryColor,this.darkMode),this.secondaryBorderColor=zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=zi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=bs(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Fe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Fe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Fe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Fe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Fe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Fe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Fe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Fe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Fe(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Bt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Bt(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}let r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},yf=o(t=>{let e=new h8;return e.calculate(t),e},"getThemeVariables")});var f8,lY,cY=O(()=>{"use strict";Ys();g2();lg();f8=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Lt("#cde498",10),this.primaryBorderColor=zi(this.primaryColor,this.darkMode),this.secondaryBorderColor=zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=zi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.primaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=Bt(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||Fe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Fe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Fe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Fe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Fe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Fe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Fe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Fe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Fe(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Bt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Bt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},lY=o(t=>{let e=new f8;return e.calculate(t),e},"getThemeVariables")});var d8,uY,hY=O(()=>{"use strict";Ys();lg();g2();d8=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Lt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Fe(this.primaryColor,{h:-160}),this.primaryBorderColor=zi(this.primaryColor,this.darkMode),this.secondaryBorderColor=zi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=zi(this.tertiaryColor,this.darkMode),this.primaryTextColor=At(this.primaryColor),this.secondaryTextColor=At(this.secondaryColor),this.tertiaryTextColor=At(this.tertiaryColor),this.lineColor=At(this.background),this.textColor=At(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||Lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=Lt(this.contrast,55),this.border2=this.contrast,this.actorBorder=Lt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},uY=o(t=>{let e=new d8;return e.calculate(t),e},"getThemeVariables")});var ul,Q3=O(()=>{"use strict";aY();oY();y2();cY();hY();ul={base:{getThemeVariables:iY},dark:{getThemeVariables:sY},default:{getThemeVariables:yf},forest:{getThemeVariables:lY},neutral:{getThemeVariables:uY}}});var Oo,fY=O(()=>{"use strict";Oo={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},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},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:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},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}});var dY,pY,mY,gr,La=O(()=>{"use strict";Q3();fY();dY={...Oo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:ul.default.getThemeVariables(),sequence:{...Oo.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...Oo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Oo.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...Oo.flowchart,inheritDir:!1},external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Oo.pie,useWidth:984},xyChart:{...Oo.xyChart,useWidth:void 0},requirement:{...Oo.requirement,useWidth:void 0},packet:{...Oo.packet},radar:{...Oo.radar},ishikawa:{...Oo.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...Oo.venn}},pY=o((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...pY(t[n],"")]:[...r,e+n],[]),"keyify"),mY=new Set(pY(dY,"")),gr=dY});var cg,g7e,p8=O(()=>{"use strict";La();xt();cg=o(t=>{if(K.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>cg(e));return}for(let e of Object.keys(t)){if(K.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!mY.has(e)||t[e]==null){K.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){K.debug("sanitizing object",e),cg(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(K.debug("sanitizing css option",e),t[e]=g7e(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}K.debug("After sanitization",t)}},"sanitizeDirective"),g7e=o(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";sg();xt();Q3();La();p8();vf=Object.freeze(gr),Xs=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),js=Vn({},vf),Dp=[],v2=Vn({},vf),J3=o((t,e)=>{let r=Vn({},t),n={};for(let i of e)xY(i),n=Vn(n,i);if(r=Vn(r,n),n.theme&&n.theme in ul){let i=Vn({},Z3),a=Vn(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in ul&&(r.themeVariables=ul[r.theme].getThemeVariables(a))}return v2=r,wY(v2),v2},"updateCurrentConfig"),m8=o(t=>(js=Vn({},vf),js=Vn(js,t),t.theme&&ul[t.theme]&&(js.themeVariables=ul[t.theme].getThemeVariables(t.themeVariables)),J3(js,Dp),js),"setSiteConfig"),yY=o(t=>{Z3=Vn({},t)},"saveConfigFromInitialize"),vY=o(t=>(js=Vn(js,t),J3(js,Dp),js),"updateSiteConfig"),g8=o(()=>Vn({},js),"getSiteConfig"),ew=o(t=>(wY(t),Vn(v2,t),Zt()),"setConfig"),Zt=o(()=>Vn({},v2),"getConfig"),xY=o(t=>{t&&(["secure",...js.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(K.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&xY(t[e])}))},"sanitize"),bY=o(t=>{cg(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Dp.push(t),J3(js,Dp)},"addDirective"),x2=o((t=js)=>{Dp=[],J3(t,Dp)},"reset"),y7e={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."},gY={},TY=o(t=>{gY[t]||(K.warn(y7e[t]),gY[t]=!0)},"issueWarning"),wY=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&TY("LAZY_LOAD_DEPRECATED")},"checkConfig"),kY=o(()=>{let t={};Z3&&(t=Vn(t,Z3));for(let e of Dp)t=Vn(t,e);return t},"getUserDefinedConfig"),Sr=o(t=>(t.flowchart?.htmlLabels!=null&&TY("FLOWCHART_HTML_LABELS_DEPRECATED"),Xs(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels")});function ks(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:nw;EY&&EY(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let a=r(i);a!==i&&(v7e(e)||(e[n]=a),i=a)}t[i]=!0}return t}function C7e(t){for(let e=0;e0&&arguments[0]!==void 0?arguments[0]:B7e(),e=o(mt=>OY(mt),"DOMPurify");if(e.version="3.3.1",e.removed=[],!t||!t.document||t.document.nodeType!==E2.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t,n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:u,NodeFilter:h,NamedNodeMap:f=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:m}=t,g=u.prototype,y=k2(g,"cloneNode"),v=k2(g,"remove"),x=k2(g,"nextSibling"),b=k2(g,"childNodes"),T=k2(g,"parentNode");if(typeof s=="function"){let mt=r.createElement("template");mt.content&&mt.content.ownerDocument&&(r=mt.content.ownerDocument)}let E,w="",{implementation:k,createNodeIterator:S,createDocumentFragment:A,getElementsByTagName:L}=r,{importNode:I}=n,N=LY();e.isSupported=typeof NY=="function"&&typeof T=="function"&&k&&k.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:C,ERB_EXPR:_,TMPLIT_EXPR:D,DATA_ATTR:M,ARIA_ATTR:R,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:B,CUSTOM_ELEMENT:F}=RY,{IS_ALLOWED_URI:G}=RY,$=null,V=Xr({},[...CY,...x8,...b8,...T8,...AY]),X=null,Q=Xr({},[..._Y,...w8,...DY,...rw]),H=Object.seal(k8(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}})),ie=null,Y=null,le=Object.seal(k8(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),ee=!0,J=!0,te=!1,Z=!0,xe=!1,de=!0,Se=!1,Me=!1,ke=!1,we=!1,_e=!1,$e=!1,fe=!0,Ke=!1,Te="user-content-",Be=!0,Ue=!1,Ge={},Ne=null,We=Xr({},["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"]),j=null,ae=Xr({},["audio","video","img","source","image","track"]),U=null,ce=Xr({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),z="http://www.w3.org/1998/Math/MathML",ne="http://www.w3.org/2000/svg",se="http://www.w3.org/1999/xhtml",be=se,pe=!1,me=null,Re=Xr({},[z,ne,se],y8),ge=Xr({},["mi","mo","mn","ms","mtext"]),Ie=Xr({},["annotation-xml"]),qe=Xr({},["title","style","font","a","script"]),Pe=null,Xe=["application/xhtml+xml","text/html"],oe="text/html",et=null,he=null,ot=r.createElement("form"),Dt=o(function(Le){return Le instanceof RegExp||Le instanceof Function},"isRegexOrFunction"),It=o(function(){let Le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(he&&he===Le)){if((!Le||typeof Le!="object")&&(Le={}),Le=zc(Le),Pe=Xe.indexOf(Le.PARSER_MEDIA_TYPE)===-1?oe:Le.PARSER_MEDIA_TYPE,et=Pe==="application/xhtml+xml"?y8:nw,$=Kl(Le,"ALLOWED_TAGS")?Xr({},Le.ALLOWED_TAGS,et):V,X=Kl(Le,"ALLOWED_ATTR")?Xr({},Le.ALLOWED_ATTR,et):Q,me=Kl(Le,"ALLOWED_NAMESPACES")?Xr({},Le.ALLOWED_NAMESPACES,y8):Re,U=Kl(Le,"ADD_URI_SAFE_ATTR")?Xr(zc(ce),Le.ADD_URI_SAFE_ATTR,et):ce,j=Kl(Le,"ADD_DATA_URI_TAGS")?Xr(zc(ae),Le.ADD_DATA_URI_TAGS,et):ae,Ne=Kl(Le,"FORBID_CONTENTS")?Xr({},Le.FORBID_CONTENTS,et):We,ie=Kl(Le,"FORBID_TAGS")?Xr({},Le.FORBID_TAGS,et):zc({}),Y=Kl(Le,"FORBID_ATTR")?Xr({},Le.FORBID_ATTR,et):zc({}),Ge=Kl(Le,"USE_PROFILES")?Le.USE_PROFILES:!1,ee=Le.ALLOW_ARIA_ATTR!==!1,J=Le.ALLOW_DATA_ATTR!==!1,te=Le.ALLOW_UNKNOWN_PROTOCOLS||!1,Z=Le.ALLOW_SELF_CLOSE_IN_ATTR!==!1,xe=Le.SAFE_FOR_TEMPLATES||!1,de=Le.SAFE_FOR_XML!==!1,Se=Le.WHOLE_DOCUMENT||!1,we=Le.RETURN_DOM||!1,_e=Le.RETURN_DOM_FRAGMENT||!1,$e=Le.RETURN_TRUSTED_TYPE||!1,ke=Le.FORCE_BODY||!1,fe=Le.SANITIZE_DOM!==!1,Ke=Le.SANITIZE_NAMED_PROPS||!1,Be=Le.KEEP_CONTENT!==!1,Ue=Le.IN_PLACE||!1,G=Le.ALLOWED_URI_REGEXP||MY,be=Le.NAMESPACE||se,ge=Le.MATHML_TEXT_INTEGRATION_POINTS||ge,Ie=Le.HTML_INTEGRATION_POINTS||Ie,H=Le.CUSTOM_ELEMENT_HANDLING||{},Le.CUSTOM_ELEMENT_HANDLING&&Dt(Le.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=Le.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Le.CUSTOM_ELEMENT_HANDLING&&Dt(Le.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=Le.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Le.CUSTOM_ELEMENT_HANDLING&&typeof Le.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(H.allowCustomizedBuiltInElements=Le.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),xe&&(J=!1),_e&&(we=!0),Ge&&($=Xr({},AY),X=[],Ge.html===!0&&(Xr($,CY),Xr(X,_Y)),Ge.svg===!0&&(Xr($,x8),Xr(X,w8),Xr(X,rw)),Ge.svgFilters===!0&&(Xr($,b8),Xr(X,w8),Xr(X,rw)),Ge.mathMl===!0&&(Xr($,T8),Xr(X,DY),Xr(X,rw))),Le.ADD_TAGS&&(typeof Le.ADD_TAGS=="function"?le.tagCheck=Le.ADD_TAGS:($===V&&($=zc($)),Xr($,Le.ADD_TAGS,et))),Le.ADD_ATTR&&(typeof Le.ADD_ATTR=="function"?le.attributeCheck=Le.ADD_ATTR:(X===Q&&(X=zc(X)),Xr(X,Le.ADD_ATTR,et))),Le.ADD_URI_SAFE_ATTR&&Xr(U,Le.ADD_URI_SAFE_ATTR,et),Le.FORBID_CONTENTS&&(Ne===We&&(Ne=zc(Ne)),Xr(Ne,Le.FORBID_CONTENTS,et)),Le.ADD_FORBID_CONTENTS&&(Ne===We&&(Ne=zc(Ne)),Xr(Ne,Le.ADD_FORBID_CONTENTS,et)),Be&&($["#text"]=!0),Se&&Xr($,["html","head","body"]),$.table&&(Xr($,["tbody"]),delete ie.tbody),Le.TRUSTED_TYPES_POLICY){if(typeof Le.TRUSTED_TYPES_POLICY.createHTML!="function")throw w2('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Le.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw w2('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=Le.TRUSTED_TYPES_POLICY,w=E.createHTML("")}else E===void 0&&(E=F7e(m,i)),E!==null&&typeof w=="string"&&(w=E.createHTML(""));ws&&ws(Le),he=Le}},"_parseConfig"),wt=Xr({},[...x8,...b8,...A7e]),Rt=Xr({},[...T8,..._7e]),it=o(function(Le){let ct=T(Le);(!ct||!ct.tagName)&&(ct={namespaceURI:be,tagName:"template"});let St=nw(Le.tagName),Mr=nw(ct.tagName);return me[Le.namespaceURI]?Le.namespaceURI===ne?ct.namespaceURI===se?St==="svg":ct.namespaceURI===z?St==="svg"&&(Mr==="annotation-xml"||ge[Mr]):!!wt[St]:Le.namespaceURI===z?ct.namespaceURI===se?St==="math":ct.namespaceURI===ne?St==="math"&&Ie[Mr]:!!Rt[St]:Le.namespaceURI===se?ct.namespaceURI===ne&&!Ie[Mr]||ct.namespaceURI===z&&!ge[Mr]?!1:!Rt[St]&&(qe[St]||!wt[St]):!!(Pe==="application/xhtml+xml"&&me[Le.namespaceURI]):!1},"_checkValidNamespace"),at=o(function(Le){b2(e.removed,{element:Le});try{T(Le).removeChild(Le)}catch{v(Le)}},"_forceRemove"),Ct=o(function(Le,ct){try{b2(e.removed,{attribute:ct.getAttributeNode(Le),from:ct})}catch{b2(e.removed,{attribute:null,from:ct})}if(ct.removeAttribute(Le),Le==="is")if(we||_e)try{at(ct)}catch{}else try{ct.setAttribute(Le,"")}catch{}},"_removeAttribute"),yt=o(function(Le){let ct=null,St=null;if(ke)Le=""+Le;else{let cn=v8(Le,/^[\r\n\t ]+/);St=cn&&cn[0]}Pe==="application/xhtml+xml"&&be===se&&(Le=''+Le+"");let Mr=E?E.createHTML(Le):Le;if(be===se)try{ct=new p().parseFromString(Mr,Pe)}catch{}if(!ct||!ct.documentElement){ct=k.createDocument(be,"template",null);try{ct.documentElement.innerHTML=pe?w:Mr}catch{}}let tn=ct.body||ct.documentElement;return Le&&St&&tn.insertBefore(r.createTextNode(St),tn.childNodes[0]||null),be===se?L.call(ct,Se?"html":"body")[0]:Se?ct.documentElement:tn},"_initDocument"),dt=o(function(Le){return S.call(Le.ownerDocument||Le,Le,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),Ht=o(function(Le){return Le instanceof d&&(typeof Le.nodeName!="string"||typeof Le.textContent!="string"||typeof Le.removeChild!="function"||!(Le.attributes instanceof f)||typeof Le.removeAttribute!="function"||typeof Le.setAttribute!="function"||typeof Le.namespaceURI!="string"||typeof Le.insertBefore!="function"||typeof Le.hasChildNodes!="function")},"_isClobbered"),cr=o(function(Le){return typeof l=="function"&&Le instanceof l},"_isNode");function Kt(mt,Le,ct){tw(mt,St=>{St.call(e,Le,ct,he)})}o(Kt,"_executeHooks");let kr=o(function(Le){let ct=null;if(Kt(N.beforeSanitizeElements,Le,null),Ht(Le))return at(Le),!0;let St=et(Le.nodeName);if(Kt(N.uponSanitizeElement,Le,{tagName:St,allowedTags:$}),de&&Le.hasChildNodes()&&!cr(Le.firstElementChild)&&Ts(/<[/\w!]/g,Le.innerHTML)&&Ts(/<[/\w!]/g,Le.textContent)||Le.nodeType===E2.progressingInstruction||de&&Le.nodeType===E2.comment&&Ts(/<[/\w]/g,Le.data))return at(Le),!0;if(!(le.tagCheck instanceof Function&&le.tagCheck(St))&&(!$[St]||ie[St])){if(!ie[St]&&tr(St)&&(H.tagNameCheck instanceof RegExp&&Ts(H.tagNameCheck,St)||H.tagNameCheck instanceof Function&&H.tagNameCheck(St)))return!1;if(Be&&!Ne[St]){let Mr=T(Le)||Le.parentNode,tn=b(Le)||Le.childNodes;if(tn&&Mr){let cn=tn.length;for(let Cr=cn-1;Cr>=0;--Cr){let Ki=y(tn[Cr],!0);Ki.__removalCount=(Le.__removalCount||0)+1,Mr.insertBefore(Ki,x(Le))}}}return at(Le),!0}return Le instanceof u&&!it(Le)||(St==="noscript"||St==="noembed"||St==="noframes")&&Ts(/<\/no(script|embed|frames)/i,Le.innerHTML)?(at(Le),!0):(xe&&Le.nodeType===E2.text&&(ct=Le.textContent,tw([C,_,D],Mr=>{ct=T2(ct,Mr," ")}),Le.textContent!==ct&&(b2(e.removed,{element:Le.cloneNode()}),Le.textContent=ct)),Kt(N.afterSanitizeElements,Le,null),!1)},"_sanitizeElements"),ur=o(function(Le,ct,St){if(fe&&(ct==="id"||ct==="name")&&(St in r||St in ot))return!1;if(!(J&&!Y[ct]&&Ts(M,ct))){if(!(ee&&Ts(R,ct))){if(!(le.attributeCheck instanceof Function&&le.attributeCheck(ct,Le))){if(!X[ct]||Y[ct]){if(!(tr(Le)&&(H.tagNameCheck instanceof RegExp&&Ts(H.tagNameCheck,Le)||H.tagNameCheck instanceof Function&&H.tagNameCheck(Le))&&(H.attributeNameCheck instanceof RegExp&&Ts(H.attributeNameCheck,ct)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(ct,Le))||ct==="is"&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&Ts(H.tagNameCheck,St)||H.tagNameCheck instanceof Function&&H.tagNameCheck(St))))return!1}else if(!U[ct]){if(!Ts(G,T2(St,B,""))){if(!((ct==="src"||ct==="xlink:href"||ct==="href")&&Le!=="script"&&k7e(St,"data:")===0&&j[Le])){if(!(te&&!Ts(P,T2(St,B,"")))){if(St)return!1}}}}}}}return!0},"_isValidAttribute"),tr=o(function(Le){return Le!=="annotation-xml"&&v8(Le,F)},"_isBasicCustomElement"),hr=o(function(Le){Kt(N.beforeSanitizeAttributes,Le,null);let{attributes:ct}=Le;if(!ct||Ht(Le))return;let St={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0},Mr=ct.length;for(;Mr--;){let tn=ct[Mr],{name:cn,namespaceURI:Cr,value:Ki}=tn,Da=et(cn),Dn=Ki,Pt=cn==="value"?Dn:E7e(Dn);if(St.attrName=Da,St.attrValue=Pt,St.keepAttr=!0,St.forceKeepAttr=void 0,Kt(N.uponSanitizeAttribute,Le,St),Pt=St.attrValue,Ke&&(Da==="id"||Da==="name")&&(Ct(cn,Le),Pt=Te+Pt),de&&Ts(/((--!?|])>)|<\/(style|title|textarea)/i,Pt)){Ct(cn,Le);continue}if(Da==="attributename"&&v8(Pt,"href")){Ct(cn,Le);continue}if(St.forceKeepAttr)continue;if(!St.keepAttr){Ct(cn,Le);continue}if(!Z&&Ts(/\/>/i,Pt)){Ct(cn,Le);continue}xe&&tw([C,_,D],Vt=>{Pt=T2(Pt,Vt," ")});let Tt=et(Le.nodeName);if(!ur(Tt,Da,Pt)){Ct(cn,Le);continue}if(E&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Cr)switch(m.getAttributeType(Tt,Da)){case"TrustedHTML":{Pt=E.createHTML(Pt);break}case"TrustedScriptURL":{Pt=E.createScriptURL(Pt);break}}if(Pt!==Dn)try{Cr?Le.setAttributeNS(Cr,cn,Pt):Le.setAttribute(cn,Pt),Ht(Le)?at(Le):SY(e.removed)}catch{Ct(cn,Le)}}Kt(N.afterSanitizeAttributes,Le,null)},"_sanitizeAttributes"),_n=o(function mt(Le){let ct=null,St=dt(Le);for(Kt(N.beforeSanitizeShadowDOM,Le,null);ct=St.nextNode();)Kt(N.uponSanitizeShadowNode,ct,null),kr(ct),hr(ct),ct.content instanceof a&&mt(ct.content);Kt(N.afterSanitizeShadowDOM,Le,null)},"_sanitizeShadowDOM");return e.sanitize=function(mt){let Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ct=null,St=null,Mr=null,tn=null;if(pe=!mt,pe&&(mt=""),typeof mt!="string"&&!cr(mt))if(typeof mt.toString=="function"){if(mt=mt.toString(),typeof mt!="string")throw w2("dirty is not a string, aborting")}else throw w2("toString is not a function");if(!e.isSupported)return mt;if(Me||It(Le),e.removed=[],typeof mt=="string"&&(Ue=!1),Ue){if(mt.nodeName){let Ki=et(mt.nodeName);if(!$[Ki]||ie[Ki])throw w2("root node is forbidden and cannot be sanitized in-place")}}else if(mt instanceof l)ct=yt(""),St=ct.ownerDocument.importNode(mt,!0),St.nodeType===E2.element&&St.nodeName==="BODY"||St.nodeName==="HTML"?ct=St:ct.appendChild(St);else{if(!we&&!xe&&!Se&&mt.indexOf("<")===-1)return E&&$e?E.createHTML(mt):mt;if(ct=yt(mt),!ct)return we?null:$e?w:""}ct&&ke&&at(ct.firstChild);let cn=dt(Ue?mt:ct);for(;Mr=cn.nextNode();)kr(Mr),hr(Mr),Mr.content instanceof a&&_n(Mr.content);if(Ue)return mt;if(we){if(_e)for(tn=A.call(ct.ownerDocument);ct.firstChild;)tn.appendChild(ct.firstChild);else tn=ct;return(X.shadowroot||X.shadowrootmode)&&(tn=I.call(n,tn,!0)),tn}let Cr=Se?ct.outerHTML:ct.innerHTML;return Se&&$["!doctype"]&&ct.ownerDocument&&ct.ownerDocument.doctype&&ct.ownerDocument.doctype.name&&Ts(IY,ct.ownerDocument.doctype.name)&&(Cr=" +`+Cr),xe&&tw([C,_,D],Ki=>{Cr=T2(Cr,Ki," ")}),E&&$e?E.createHTML(Cr):Cr},e.setConfig=function(){let mt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};It(mt),Me=!0},e.clearConfig=function(){he=null,Me=!1},e.isValidAttribute=function(mt,Le,ct){he||It({});let St=et(mt),Mr=et(Le);return ur(St,Mr,ct)},e.addHook=function(mt,Le){typeof Le=="function"&&b2(N[mt],Le)},e.removeHook=function(mt,Le){if(Le!==void 0){let ct=T7e(N[mt],Le);return ct===-1?void 0:w7e(N[mt],ct,1)[0]}return SY(N[mt])},e.removeHooks=function(mt){N[mt]=[]},e.removeAllHooks=function(){N=LY()},e}var NY,EY,v7e,x7e,b7e,ws,hl,k8,E8,S8,tw,T7e,SY,b2,w7e,nw,y8,v8,T2,k7e,E7e,Kl,Ts,w2,CY,x8,b8,A7e,T8,_7e,AY,_Y,w8,DY,rw,D7e,R7e,L7e,N7e,M7e,MY,I7e,O7e,IY,P7e,RY,E2,B7e,F7e,LY,fl,S2=O(()=>{"use strict";({entries:NY,setPrototypeOf:EY,isFrozen:v7e,getPrototypeOf:x7e,getOwnPropertyDescriptor:b7e}=Object),{freeze:ws,seal:hl,create:k8}=Object,{apply:E8,construct:S8}=typeof Reflect<"u"&&Reflect;ws||(ws=o(function(e){return e},"freeze"));hl||(hl=o(function(e){return e},"seal"));E8||(E8=o(function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a1?r-1:0),i=1;i/gm),L7e=hl(/\$\{[\w\W]*/gm),N7e=hl(/^data-[\-\w.\u00B7-\uFFFF]+$/),M7e=hl(/^aria-[\-\w]+$/),MY=hl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),I7e=hl(/^(?:\w+script|data):/i),O7e=hl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),IY=hl(/^html$/i),P7e=hl(/^[a-z][.\w]*(-[.\w]+)+$/i),RY=Object.freeze({__proto__:null,ARIA_ATTR:M7e,ATTR_WHITESPACE:O7e,CUSTOM_ELEMENT:P7e,DATA_ATTR:N7e,DOCTYPE_NAME:IY,ERB_EXPR:R7e,IS_ALLOWED_URI:MY,IS_SCRIPT_OR_DATA:I7e,MUSTACHE_EXPR:D7e,TMPLIT_EXPR:L7e}),E2={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},B7e=o(function(){return typeof window>"u"?null:window},"getGlobal"),F7e=o(function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));let a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},"_createTrustedTypesPolicy"),LY=o(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");o(OY,"createDOMPurify");fl=OY()});var dX={};vr(dX,{ParseError:()=>bt,SETTINGS_SCHEMA:()=>D2,__defineFunction:()=>Ot,__defineMacro:()=>ue,__defineSymbol:()=>q,__domTree:()=>fX,__parse:()=>lX,__renderToDomTree:()=>Rw,__renderToHTMLTree:()=>uX,__setFontMetrics:()=>mj,default:()=>_8e,render:()=>pD,renderToString:()=>oX,version:()=>hX});function U7e(t){return String(t).replace(q7e,e=>V7e[e])}function j7e(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function t_e(t){for(var e=0;e<$8.length;e++)for(var r=$8[e],n=0;n=i[0]&&t<=i[1])return r.name}return null}function pj(t){for(var e=0;e=mw[e]&&t<=mw[e+1])return!0;return!1}function mj(t,e){qc[t]=e}function Z8(t,e,r){if(!qc[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=qc[e][n];if(!i&&t[0]in BY&&(n=BY[t[0]].charCodeAt(0),i=qc[e][n]),!i&&r==="text"&&pj(n)&&(i=qc[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function f_e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!C8[e]){var r=C8[e]={cssEmPerMu:iw.quad[e]/18};for(var n in iw)iw.hasOwnProperty(n)&&(r[n]=iw[n][e])}return C8[e]}function zY(t){if(t instanceof Zs)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function y_e(t){if(t instanceof Np)return t;throw new Error("Expected span but got "+String(t)+".")}function q(t,e,r,n,i,a){qn[t][i]={font:e,group:r,replace:n},a&&n&&(qn[t][n]=qn[t][i])}function Ot(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(hw(s,e)),s=[]),a.push(n[l]));s.length>0&&a.push(hw(s,e));var h;r?(h=hw(ea(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=oh(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=_t(f.height+f.depth),f.depth&&(d.style.verticalAlign=_t(-f.depth))}return f}function Aj(t){return new Lp(t)}function D8(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof pl&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof pl&&r.text===","}else return!1}function WY(t,e,r,n,i){var a=Js(t,r),s;a.length===1&&a[0]instanceof Es&&["mrow","mtable"].includes(a[0].type)?s=a[0]:s=new vt.MathNode("mrow",a);var l=new vt.MathNode("annotation",[new vt.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new vt.MathNode("semantics",[s,l]),h=new vt.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return He.makeSpan([f],[h])}function Ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function rD(t){var e=Cw(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Cw(t){return t&&(t.type==="atom"||x_e.hasOwnProperty(t.type))?t:null}function Lj(t,e){var r=ea(t.body,e,!0);return X_e([t.mclass],r,e)}function Nj(t,e){var r,n=Js(t.body,e);return t.mclass==="minner"?r=new vt.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new vt.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new vt.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function Z_e(t,e,r){var n=K_e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function J_e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new bt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=Z_e(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=HY()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function _w(t,e){var r=Cw(t);if(r&&f8e.includes(r.text))return r;throw r?new bt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new bt("Invalid delimiter type '"+t.type+"'",t)}function XY(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function Wc(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";Qs=class t{static{o(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},Po=class t{static{o(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,Qs.range(this,e))}},bt=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,a=s.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},q7e=/[&><"']/g;o(U7e,"escape");dj=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),W7e=o(function(e){var r=dj(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),H7e=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),Y7e=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),un={deflt:$7e,escape:U7e,hyphenate:G7e,getBaseElem:dj,isCharacterBox:W7e,protocolFromUrl:Y7e},D2={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(j7e,"getDefaultValue");L2=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in D2)if(D2.hasOwnProperty(r)){var n=D2[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:j7e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new bt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=un.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Gc=class{static{o(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Vc[X7e[this.id]]}sub(){return Vc[K7e[this.id]]}fracNum(){return Vc[Q7e[this.id]]}fracDen(){return Vc[Z7e[this.id]]}cramp(){return Vc[J7e[this.id]]}text(){return Vc[e_e[this.id]]}isTight(){return this.size>=2}},Q8=0,gw=1,fg=2,ah=3,N2=4,dl=5,dg=6,Ss=7,Vc=[new Gc(Q8,0,!1),new Gc(gw,0,!0),new Gc(fg,1,!1),new Gc(ah,1,!0),new Gc(N2,2,!1),new Gc(dl,2,!0),new Gc(dg,3,!1),new Gc(Ss,3,!0)],X7e=[N2,dl,N2,dl,dg,Ss,dg,Ss],K7e=[dl,dl,dl,dl,Ss,Ss,Ss,Ss],Q7e=[fg,ah,N2,dl,dg,Ss,dg,Ss],Z7e=[ah,ah,dl,dl,Ss,Ss,Ss,Ss],J7e=[gw,gw,ah,ah,dl,dl,Ss,Ss],e_e=[Q8,gw,fg,ah,fg,ah,fg,ah],dr={DISPLAY:Vc[Q8],TEXT:Vc[fg],SCRIPT:Vc[N2],SCRIPTSCRIPT:Vc[dg]},$8=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];o(t_e,"scriptFromCodepoint");mw=[];$8.forEach(t=>t.blocks.forEach(e=>mw.push(...e)));o(pj,"supportedCodepoint");hg=80,r_e=o(function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -10,7 +10,7 @@ c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),bAe=o(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),n_e=o(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` @@ -20,7 +20,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5, c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),TAe=o(function(e,r){return"M983 "+(10+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),i_e=o(function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 @@ -29,7 +29,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),wAe=o(function(e,r){return"M424,"+(2398+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),a_e=o(function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 @@ -39,18 +39,18 @@ v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),kAe=o(function(e,r){return"M473,"+(2713+e+r)+` +h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),s_e=o(function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),SAe=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),EAe=o(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),o_e=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),l_e=o(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),CAe=o(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=xAe(r,ag);break;case"sqrtSize1":i=bAe(r,ag);break;case"sqrtSize2":i=TAe(r,ag);break;case"sqrtSize3":i=wAe(r,ag);break;case"sqrtSize4":i=kAe(r,ag);break;case"sqrtTall":i=EAe(r,ag,n)}return i},"sqrtPath"),AAe=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),rY={doubleleftarrow:`M262 157 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),c_e=o(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=r_e(r,hg);break;case"sqrtSize1":i=n_e(r,hg);break;case"sqrtSize2":i=i_e(r,hg);break;case"sqrtSize3":i=a_e(r,hg);break;case"sqrtSize4":i=s_e(r,hg);break;case"sqrtTall":i=l_e(r,hg,n)}return i},"sqrtPath"),u_e=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),PY={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 @@ -225,7 +225,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z` 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`},_Ae=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},h_e=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 @@ -253,24 +253,24 @@ 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 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),_p=class{static{o(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return ar.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},Oc={"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]}},W3={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]},nY={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(OY,"setFontMetrics");o(B_,"getCharacterMetrics");h_={};o(DAe,"getGlobalMetrics");RAe=[[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]],iY=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],aY=o(function(e,r){return r.size<2?e:RAe[e-1][r.size-1]},"sizeAtStyle"),iw=class t{static{o(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=iY[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:aY(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:iY[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=aY(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=DAe(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};iw.BASESIZE=6;E_={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},LAe={ex:!0,em:!0,mu:!0},PY=o(function(e){return typeof e!="string"&&(e=e.unit),e in E_||e in LAe||e==="ex"},"validUnit"),mi=o(function(e,r){var n;if(e.unit in E_)n=E_[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new vt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),_t=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),mf=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),BY=o(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),FY=o(function(e){var r=document.createElement(e);r.className=mf(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,$Y=o(function(e){var r="<"+e;this.classes.length&&(r+=' class="'+ar.escape(mf(this.classes))+'"');var n="";for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=ar.hyphenate(i)+":"+this.style[i]+";");n&&(r+=' style="'+ar.escape(n)+'"');for(var a in this.attributes)if(this.attributes.hasOwnProperty(a)){if(NAe.test(a))throw new vt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+ar.escape(this.attributes[a])+'"'}r+=">";for(var s=0;s",r},"toMarkup"),Dp=class{static{o(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,BY.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return ar.contains(this.classes,e)}toNode(){return FY.call(this,"span")}toMarkup(){return $Y.call(this,"span")}},b2=class{static{o(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,BY.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return ar.contains(this.classes,e)}toNode(){return FY.call(this,"a")}toMarkup(){return $Y.call(this,"a")}},C_=class{static{o(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return ar.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+ar.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=_t(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=mf(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=ar.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+ar.escape(n)+'"');var a=ar.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},Hl=class{static{o(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},T2=class{static{o(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);q(W,ae,Ee,"\u2208","\\in",!0);q(W,ae,Ee,"\uE020","\\@not");q(W,ae,Ee,"\u2282","\\subset",!0);q(W,ae,Ee,"\u2283","\\supset",!0);q(W,ae,Ee,"\u2286","\\subseteq",!0);q(W,ae,Ee,"\u2287","\\supseteq",!0);q(W,Se,Ee,"\u2288","\\nsubseteq",!0);q(W,Se,Ee,"\u2289","\\nsupseteq",!0);q(W,ae,Ee,"\u22A8","\\models");q(W,ae,Ee,"\u2190","\\leftarrow",!0);q(W,ae,Ee,"\u2264","\\le");q(W,ae,Ee,"\u2264","\\leq",!0);q(W,ae,Ee,"<","\\lt",!0);q(W,ae,Ee,"\u2192","\\rightarrow",!0);q(W,ae,Ee,"\u2192","\\to");q(W,Se,Ee,"\u2271","\\ngeq",!0);q(W,Se,Ee,"\u2270","\\nleq",!0);q(W,ae,ih,"\xA0","\\ ");q(W,ae,ih,"\xA0","\\space");q(W,ae,ih,"\xA0","\\nobreakspace");q(ht,ae,ih,"\xA0","\\ ");q(ht,ae,ih,"\xA0"," ");q(ht,ae,ih,"\xA0","\\space");q(ht,ae,ih,"\xA0","\\nobreakspace");q(W,ae,ih,null,"\\nobreak");q(W,ae,ih,null,"\\allowbreak");q(W,ae,hw,",",",");q(W,ae,hw,";",";");q(W,Se,Ft,"\u22BC","\\barwedge",!0);q(W,Se,Ft,"\u22BB","\\veebar",!0);q(W,ae,Ft,"\u2299","\\odot",!0);q(W,ae,Ft,"\u2295","\\oplus",!0);q(W,ae,Ft,"\u2297","\\otimes",!0);q(W,ae,Ne,"\u2202","\\partial",!0);q(W,ae,Ft,"\u2298","\\oslash",!0);q(W,Se,Ft,"\u229A","\\circledcirc",!0);q(W,Se,Ft,"\u22A1","\\boxdot",!0);q(W,ae,Ft,"\u25B3","\\bigtriangleup");q(W,ae,Ft,"\u25BD","\\bigtriangledown");q(W,ae,Ft,"\u2020","\\dagger");q(W,ae,Ft,"\u22C4","\\diamond");q(W,ae,Ft,"\u22C6","\\star");q(W,ae,Ft,"\u25C3","\\triangleleft");q(W,ae,Ft,"\u25B9","\\triangleright");q(W,ae,Ro,"{","\\{");q(ht,ae,Ne,"{","\\{");q(ht,ae,Ne,"{","\\textbraceleft");q(W,ae,Ss,"}","\\}");q(ht,ae,Ne,"}","\\}");q(ht,ae,Ne,"}","\\textbraceright");q(W,ae,Ro,"{","\\lbrace");q(W,ae,Ss,"}","\\rbrace");q(W,ae,Ro,"[","\\lbrack",!0);q(ht,ae,Ne,"[","\\lbrack",!0);q(W,ae,Ss,"]","\\rbrack",!0);q(ht,ae,Ne,"]","\\rbrack",!0);q(W,ae,Ro,"(","\\lparen",!0);q(W,ae,Ss,")","\\rparen",!0);q(ht,ae,Ne,"<","\\textless",!0);q(ht,ae,Ne,">","\\textgreater",!0);q(W,ae,Ro,"\u230A","\\lfloor",!0);q(W,ae,Ss,"\u230B","\\rfloor",!0);q(W,ae,Ro,"\u2308","\\lceil",!0);q(W,ae,Ss,"\u2309","\\rceil",!0);q(W,ae,Ne,"\\","\\backslash");q(W,ae,Ne,"\u2223","|");q(W,ae,Ne,"\u2223","\\vert");q(ht,ae,Ne,"|","\\textbar",!0);q(W,ae,Ne,"\u2225","\\|");q(W,ae,Ne,"\u2225","\\Vert");q(ht,ae,Ne,"\u2225","\\textbardbl");q(ht,ae,Ne,"~","\\textasciitilde");q(ht,ae,Ne,"\\","\\textbackslash");q(ht,ae,Ne,"^","\\textasciicircum");q(W,ae,Ee,"\u2191","\\uparrow",!0);q(W,ae,Ee,"\u21D1","\\Uparrow",!0);q(W,ae,Ee,"\u2193","\\downarrow",!0);q(W,ae,Ee,"\u21D3","\\Downarrow",!0);q(W,ae,Ee,"\u2195","\\updownarrow",!0);q(W,ae,Ee,"\u21D5","\\Updownarrow",!0);q(W,ae,Bi,"\u2210","\\coprod");q(W,ae,Bi,"\u22C1","\\bigvee");q(W,ae,Bi,"\u22C0","\\bigwedge");q(W,ae,Bi,"\u2A04","\\biguplus");q(W,ae,Bi,"\u22C2","\\bigcap");q(W,ae,Bi,"\u22C3","\\bigcup");q(W,ae,Bi,"\u222B","\\int");q(W,ae,Bi,"\u222B","\\intop");q(W,ae,Bi,"\u222C","\\iint");q(W,ae,Bi,"\u222D","\\iiint");q(W,ae,Bi,"\u220F","\\prod");q(W,ae,Bi,"\u2211","\\sum");q(W,ae,Bi,"\u2A02","\\bigotimes");q(W,ae,Bi,"\u2A01","\\bigoplus");q(W,ae,Bi,"\u2A00","\\bigodot");q(W,ae,Bi,"\u222E","\\oint");q(W,ae,Bi,"\u222F","\\oiint");q(W,ae,Bi,"\u2230","\\oiiint");q(W,ae,Bi,"\u2A06","\\bigsqcup");q(W,ae,Bi,"\u222B","\\smallint");q(ht,ae,lg,"\u2026","\\textellipsis");q(W,ae,lg,"\u2026","\\mathellipsis");q(ht,ae,lg,"\u2026","\\ldots",!0);q(W,ae,lg,"\u2026","\\ldots",!0);q(W,ae,lg,"\u22EF","\\@cdots",!0);q(W,ae,lg,"\u22F1","\\ddots",!0);q(W,ae,Ne,"\u22EE","\\varvdots");q(ht,ae,Ne,"\u22EE","\\varvdots");q(W,ae,ri,"\u02CA","\\acute");q(W,ae,ri,"\u02CB","\\grave");q(W,ae,ri,"\xA8","\\ddot");q(W,ae,ri,"~","\\tilde");q(W,ae,ri,"\u02C9","\\bar");q(W,ae,ri,"\u02D8","\\breve");q(W,ae,ri,"\u02C7","\\check");q(W,ae,ri,"^","\\hat");q(W,ae,ri,"\u20D7","\\vec");q(W,ae,ri,"\u02D9","\\dot");q(W,ae,ri,"\u02DA","\\mathring");q(W,ae,or,"\uE131","\\@imath");q(W,ae,or,"\uE237","\\@jmath");q(W,ae,Ne,"\u0131","\u0131");q(W,ae,Ne,"\u0237","\u0237");q(ht,ae,Ne,"\u0131","\\i",!0);q(ht,ae,Ne,"\u0237","\\j",!0);q(ht,ae,Ne,"\xDF","\\ss",!0);q(ht,ae,Ne,"\xE6","\\ae",!0);q(ht,ae,Ne,"\u0153","\\oe",!0);q(ht,ae,Ne,"\xF8","\\o",!0);q(ht,ae,Ne,"\xC6","\\AE",!0);q(ht,ae,Ne,"\u0152","\\OE",!0);q(ht,ae,Ne,"\xD8","\\O",!0);q(ht,ae,ri,"\u02CA","\\'");q(ht,ae,ri,"\u02CB","\\`");q(ht,ae,ri,"\u02C6","\\^");q(ht,ae,ri,"\u02DC","\\~");q(ht,ae,ri,"\u02C9","\\=");q(ht,ae,ri,"\u02D8","\\u");q(ht,ae,ri,"\u02D9","\\.");q(ht,ae,ri,"\xB8","\\c");q(ht,ae,ri,"\u02DA","\\r");q(ht,ae,ri,"\u02C7","\\v");q(ht,ae,ri,"\xA8",'\\"');q(ht,ae,ri,"\u02DD","\\H");q(ht,ae,ri,"\u25EF","\\textcircled");zY={"--":!0,"---":!0,"``":!0,"''":!0};q(ht,ae,Ne,"\u2013","--",!0);q(ht,ae,Ne,"\u2013","\\textendash");q(ht,ae,Ne,"\u2014","---",!0);q(ht,ae,Ne,"\u2014","\\textemdash");q(ht,ae,Ne,"\u2018","`",!0);q(ht,ae,Ne,"\u2018","\\textquoteleft");q(ht,ae,Ne,"\u2019","'",!0);q(ht,ae,Ne,"\u2019","\\textquoteright");q(ht,ae,Ne,"\u201C","``",!0);q(ht,ae,Ne,"\u201C","\\textquotedblleft");q(ht,ae,Ne,"\u201D","''",!0);q(ht,ae,Ne,"\u201D","\\textquotedblright");q(W,ae,Ne,"\xB0","\\degree",!0);q(ht,ae,Ne,"\xB0","\\degree");q(ht,ae,Ne,"\xB0","\\textdegree",!0);q(W,ae,Ne,"\xA3","\\pounds");q(W,ae,Ne,"\xA3","\\mathsterling",!0);q(ht,ae,Ne,"\xA3","\\pounds");q(ht,ae,Ne,"\xA3","\\textsterling",!0);q(W,Se,Ne,"\u2720","\\maltese");q(ht,Se,Ne,"\u2720","\\maltese");oY='0123456789/@."';for(H3=0;H30)return Wl(a,h,i,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=$Ae(a,i,r,s,n);d=m.fontName,p=[m.fontClass]}else l?(d=qY[u].fontName,p=[u]):(d=Q3(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(fw(a,d,i).metrics)return Wl(a,d,i,r,s.concat(p));if(zY.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(mf(t.classes)!==mf(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),VAe=o(t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),Ys=o(function(e,r,n,i){var a=new Dp(e,r,n,i);return F_(a),a},"makeSpan"),GY=o((t,e,r,n)=>new Dp(t,e,r,n),"makeSvgSpan"),qAe=o(function(e,r,n){var i=Ys([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=_t(i.height),i.maxFontSize=1,i},"makeLineSpan"),UAe=o(function(e,r,n,i){var a=new b2(e,r,n,i);return F_(a),a},"makeAnchor"),VY=o(function(e){var r=new _p(e);return F_(r),r},"makeFragment"),WAe=o(function(e,r){return e instanceof _p?Ys([],[e],r):e},"wrapFragment"),HAe=o(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Ys(["mspace"],[],e),n=mi(t,e);return r.style.marginRight=_t(n),r},"makeGlue"),Q3=o(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),qY={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"}},UY={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},XAe=o(function(e,r){var[n,i,a]=UY[e],s=new Pc(n),l=new Hl([s],{width:_t(i),height:_t(a),style:"width:"+_t(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=GY(["overlay"],[l],r);return u.height=a,u.style.height=_t(a),u.style.width=_t(i),u},"staticSvg"),Ve={fontMap:qY,makeSymbol:Wl,mathsym:FAe,makeSpan:Ys,makeSvgSpan:GY,makeLineSpan:qAe,makeAnchor:UAe,makeFragment:VY,wrapFragment:WAe,makeVList:YAe,makeOrd:zAe,makeGlue:jAe,staticSvg:XAe,svgData:UY,tryCombineChars:VAe},pi={number:3,unit:"mu"},Ap={number:4,unit:"mu"},Ju={number:5,unit:"mu"},KAe={mord:{mop:pi,mbin:Ap,mrel:Ju,minner:pi},mop:{mord:pi,mop:pi,mrel:Ju,minner:pi},mbin:{mord:Ap,mop:Ap,mopen:Ap,minner:Ap},mrel:{mord:Ju,mop:Ju,mopen:Ju,minner:Ju},mopen:{},mclose:{mop:pi,mbin:Ap,mrel:Ju,minner:pi},mpunct:{mord:pi,mop:pi,mrel:Ju,mopen:pi,mclose:pi,mpunct:pi,minner:pi},minner:{mord:pi,mop:pi,mbin:Ap,mrel:Ju,mopen:pi,mpunct:pi,minner:pi}},QAe={mord:{mop:pi},mop:{mord:pi,mop:pi},mbin:{},mrel:{},mopen:{},mclose:{mop:pi},mpunct:{},minner:{mop:pi}},WY={},sw={},ow={};o(Pt,"defineFunction");o(Rp,"defineFunctionBuilders");lw=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),Li=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),rh=Ve.makeSpan,ZAe=["leftmost","mbin","mopen","mrel","mop","mpunct"],JAe=["rightmost","mrel","mclose","mpunct"],e7e={display:lr.DISPLAY,text:lr.TEXT,script:lr.SCRIPT,scriptscript:lr.SCRIPTSCRIPT},t7e={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Xi=o(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&ar.contains(JAe,x)?y.classes[0]="mord":x==="mbin"&&ar.contains(ZAe,v)&&(g.classes[0]="mord")},{node:d},p,m),uY(a,(g,y)=>{var v=__(y),x=__(g),b=v&&x?g.hasClass("mtight")?QAe[v][x]:KAe[v][x]:null;if(b)return Ve.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),uY=o(function t(e,r,n,i,a){i&&e.push(i);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}i&&e.pop()},"traverseNonSpaceNodes"),HY=o(function(e){return e instanceof _p||e instanceof b2||e instanceof Dp&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),r7e=o(function t(e,r){var n=HY(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),__=o(function(e,r){return e?(r&&(e=r7e(e,r)),t7e[e.classes[0]]||null):null},"getTypeOfDomTree"),w2=o(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return rh(r.concat(n))},"makeNullDelimiter"),Jr=o(function(e,r,n){if(!e)return rh();if(sw[e.type]){var i=sw[e.type](e,r);if(n&&r.size!==n.size){i=rh(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new vt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(Z3,"buildHTMLUnbreakable");o(D_,"buildHTML");o(YY,"newDocumentFragment");ws=class{static{o(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=mf(this.classes));for(var n=0;n0&&(e+=' class ="'+ar.escape(mf(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},al=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return ar.escape(this.toText())}toText(){return this.text}},R_=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",_t(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},yt={MathNode:ws,TextNode:al,SpaceNode:R_,newDocumentFragment:YY},ol=o(function(e,r,n){return zn[r][e]&&zn[r][e].replace&&e.charCodeAt(0)!==55349&&!(zY.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=zn[r][e].replace),new yt.TextNode(e)},"makeText"),$_=o(function(e){return e.length===1?e[0]:new yt.MathNode("mrow",e)},"makeRow"),z_=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(ar.contains(["\\imath","\\jmath"],a))return null;zn[i][a]&&zn[i][a].replace&&(a=zn[i][a].replace);var s=Ve.fontMap[n].fontName;return B_(a,s,i)?Ve.fontMap[n].variant:null},"getVariant");o(p_,"isNumberPunctuation");Xs=o(function(e,r,n){if(e.length===1){var i=Ln(e[0],r);return n&&i instanceof ws&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,l=0;l=1&&(s.type==="mn"||p_(s))){var h=u.children[0];h instanceof ws&&h.type==="mn"&&(h.children=[...s.children,...h.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var f=s.children[0];if(f instanceof al&&f.text==="\u0338"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var d=u.children[0];d instanceof al&&d.text.length>0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),gf=o(function(e,r,n){return $_(Xs(e,r,n))},"buildExpressionRow"),Ln=o(function(e,r){if(!e)return new yt.MathNode("mrow");if(ow[e.type]){var n=ow[e.type](e,r);return n}else throw new vt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(hY,"buildMathML");jY=o(function(e){return new iw({style:e.displayMode?lr.DISPLAY:lr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),XY=o(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Ve.makeSpan(n,[e])}return e},"displayWrap"),n7e=o(function(e,r,n){var i=jY(n),a;if(n.output==="mathml")return hY(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=D_(e,i);a=Ve.makeSpan(["katex"],[s])}else{var l=hY(e,r,i,n.displayMode,!1),u=D_(e,i);a=Ve.makeSpan(["katex"],[l,u])}return XY(a,n)},"buildTree"),i7e=o(function(e,r,n){var i=jY(n),a=D_(e,i),s=Ve.makeSpan(["katex"],[a]);return XY(s,n)},"buildHTMLTree"),a7e={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},s7e=o(function(e){var r=new yt.MathNode("mo",[new yt.TextNode(a7e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),o7e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},l7e=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),c7e=o(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(ar.contains(["widehat","widecheck","widetilde","utilde"],u)){var h=e,f=l7e(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new Pc(p),v=new Hl([y],{width:"100%",height:_t(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:Ve.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=o7e[u],[T,E,w]=b,k=w/1e3,C=T.length,D,R;if(C===1){var O=b[3];D=["hide-tail"],R=[O]}else if(C===2)D=["halfarrow-left","halfarrow-right"],R=["xMinYMin","xMaxYMin"];else if(C===3)D=["brace-left","brace-center","brace-right"],R=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+C+" children.");for(var L=0;L0&&(i.style.minWidth=_t(a)),i},"svgSpan"),u7e=o(function(e,r,n,i,a){var s,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Ve.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new T2({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new T2({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new Hl(h,{width:"100%",height:_t(l)});s=Ve.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=_t(l),s},"encloseSpan"),nh={encloseSpan:u7e,mathMLnode:s7e,svgSpan:c7e};o(_r,"assertNodeType");o(G_,"assertSymbolNodeType");o(dw,"checkSymbolNodeType");V_=o((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=_r(t.base,"accent"),r=n.base,t.base=r,i=IAe(Jr(t,e)),t.base=n):(n=_r(t,"accent"),r=n.base);var a=Jr(r,e.havingCrampedStyle()),s=n.isShifty&&ar.isCharacterBox(r),l=0;if(s){var u=ar.getBaseElem(r),h=Jr(u,e.havingCrampedStyle());l=sY(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=nh.svgSpan(n,e),p=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+_t(2*l)+")",marginLeft:_t(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=Ve.staticSvg("vec",e),g=Ve.svgData.vec[1]):(m=Ve.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=sY(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=Ve.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=_t(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=Ve.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),KY=o((t,e)=>{var r=t.isStretchy?nh.mathMLnode(t.label):new yt.MathNode("mo",[ol(t.label,t.mode)]),n=new yt.MathNode("mover",[Ln(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),h7e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Pt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:o((t,e)=>{var r=lw(e[0]),n=!h7e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:V_,mathmlBuilder:KY});Pt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:V_,mathmlBuilder:KY});Pt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:o((t,e)=>{var r=Jr(t.base,e),n=nh.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return Ve.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=nh.mathMLnode(t.label),n=new yt.MathNode("munder",[Ln(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});J3=o(t=>{var e=new yt.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");Pt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=Ve.wrapFragment(Jr(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=Ve.wrapFragment(Jr(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var l=nh.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),Ve.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=nh.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=J3(Ln(t.body,e));if(t.below){var a=J3(Ln(t.below,e));n=new yt.MathNode("munderover",[r,a,i])}else n=new yt.MathNode("mover",[r,i])}else if(t.below){var s=J3(Ln(t.below,e));n=new yt.MathNode("munder",[r,s])}else n=J3(),n=new yt.MathNode("mover",[r,n]);return n}});f7e=Ve.makeSpan;o(QY,"htmlBuilder$9");o(ZY,"mathmlBuilder$8");Pt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:Li(i),isCharacterBox:ar.isCharacterBox(i)}},htmlBuilder:QY,mathmlBuilder:ZY});pw=o(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");Pt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:pw(e[0]),body:Li(e[1]),isCharacterBox:ar.isCharacterBox(e[1])}}});Pt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=pw(i):s="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:Li(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:ar.isCharacterBox(u)}},htmlBuilder:QY,mathmlBuilder:ZY});Pt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:pw(e[0]),body:Li(e[0])}},htmlBuilder(t,e){var r=Xi(t.body,e,!0),n=Ve.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=Xs(t.body,e),n=new yt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});d7e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},fY=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),dY=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),p7e=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(m7e,"cdArrow");o(g7e,"parseCD");Pt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=Ve.wrapFragment(Jr(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=_t(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new yt.MathNode("mrow",[Ln(t.label,e)]);return r=new yt.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new yt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Pt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=Ve.wrapFragment(Jr(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new yt.MathNode("mrow",[Ln(t.fragment,e)])}});Pt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=_r(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new vt("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});JY=o((t,e)=>{var r=Xi(t.body,e.withColor(t.color),!1);return Ve.makeFragment(r)},"htmlBuilder$8"),ej=o((t,e)=>{var r=Xs(t.body,e.withColor(t.color)),n=new yt.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");Pt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=_r(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:Li(i)}},htmlBuilder:JY,mathmlBuilder:ej});Pt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=_r(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:JY,mathmlBuilder:ej});Pt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&_r(i,"size").value}},htmlBuilder(t,e){var r=Ve.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=_t(mi(t.size,e)))),r},mathmlBuilder(t,e){var r=new yt.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",_t(mi(t.size,e)))),r}});L_={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},tj=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new vt("Expected a control sequence",t);return e},"checkControlSequence"),y7e=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),rj=o((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");Pt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(L_[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=L_[n.text]),_r(e.parseFunction(),"internal");throw new vt("Invalid token after macro prefix",n)}});Pt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new vt("Expected a control sequence",n);for(var a=0,s,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new vt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new vt('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new vt("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===L_[r]),{type:"internal",mode:e.mode}}});Pt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=tj(e.gullet.popToken());e.gullet.consumeSpaces();var i=y7e(e);return rj(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Pt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=tj(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return rj(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});m2=o(function(e,r,n){var i=zn.math[e]&&zn.math[e].replace,a=B_(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),q_=o(function(e,r,n,i){var a=n.havingBaseStyle(r),s=Ve.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),nj=o(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=_t(a),e.height-=a,e.depth+=a},"centerSpan"),v7e=o(function(e,r,n,i,a,s){var l=Ve.makeSymbol(e,"Main-Regular",a,i),u=q_(l,r,i,s);return n&&nj(u,i,r),u},"makeSmallDelim"),x7e=o(function(e,r,n,i){return Ve.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),ij=o(function(e,r,n,i,a,s){var l=x7e(e,r,a,i),u=q_(Ve.makeSpan(["delimsizing","size"+r],[l],i),lr.TEXT,i,s);return n&&nj(u,i,lr.TEXT),u},"makeLargeDelim"),m_=o(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Ve.makeSpan(["delimsizinginner",i],[Ve.makeSpan([],[Ve.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),g_=o(function(e,r,n){var i=Oc["Size4-Regular"][e.charCodeAt(0)]?Oc["Size4-Regular"][e.charCodeAt(0)][4]:Oc["Size1-Regular"][e.charCodeAt(0)][4],a=new Pc("inner",AAe(e,Math.round(1e3*r))),s=new Hl([a],{width:_t(i),height:_t(r),style:"width:"+_t(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=Ve.makeSvgSpan([],[s],n);return l.height=r,l.style.height=_t(r),l.style.width=_t(i),{type:"elem",elem:l}},"makeInner"),N_=.008,ew={type:"kern",size:-1*N_},b7e=["|","\\lvert","\\rvert","\\vert"],T7e=["\\|","\\lVert","\\rVert","\\Vert"],aj=o(function(e,r,n,i,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):ar.contains(b7e,e)?(h="\u2223",d="vert",p=333):ar.contains(T7e,e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=m2(l,m,a),y=g.height+g.depth,v=m2(h,m,a),x=v.height+v.depth,b=m2(f,m,a),T=b.height+b.depth,E=0,w=1;if(u!==null){var k=m2(u,m,a);E=k.height+k.depth,w=2}var C=y+T+E,D=Math.max(0,Math.ceil((r-C)/(w*x))),R=C+D*w*x,O=i.fontMetrics().axisHeight;n&&(O*=i.sizeMultiplier);var L=R/2-O,S=[];if(d.length>0){var A=R-y-T,_=Math.round(R*1e3),N=_Ae(d,Math.round(A*1e3)),M=new Pc(d,N),P=(p/1e3).toFixed(3)+"em",B=(_/1e3).toFixed(3)+"em",F=new Hl([M],{width:P,height:B,viewBox:"0 0 "+p+" "+_}),G=Ve.makeSvgSpan([],[F],i);G.height=_/1e3,G.style.width=P,G.style.height=B,S.push({type:"elem",elem:G})}else{if(S.push(m_(f,m,a)),S.push(ew),u===null){var $=R-y-T+2*N_;S.push(g_(h,$,i))}else{var V=(R-y-T-E)/2+2*N_;S.push(g_(h,V,i)),S.push(ew),S.push(m_(u,m,a)),S.push(ew),S.push(g_(h,V,i))}S.push(ew),S.push(m_(l,m,a))}var K=i.havingBaseStyle(lr.TEXT),ee=Ve.makeVList({positionType:"bottom",positionData:L,children:S},K);return q_(Ve.makeSpan(["delimsizing","mult"],[ee],K),lr.TEXT,i,s)},"makeStackedDelim"),y_=80,v_=.08,x_=o(function(e,r,n,i,a){var s=CAe(e,i,n),l=new Pc(e,s),u=new Hl([l],{width:"400em",height:_t(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Ve.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),w7e=o(function(e,r){var n=r.havingBaseSizing(),i=cj("\\surd",e*n.sizeMultiplier,lj,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*s+y_,e<1?a=1:e<1.4&&(a=.7),u=(1+s+v_)/a,h=(1+s)/a,l=x_("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+y_)*y2[i.size],h=(y2[i.size]+s)/a,u=(y2[i.size]+s+v_)/a,l=x_("sqrtSize"+i.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+v_,h=e+s,f=Math.floor(1e3*e+s)+y_,l=x_("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=_t(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),sj=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],k7e=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],oj=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],y2=[0,1.2,1.8,2.4,3],S7e=o(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),ar.contains(sj,e)||ar.contains(oj,e))return ij(e,r,!1,n,i,a);if(ar.contains(k7e,e))return aj(e,y2[r],!1,n,i,a);throw new vt("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),E7e=[{type:"small",style:lr.SCRIPTSCRIPT},{type:"small",style:lr.SCRIPT},{type:"small",style:lr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],C7e=[{type:"small",style:lr.SCRIPTSCRIPT},{type:"small",style:lr.SCRIPT},{type:"small",style:lr.TEXT},{type:"stack"}],lj=[{type:"small",style:lr.SCRIPTSCRIPT},{type:"small",style:lr.SCRIPT},{type:"small",style:lr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],A7e=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),cj=o(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return n[s]}return n[n.length-1]},"traverseSequence"),uj=o(function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;ar.contains(oj,e)?l=E7e:ar.contains(sj,e)?l=lj:l=C7e;var u=cj(e,r,l,i);return u.type==="small"?v7e(e,u.style,n,i,a,s):u.type==="large"?ij(e,u.size,n,i,a,s):aj(e,r,n,i,a,s)},"makeCustomSizedDelim"),_7e=o(function(e,r,n,i,a,s){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return uj(e,d,!0,i,a,s)},"makeLeftRightDelim"),th={sqrtImage:w7e,sizedDelim:S7e,sizeToMaxHeight:y2,customSizedDelim:uj,leftRightDelim:_7e},pY={"\\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}},D7e=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(mw,"checkDelimiter");Pt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:o((t,e)=>{var r=mw(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:pY[t.funcName].size,mclass:pY[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?Ve.makeSpan([t.mclass]):th.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(ol(t.delim,t.mode));var r=new yt.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=_t(th.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});o(mY,"assertParsed");Pt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new vt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:mw(e[0],t).text,color:r}},"handler")});Pt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=mw(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=_r(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{mY(t);for(var r=Xi(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{mY(t);var r=Xs(t.body,e);if(t.left!=="."){var n=new yt.MathNode("mo",[ol(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new yt.MathNode("mo",[ol(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return $_(r)},"mathmlBuilder")});Pt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=mw(e[0],t);if(!t.parser.leftrightDepth)throw new vt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=w2(e,[]);else{r=th.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?ol("|","text"):ol(t.delim,t.mode),n=new yt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});U_=o((t,e)=>{var r=Ve.wrapFragment(Jr(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,l=ar.isCharacterBox(t.body);if(n==="sout")a=Ve.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=mi({number:.6,unit:"pt"},e),h=mi({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=_t(d/2+u);var p=Math.floor(1e3*d*i),m=SAe(p),g=new Hl([new Pc("phase",m)],{width:"400em",height:_t(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=Ve.makeSvgSpan(["hide-tail"],[g],e),a.style.height=_t(d),s=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=nh.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=_t(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=_t(x),a.style.borderRightWidth=_t(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var T=/cancel|phase/.test(n)?["svg-align"]:[];b=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?Ve.makeSpan(["mord","cancel-lap"],[b],e):Ve.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),W_=o((t,e)=>{var r=0,n=new yt.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Ln(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");Pt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=_r(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:U_,mathmlBuilder:W_});Pt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=_r(e[0],"color-token").color,s=_r(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:U_,mathmlBuilder:W_});Pt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Pt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:U_,mathmlBuilder:W_});Pt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});hj={};o(Bc,"defineEnvironment");fj={};o(fe,"defineMacro");o(gY,"getHLines");gw=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new vt("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o(H_,"getAutoTag");o(yf,"parseArray");o(Y_,"dCellStyle");Fc=o(function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(lr.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?mi({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,T=0;function E(j){for(var Ge=0;Ge0&&(T+=.25),h.push({pos:T,isDashed:j[Ge]})}for(o(E,"setHLinePos"),E(s[0]),n=0;n0&&(L+=b,Cj))for(n=0;n=l)){var Z=void 0;(i>0||e.hskipBeforeAndAfter)&&(Z=ar.deflt(V.pregap,p),Z!==0&&(N=Ve.makeSpan(["arraycolsep"],[]),N.style.width=_t(Z),_.push(N)));var de=[];for(n=0;n0){for(var Q=Ve.makeLineSpan("hline",r,f),le=Ve.makeLineSpan("hdashline",r,f),J=[{type:"elem",elem:u,shift:0}];h.length>0;){var ge=h.pop(),ie=ge.pos-S;ge.isDashed?J.push({type:"elem",elem:le,shift:ie}):J.push({type:"elem",elem:Q,shift:ie})}u=Ve.makeVList({positionType:"individualShift",children:J},r)}if(P.length===0)return Ve.makeSpan(["mord"],[u],r);var Te=Ve.makeVList({positionType:"individualShift",children:P},r);return Te=Ve.makeSpan(["tag"],[Te],r),Ve.makeFragment([u,Te])},"htmlBuilder"),R7e={c:"center ",l:"left ",r:"right "},$c=o(function(e,r){for(var n=[],i=new yt.MathNode("mtd",[],["mtr-glue"]),a=new yt.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var T=x;T0?"left ":"",p+=D[D.length-1].length>0?"right ":"";for(var R=1;R-1?"alignat":"align",a=e.envName==="split",s=yf(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:H_(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");Bc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=dw(e[0]),n=r?[e[0]]:_r(e[0],"ordgroup").body,i=n.map(function(s){var l=G_(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new vt("Unknown column alignment: "+u,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return yf(t.parser,a,Y_(t.envName))},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new vt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=yf(t.parser,n,Y_(t.envName)),s=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=yf(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=dw(e[0]),n=r?[e[0]]:_r(e[0],"ordgroup").body,i=n.map(function(s){var l=G_(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new vt("Unknown column alignment: "+u,s)});if(i.length>1)throw new vt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=yf(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new vt("{subarray} can contain only one column");return a},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=yf(t.parser,e,Y_(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:dj,htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){ar.contains(["gather","gather*"],t.envName)&&gw(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:H_(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return yf(t.parser,e,"display")},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:dj,htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){gw(t);var e={autoTag:H_(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return yf(t.parser,e,"display")},htmlBuilder:Fc,mathmlBuilder:$c});Bc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return gw(t),g7e(t.parser)},htmlBuilder:Fc,mathmlBuilder:$c});fe("\\nonumber","\\gdef\\@eqnsw{0}");fe("\\notag","\\nonumber");Pt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new vt(t.funcName+" valid only within array environment")}});yY=hj;Pt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new vt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return Jr(t.body,n)},"htmlBuilder$5"),mj=o((t,e)=>{var r=t.font,n=e.withFont(r);return Ln(t.body,n)},"mathmlBuilder$4"),vY={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Pt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=lw(e[0]),a=n;return a in vY&&(a=vY[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:pj,mathmlBuilder:mj});Pt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,n=e[0],i=ar.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:pw(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});Pt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:pj,mathmlBuilder:mj});gj=o((t,e)=>{var r=e;return t==="display"?r=r.id>=lr.SCRIPT.id?r.text():lr.DISPLAY:t==="text"&&r.size===lr.DISPLAY.size?r=lr.TEXT:t==="script"?r=lr.SCRIPT:t==="scriptscript"&&(r=lr.SCRIPTSCRIPT),r},"adjustStyle"),j_=o((t,e)=>{var r=gj(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=Jr(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new yt.MathNode("mfrac",[Ln(t.numer,e),Ln(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=mi(t.barSize,e);r.setAttribute("linethickness",_t(n))}var i=gj(t.size,e.style);if(i.size!==e.style.size){r=new yt.MathNode("mstyle",[r]);var a=i.size===lr.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new yt.MathNode("mo",[new yt.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new yt.MathNode("mo",[new yt.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return $_(s)}return r},"mathmlBuilder$3");Pt({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:j_,mathmlBuilder:X_});Pt({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});Pt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});xY=["display","text","script","scriptscript"],bY=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");Pt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=lw(e[0]),s=a.type==="atom"&&a.family==="open"?bY(a.text):null,l=lw(e[1]),u=l.type==="atom"&&l.family==="close"?bY(l.text):null,h=_r(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=_r(m.body[0],"textord");p=xY[Number(g.text)]}}else m=_r(m,"textord"),p=xY[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:j_,mathmlBuilder:X_});Pt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:_r(e[0],"size").value,token:i}}});Pt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=cAe(_r(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:j_,mathmlBuilder:X_});yj=o((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?Jr(t.sup,e.havingStyle(r.sup()),e):Jr(t.sub,e.havingStyle(r.sub()),e),i=_r(t.base,"horizBrace")):i=_r(t,"horizBrace");var a=Jr(i.base,e.havingBaseStyle(lr.DISPLAY)),s=nh.svgSpan(i,e),l;if(i.isOver?(l=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Ve.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=Ve.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=Ve.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return Ve.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),L7e=o((t,e)=>{var r=nh.mathMLnode(t.label);return new yt.MathNode(t.isOver?"mover":"munder",[Ln(t.base,e),r])},"mathmlBuilder$2");Pt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:yj,mathmlBuilder:L7e});Pt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[1],i=_r(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:Li(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=Xi(t.body,e,!1);return Ve.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=gf(t.body,e);return r instanceof ws||(r=new ws("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});Pt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=_r(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=_r(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=Xi(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Ve.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:o((t,e)=>gf(t.body,e),"mathmlBuilder")});Pt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:Li(e[0]),mathml:Li(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=Xi(t.html,e,!1);return Ve.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>gf(t.mathml,e),"mathmlBuilder")});b_=o(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new vt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!PY(n))throw new vt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");Pt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=_r(r[0],"raw").string,h=u.split(","),f=0;f{var r=mi(t.height,e),n=0;t.totalheight.number>0&&(n=mi(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=mi(t.width,e));var a={height:_t(r+n)};i>0&&(a.width=_t(i)),n>0&&(a.verticalAlign=_t(-n));var s=new C_(t.src,t.alt,a);return s.height=r,s.depth=n,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new yt.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=mi(t.height,e),i=0;if(t.totalheight.number>0&&(i=mi(t.totalheight,e)-n,r.setAttribute("valign",_t(-i))),r.setAttribute("height",_t(n+i)),t.width.number>0){var a=mi(t.width,e);r.setAttribute("width",_t(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});Pt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=_r(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return Ve.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=mi(t.dimension,e);return new yt.SpaceNode(r)}});Pt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=Ve.makeSpan([],[Jr(t.body,e)]),r=Ve.makeSpan(["inner"],[r],e)):r=Ve.makeSpan(["inner"],[Jr(t.body,e)]);var n=Ve.makeSpan(["fix"],[]),i=Ve.makeSpan([t.alignment],[r,n],e),a=Ve.makeSpan(["strut"]);return a.style.height=_t(i.height+i.depth),i.depth&&(a.style.verticalAlign=_t(-i.depth)),i.children.unshift(a),i=Ve.makeSpan(["thinbox"],[i],e),Ve.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new yt.MathNode("mpadded",[Ln(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});Pt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Pt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new vt("Mismatched "+t.funcName)}});TY=o((t,e)=>{switch(e.style.size){case lr.DISPLAY.size:return t.display;case lr.TEXT.size:return t.text;case lr.SCRIPT.size:return t.script;case lr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");Pt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:Li(e[0]),text:Li(e[1]),script:Li(e[2]),scriptscript:Li(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=TY(t,e),n=Xi(r,e,!1);return Ve.makeFragment(n)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=TY(t,e);return gf(r,e)},"mathmlBuilder")});vj=o((t,e,r,n,i,a,s)=>{t=Ve.makeSpan([],[t]);var l=r&&ar.isCharacterBox(r),u,h;if(e){var f=Jr(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=Jr(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=Ve.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:_t(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:_t(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-s;p=Ve.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:_t(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+s;p=Ve.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:_t(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=Ve.makeSpan(["mspace"],[],n);x.style.marginRight=_t(a),v.unshift(x)}return Ve.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),xj=["\\smallint"],cg=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=_r(t.base,"op"),i=!0):a=_r(t,"op");var s=e.style,l=!1;s.size===lr.DISPLAY.size&&a.symbol&&!ar.contains(xj,a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=Ve.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=Ve.staticSvg(f+"Size"+(l?"2":"1"),e);u=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=Xi(a.body,e,!0);m.length===1&&m[0]instanceof js?(u=m[0],u.classes[0]="mop"):u=Ve.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new ws("mo",[ol(t.name,t.mode)]),ar.contains(xj,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new ws("mo",Xs(t.body,e));else{r=new ws("mi",[new al(t.name.slice(1))]);var n=new ws("mo",[ol("\u2061","text")]);t.parentIsSupSub?r=new ws("mrow",[r,n]):r=YY([r,n])}return r},"mathmlBuilder$1"),N7e={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};Pt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=N7e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:cg,mathmlBuilder:k2});Pt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Li(n)}},"handler"),htmlBuilder:cg,mathmlBuilder:k2});M7e={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};Pt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:cg,mathmlBuilder:k2});Pt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:cg,mathmlBuilder:k2});Pt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=M7e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:cg,mathmlBuilder:k2});bj=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=_r(t.base,"operatorname"),i=!0):a=_r(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=Xi(l,e.withFont("mathrm"),!0),h=0;h{for(var r=Xs(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new yt.TextNode(l)]}var u=new yt.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new yt.MathNode("mo",[ol("\u2061","text")]);return t.parentIsSupSub?new yt.MathNode("mrow",[u,h]):yt.newDocumentFragment([u,h])},"mathmlBuilder");Pt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:Li(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:bj,mathmlBuilder:I7e});fe("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Rp({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Ve.makeFragment(Xi(t.body,e,!1)):Ve.makeSpan(["mord"],Xi(t.body,e,!0),e)},mathmlBuilder(t,e){return gf(t.body,e,!0)}});Pt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=Jr(t.body,e.havingCrampedStyle()),n=Ve.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return Ve.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new yt.MathNode("mo",[new yt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new yt.MathNode("mover",[Ln(t.body,e),r]);return n.setAttribute("accent","true"),n}});Pt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:Li(n)}},"handler"),htmlBuilder:o((t,e)=>{var r=Xi(t.body,e.withPhantom(),!1);return Ve.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Xs(t.body,e);return new yt.MathNode("mphantom",r)},"mathmlBuilder")});Pt({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Ve.makeSpan([],[Jr(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=Xs(Li(t.body),e),n=new yt.MathNode("mphantom",r),i=new yt.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});Pt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Ve.makeSpan(["inner"],[Jr(t.body,e.withPhantom())]),n=Ve.makeSpan(["fix"],[]);return Ve.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Xs(Li(t.body),e),n=new yt.MathNode("mphantom",r),i=new yt.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});Pt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=_r(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=Jr(t.body,e),n=mi(t.dy,e);return Ve.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new yt.MathNode("mpadded",[Ln(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Pt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Pt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=_r(e[0],"size"),s=_r(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&_r(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Ve.makeSpan(["mord","rule"],[],e),n=mi(t.width,e),i=mi(t.height,e),a=t.shift?mi(t.shift,e):0;return r.style.borderRightWidth=_t(n),r.style.borderTopWidth=_t(i),r.style.bottom=_t(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=mi(t.width,e),n=mi(t.height,e),i=t.shift?mi(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new yt.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",_t(r)),s.setAttribute("height",_t(n));var l=new yt.MathNode("mpadded",[s]);return i>=0?l.setAttribute("height",_t(i)):(l.setAttribute("height",_t(i)),l.setAttribute("depth",_t(-i))),l.setAttribute("voffset",_t(i)),l}});o(Tj,"sizingGroup");wY=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],O7e=o((t,e)=>{var r=e.havingSize(t.size);return Tj(t.body,r,e)},"htmlBuilder");Pt({type:"sizing",names:wY,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:wY.indexOf(n)+1,body:a}},"handler"),htmlBuilder:O7e,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),n=Xs(t.body,r),i=new yt.MathNode("mstyle",n);return i.setAttribute("mathsize",_t(r.sizeMultiplier)),i},"mathmlBuilder")});Pt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&_r(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=Ve.makeSpan([],[Jr(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new yt.MathNode("mpadded",[Ln(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});Pt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=Jr(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=Ve.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=_t(f);var m=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(lr.SCRIPTSCRIPT),y=Jr(t.index,g,e),v=.6*(m.height-m.depth),x=Ve.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=Ve.makeSpan(["root"],[x]);return Ve.makeSpan(["mord","sqrt"],[b,m],e)}else return Ve.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new yt.MathNode("mroot",[Ln(r,e),Ln(n,e)]):new yt.MathNode("msqrt",[Ln(r,e)])}});kY={display:lr.DISPLAY,text:lr.TEXT,script:lr.SCRIPT,scriptscript:lr.SCRIPTSCRIPT};Pt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=kY[t.style],n=e.havingStyle(r).withFont("");return Tj(t.body,n,e)},mathmlBuilder(t,e){var r=kY[t.style],n=e.havingStyle(r),i=Xs(t.body,n),a=new yt.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});P7e=o(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===lr.DISPLAY.size||n.alwaysHandleSupSub);return i?cg:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===lr.DISPLAY.size||n.limits);return a?bj:null}else{if(n.type==="accent")return ar.isCharacterBox(n.base)?V_:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?yj:null}else return null}else return null},"htmlBuilderDelegate");Rp({type:"supsub",htmlBuilder(t,e){var r=P7e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=Jr(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&ar.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=Jr(i,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=Jr(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===lr.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=_t(.5/h.ptPerEm/v),b=null;if(u){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof js||T)&&(b=_t(-s.italic))}var E;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=h.defaultRuleThickness,k=4*w;if(f-l.depth-(u.height-d)0&&(f+=C,d-=C)}var D=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];E=Ve.makeVList({positionType:"individualShift",children:D},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var R=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];E=Ve.makeVList({positionType:"shift",positionData:d,children:R},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),E=Ve.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var O=__(s,"right")||"mord";return Ve.makeSpan([O],[s,Ve.makeSpan(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Ln(t.base,e)];t.sub&&a.push(Ln(t.sub,e)),t.sup&&a.push(Ln(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===lr.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===lr.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===lr.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===lr.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===lr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===lr.DISPLAY)?s="mover":s="msup"}return new yt.MathNode(s,a)}});Rp({type:"atom",htmlBuilder(t,e){return Ve.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new yt.MathNode("mo",[ol(t.text,t.mode)]);if(t.family==="bin"){var n=z_(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});wj={mi:"italic",mn:"normal",mtext:"normal"};Rp({type:"mathord",htmlBuilder(t,e){return Ve.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new yt.MathNode("mi",[ol(t.text,t.mode,e)]),n=z_(t,e)||"italic";return n!==wj[r.type]&&r.setAttribute("mathvariant",n),r}});Rp({type:"textord",htmlBuilder(t,e){return Ve.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=ol(t.text,t.mode,e),n=z_(t,e)||"normal",i;return t.mode==="text"?i=new yt.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new yt.MathNode("mn",[r]):t.text==="\\prime"?i=new yt.MathNode("mo",[r]):i=new yt.MathNode("mi",[r]),n!==wj[i.type]&&i.setAttribute("mathvariant",n),i}});T_={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},w_={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Rp({type:"spacing",htmlBuilder(t,e){if(w_.hasOwnProperty(t.text)){var r=w_[t.text].className||"";if(t.mode==="text"){var n=Ve.makeOrd(t,e,"textord");return n.classes.push(r),n}else return Ve.makeSpan(["mspace",r],[Ve.mathsym(t.text,t.mode,e)],e)}else{if(T_.hasOwnProperty(t.text))return Ve.makeSpan(["mspace",T_[t.text]],[],e);throw new vt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(w_.hasOwnProperty(t.text))r=new yt.MathNode("mtext",[new yt.TextNode("\xA0")]);else{if(T_.hasOwnProperty(t.text))return new yt.MathNode("mspace");throw new vt('Unknown type of space "'+t.text+'"')}return r}});SY=o(()=>{var t=new yt.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Rp({type:"tag",mathmlBuilder(t,e){var r=new yt.MathNode("mtable",[new yt.MathNode("mtr",[SY(),new yt.MathNode("mtd",[gf(t.body,e)]),SY(),new yt.MathNode("mtd",[gf(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});EY={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},CY={"\\textbf":"textbf","\\textmd":"textmd"},B7e={"\\textit":"textit","\\textup":"textup"},AY=o((t,e)=>{var r=t.font;if(r){if(EY[r])return e.withTextFontFamily(EY[r]);if(CY[r])return e.withTextFontWeight(CY[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(B7e[r])},"optionsWithFont");Pt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:Li(i),font:n}},htmlBuilder(t,e){var r=AY(t,e),n=Xi(t.body,r,!0);return Ve.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=AY(t,e);return gf(t.body,r)}});Pt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Jr(t.body,e),n=Ve.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return Ve.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new yt.MathNode("mo",[new yt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new yt.MathNode("munder",[Ln(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Pt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Jr(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return Ve.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new yt.MathNode("mpadded",[Ln(t.body,e)],["vcenter"])}});Pt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new vt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=_Y(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),pf=WY,kj=`[ \r - ]`,F7e="\\\\[a-zA-Z@]+",$7e="\\\\[^\uD800-\uDFFF]",z7e="("+F7e+")"+kj+"*",G7e=`\\\\( +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Lp=class{static{o(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},qc={"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]}},iw={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]},BY={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(mj,"setFontMetrics");o(Z8,"getCharacterMetrics");C8={};o(f_e,"getGlobalMetrics");d_e=[[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]],FY=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],$Y=o(function(e,r){return r.size<2?e:d_e[e-1][r.size-1]},"sizeAtStyle"),yw=class t{static{o(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=FY[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:$Y(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:FY[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=$Y(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=f_e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};yw.BASESIZE=6;z8={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},p_e={ex:!0,em:!0,mu:!0},gj=o(function(e){return typeof e!="string"&&(e=e.unit),e in z8||e in p_e||e==="ex"},"validUnit"),bi=o(function(e,r){var n;if(e.unit in z8)n=z8[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new bt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),_t=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),Tf=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),yj=o(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),vj=o(function(e){var r=document.createElement(e);r.className=Tf(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,xj=o(function(e){var r="<"+e;this.classes.length&&(r+=' class="'+un.escape(Tf(this.classes))+'"');var n="";for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=un.hyphenate(i)+":"+this.style[i]+";");n&&(r+=' style="'+un.escape(n)+'"');for(var a in this.attributes)if(this.attributes.hasOwnProperty(a)){if(m_e.test(a))throw new bt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+un.escape(this.attributes[a])+'"'}r+=">";for(var s=0;s",r},"toMarkup"),Np=class{static{o(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,yj.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return vj.call(this,"span")}toMarkup(){return xj.call(this,"span")}},M2=class{static{o(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,yj.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return vj.call(this,"a")}toMarkup(){return xj.call(this,"a")}},G8=class{static{o(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+un.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=_t(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=Tf(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=un.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+un.escape(n)+'"');var a=un.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},Zl=class{static{o(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},I2=class{static{o(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);q(W,re,De,"\u2208","\\in",!0);q(W,re,De,"\uE020","\\@not");q(W,re,De,"\u2282","\\subset",!0);q(W,re,De,"\u2283","\\supset",!0);q(W,re,De,"\u2286","\\subseteq",!0);q(W,re,De,"\u2287","\\supseteq",!0);q(W,Ae,De,"\u2288","\\nsubseteq",!0);q(W,Ae,De,"\u2289","\\nsupseteq",!0);q(W,re,De,"\u22A8","\\models");q(W,re,De,"\u2190","\\leftarrow",!0);q(W,re,De,"\u2264","\\le");q(W,re,De,"\u2264","\\leq",!0);q(W,re,De,"<","\\lt",!0);q(W,re,De,"\u2192","\\rightarrow",!0);q(W,re,De,"\u2192","\\to");q(W,Ae,De,"\u2271","\\ngeq",!0);q(W,Ae,De,"\u2270","\\nleq",!0);q(W,re,ch,"\xA0","\\ ");q(W,re,ch,"\xA0","\\space");q(W,re,ch,"\xA0","\\nobreakspace");q(ft,re,ch,"\xA0","\\ ");q(ft,re,ch,"\xA0"," ");q(ft,re,ch,"\xA0","\\space");q(ft,re,ch,"\xA0","\\nobreakspace");q(W,re,ch,null,"\\nobreak");q(W,re,ch,null,"\\allowbreak");q(W,re,Ew,",",",");q(W,re,Ew,";",";");q(W,Ae,Ft,"\u22BC","\\barwedge",!0);q(W,Ae,Ft,"\u22BB","\\veebar",!0);q(W,re,Ft,"\u2299","\\odot",!0);q(W,re,Ft,"\u2295","\\oplus",!0);q(W,re,Ft,"\u2297","\\otimes",!0);q(W,re,ze,"\u2202","\\partial",!0);q(W,re,Ft,"\u2298","\\oslash",!0);q(W,Ae,Ft,"\u229A","\\circledcirc",!0);q(W,Ae,Ft,"\u22A1","\\boxdot",!0);q(W,re,Ft,"\u25B3","\\bigtriangleup");q(W,re,Ft,"\u25BD","\\bigtriangledown");q(W,re,Ft,"\u2020","\\dagger");q(W,re,Ft,"\u22C4","\\diamond");q(W,re,Ft,"\u22C6","\\star");q(W,re,Ft,"\u25C3","\\triangleleft");q(W,re,Ft,"\u25B9","\\triangleright");q(W,re,Bo,"{","\\{");q(ft,re,ze,"{","\\{");q(ft,re,ze,"{","\\textbraceleft");q(W,re,Cs,"}","\\}");q(ft,re,ze,"}","\\}");q(ft,re,ze,"}","\\textbraceright");q(W,re,Bo,"{","\\lbrace");q(W,re,Cs,"}","\\rbrace");q(W,re,Bo,"[","\\lbrack",!0);q(ft,re,ze,"[","\\lbrack",!0);q(W,re,Cs,"]","\\rbrack",!0);q(ft,re,ze,"]","\\rbrack",!0);q(W,re,Bo,"(","\\lparen",!0);q(W,re,Cs,")","\\rparen",!0);q(ft,re,ze,"<","\\textless",!0);q(ft,re,ze,">","\\textgreater",!0);q(W,re,Bo,"\u230A","\\lfloor",!0);q(W,re,Cs,"\u230B","\\rfloor",!0);q(W,re,Bo,"\u2308","\\lceil",!0);q(W,re,Cs,"\u2309","\\rceil",!0);q(W,re,ze,"\\","\\backslash");q(W,re,ze,"\u2223","|");q(W,re,ze,"\u2223","\\vert");q(ft,re,ze,"|","\\textbar",!0);q(W,re,ze,"\u2225","\\|");q(W,re,ze,"\u2225","\\Vert");q(ft,re,ze,"\u2225","\\textbardbl");q(ft,re,ze,"~","\\textasciitilde");q(ft,re,ze,"\\","\\textbackslash");q(ft,re,ze,"^","\\textasciicircum");q(W,re,De,"\u2191","\\uparrow",!0);q(W,re,De,"\u21D1","\\Uparrow",!0);q(W,re,De,"\u2193","\\downarrow",!0);q(W,re,De,"\u21D3","\\Downarrow",!0);q(W,re,De,"\u2195","\\updownarrow",!0);q(W,re,De,"\u21D5","\\Updownarrow",!0);q(W,re,Gi,"\u2210","\\coprod");q(W,re,Gi,"\u22C1","\\bigvee");q(W,re,Gi,"\u22C0","\\bigwedge");q(W,re,Gi,"\u2A04","\\biguplus");q(W,re,Gi,"\u22C2","\\bigcap");q(W,re,Gi,"\u22C3","\\bigcup");q(W,re,Gi,"\u222B","\\int");q(W,re,Gi,"\u222B","\\intop");q(W,re,Gi,"\u222C","\\iint");q(W,re,Gi,"\u222D","\\iiint");q(W,re,Gi,"\u220F","\\prod");q(W,re,Gi,"\u2211","\\sum");q(W,re,Gi,"\u2A02","\\bigotimes");q(W,re,Gi,"\u2A01","\\bigoplus");q(W,re,Gi,"\u2A00","\\bigodot");q(W,re,Gi,"\u222E","\\oint");q(W,re,Gi,"\u222F","\\oiint");q(W,re,Gi,"\u2230","\\oiiint");q(W,re,Gi,"\u2A06","\\bigsqcup");q(W,re,Gi,"\u222B","\\smallint");q(ft,re,pg,"\u2026","\\textellipsis");q(W,re,pg,"\u2026","\\mathellipsis");q(ft,re,pg,"\u2026","\\ldots",!0);q(W,re,pg,"\u2026","\\ldots",!0);q(W,re,pg,"\u22EF","\\@cdots",!0);q(W,re,pg,"\u22F1","\\ddots",!0);q(W,re,ze,"\u22EE","\\varvdots");q(ft,re,ze,"\u22EE","\\varvdots");q(W,re,ai,"\u02CA","\\acute");q(W,re,ai,"\u02CB","\\grave");q(W,re,ai,"\xA8","\\ddot");q(W,re,ai,"~","\\tilde");q(W,re,ai,"\u02C9","\\bar");q(W,re,ai,"\u02D8","\\breve");q(W,re,ai,"\u02C7","\\check");q(W,re,ai,"^","\\hat");q(W,re,ai,"\u20D7","\\vec");q(W,re,ai,"\u02D9","\\dot");q(W,re,ai,"\u02DA","\\mathring");q(W,re,fr,"\uE131","\\@imath");q(W,re,fr,"\uE237","\\@jmath");q(W,re,ze,"\u0131","\u0131");q(W,re,ze,"\u0237","\u0237");q(ft,re,ze,"\u0131","\\i",!0);q(ft,re,ze,"\u0237","\\j",!0);q(ft,re,ze,"\xDF","\\ss",!0);q(ft,re,ze,"\xE6","\\ae",!0);q(ft,re,ze,"\u0153","\\oe",!0);q(ft,re,ze,"\xF8","\\o",!0);q(ft,re,ze,"\xC6","\\AE",!0);q(ft,re,ze,"\u0152","\\OE",!0);q(ft,re,ze,"\xD8","\\O",!0);q(ft,re,ai,"\u02CA","\\'");q(ft,re,ai,"\u02CB","\\`");q(ft,re,ai,"\u02C6","\\^");q(ft,re,ai,"\u02DC","\\~");q(ft,re,ai,"\u02C9","\\=");q(ft,re,ai,"\u02D8","\\u");q(ft,re,ai,"\u02D9","\\.");q(ft,re,ai,"\xB8","\\c");q(ft,re,ai,"\u02DA","\\r");q(ft,re,ai,"\u02C7","\\v");q(ft,re,ai,"\xA8",'\\"');q(ft,re,ai,"\u02DD","\\H");q(ft,re,ai,"\u25EF","\\textcircled");bj={"--":!0,"---":!0,"``":!0,"''":!0};q(ft,re,ze,"\u2013","--",!0);q(ft,re,ze,"\u2013","\\textendash");q(ft,re,ze,"\u2014","---",!0);q(ft,re,ze,"\u2014","\\textemdash");q(ft,re,ze,"\u2018","`",!0);q(ft,re,ze,"\u2018","\\textquoteleft");q(ft,re,ze,"\u2019","'",!0);q(ft,re,ze,"\u2019","\\textquoteright");q(ft,re,ze,"\u201C","``",!0);q(ft,re,ze,"\u201C","\\textquotedblleft");q(ft,re,ze,"\u201D","''",!0);q(ft,re,ze,"\u201D","\\textquotedblright");q(W,re,ze,"\xB0","\\degree",!0);q(ft,re,ze,"\xB0","\\degree");q(ft,re,ze,"\xB0","\\textdegree",!0);q(W,re,ze,"\xA3","\\pounds");q(W,re,ze,"\xA3","\\mathsterling",!0);q(ft,re,ze,"\xA3","\\pounds");q(ft,re,ze,"\xA3","\\textsterling",!0);q(W,Ae,ze,"\u2720","\\maltese");q(ft,Ae,ze,"\u2720","\\maltese");GY='0123456789/@."';for(aw=0;aw0)return Ql(a,h,i,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=w_e(a,i,r,s,n);d=m.fontName,p=[m.fontClass]}else l?(d=kj[u].fontName,p=[u]):(d=uw(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(Sw(a,d,i).metrics)return Ql(a,d,i,r,s.concat(p));if(bj.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(Tf(t.classes)!==Tf(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),S_e=o(t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),Ks=o(function(e,r,n,i){var a=new Np(e,r,n,i);return J8(a),a},"makeSpan"),Tj=o((t,e,r,n)=>new Np(t,e,r,n),"makeSvgSpan"),C_e=o(function(e,r,n){var i=Ks([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=_t(i.height),i.maxFontSize=1,i},"makeLineSpan"),A_e=o(function(e,r,n,i){var a=new M2(e,r,n,i);return J8(a),a},"makeAnchor"),wj=o(function(e){var r=new Lp(e);return J8(r),r},"makeFragment"),__e=o(function(e,r){return e instanceof Lp?Ks([],[e],r):e},"wrapFragment"),D_e=o(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Ks(["mspace"],[],e),n=bi(t,e);return r.style.marginRight=_t(n),r},"makeGlue"),uw=o(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),kj={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"}},Ej={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},N_e=o(function(e,r){var[n,i,a]=Ej[e],s=new Uc(n),l=new Zl([s],{width:_t(i),height:_t(a),style:"width:"+_t(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=Tj(["overlay"],[l],r);return u.height=a,u.style.height=_t(a),u.style.width=_t(i),u},"staticSvg"),He={fontMap:kj,makeSymbol:Ql,mathsym:T_e,makeSpan:Ks,makeSvgSpan:Tj,makeLineSpan:C_e,makeAnchor:A_e,makeFragment:wj,wrapFragment:__e,makeVList:R_e,makeOrd:k_e,makeGlue:L_e,staticSvg:N_e,svgData:Ej,tryCombineChars:S_e},xi={number:3,unit:"mu"},Rp={number:4,unit:"mu"},ih={number:5,unit:"mu"},M_e={mord:{mop:xi,mbin:Rp,mrel:ih,minner:xi},mop:{mord:xi,mop:xi,mrel:ih,minner:xi},mbin:{mord:Rp,mop:Rp,mopen:Rp,minner:Rp},mrel:{mord:ih,mop:ih,mopen:ih,minner:ih},mopen:{},mclose:{mop:xi,mbin:Rp,mrel:ih,minner:xi},mpunct:{mord:xi,mop:xi,mrel:ih,mopen:xi,mclose:xi,mpunct:xi,minner:xi},minner:{mord:xi,mop:xi,mbin:Rp,mrel:ih,mopen:xi,mpunct:xi,minner:xi}},I_e={mord:{mop:xi},mop:{mord:xi,mop:xi},mbin:{},mrel:{},mopen:{},mclose:{mop:xi},mpunct:{},minner:{mop:xi}},Sj={},xw={},bw={};o(Ot,"defineFunction");o(Mp,"defineFunctionBuilders");Tw=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),Oi=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),oh=He.makeSpan,O_e=["leftmost","mbin","mopen","mrel","mop","mpunct"],P_e=["rightmost","mrel","mclose","mpunct"],B_e={display:dr.DISPLAY,text:dr.TEXT,script:dr.SCRIPT,scriptscript:dr.SCRIPTSCRIPT},F_e={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},ea=o(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&P_e.includes(x)?y.classes[0]="mord":x==="mbin"&&O_e.includes(v)&&(g.classes[0]="mord")},{node:d},p,m),UY(a,(g,y)=>{var v=q8(y),x=q8(g),b=v&&x?g.hasClass("mtight")?I_e[v][x]:M_e[v][x]:null;if(b)return He.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),UY=o(function t(e,r,n,i,a){i&&e.push(i);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}i&&e.pop()},"traverseNonSpaceNodes"),Cj=o(function(e){return e instanceof Lp||e instanceof M2||e instanceof Np&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),$_e=o(function t(e,r){var n=Cj(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),q8=o(function(e,r){return e?(r&&(e=$_e(e,r)),F_e[e.classes[0]]||null):null},"getTypeOfDomTree"),O2=o(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return oh(r.concat(n))},"makeNullDelimiter"),rn=o(function(e,r,n){if(!e)return oh();if(xw[e.type]){var i=xw[e.type](e,r);if(n&&r.size!==n.size){i=oh(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new bt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(hw,"buildHTMLUnbreakable");o(U8,"buildHTML");o(Aj,"newDocumentFragment");Es=class{static{o(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=Tf(this.classes));for(var n=0;n0&&(e+=' class ="'+un.escape(Tf(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},pl=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return un.escape(this.toText())}toText(){return this.text}},W8=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",_t(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},vt={MathNode:Es,TextNode:pl,SpaceNode:W8,newDocumentFragment:Aj},ml=o(function(e,r,n){return qn[r][e]&&qn[r][e].replace&&e.charCodeAt(0)!==55349&&!(bj.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=qn[r][e].replace),new vt.TextNode(e)},"makeText"),eD=o(function(e){return e.length===1?e[0]:new vt.MathNode("mrow",e)},"makeRow"),tD=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(["\\imath","\\jmath"].includes(a))return null;qn[i][a]&&qn[i][a].replace&&(a=qn[i][a].replace);var s=He.fontMap[n].fontName;return Z8(a,s,i)?He.fontMap[n].variant:null},"getVariant");o(D8,"isNumberPunctuation");Js=o(function(e,r,n){if(e.length===1){var i=Mn(e[0],r);return n&&i instanceof Es&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,l=0;l=1&&(s.type==="mn"||D8(s))){var h=u.children[0];h instanceof Es&&h.type==="mn"&&(h.children=[...s.children,...h.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var f=s.children[0];if(f instanceof pl&&f.text==="\u0338"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var d=u.children[0];d instanceof pl&&d.text.length>0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),wf=o(function(e,r,n){return eD(Js(e,r,n))},"buildExpressionRow"),Mn=o(function(e,r){if(!e)return new vt.MathNode("mrow");if(bw[e.type]){var n=bw[e.type](e,r);return n}else throw new bt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(WY,"buildMathML");_j=o(function(e){return new yw({style:e.displayMode?dr.DISPLAY:dr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),Dj=o(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=He.makeSpan(n,[e])}return e},"displayWrap"),z_e=o(function(e,r,n){var i=_j(n),a;if(n.output==="mathml")return WY(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=U8(e,i);a=He.makeSpan(["katex"],[s])}else{var l=WY(e,r,i,n.displayMode,!1),u=U8(e,i);a=He.makeSpan(["katex"],[l,u])}return Dj(a,n)},"buildTree"),G_e=o(function(e,r,n){var i=_j(n),a=U8(e,i),s=He.makeSpan(["katex"],[a]);return Dj(s,n)},"buildHTMLTree"),V_e={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},q_e=o(function(e){var r=new vt.MathNode("mo",[new vt.TextNode(V_e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),U_e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},W_e=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),H_e=o(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(["widehat","widecheck","widetilde","utilde"].includes(u)){var h=e,f=W_e(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new Uc(p),v=new Zl([y],{width:"100%",height:_t(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:He.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=U_e[u],[T,E,w]=b,k=w/1e3,S=T.length,A,L;if(S===1){var I=b[3];A=["hide-tail"],L=[I]}else if(S===2)A=["halfarrow-left","halfarrow-right"],L=["xMinYMin","xMaxYMin"];else if(S===3)A=["brace-left","brace-center","brace-right"],L=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+S+" children.");for(var N=0;N0&&(i.style.minWidth=_t(a)),i},"svgSpan"),Y_e=o(function(e,r,n,i,a){var s,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=He.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new I2({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new I2({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new Zl(h,{width:"100%",height:_t(l)});s=He.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=_t(l),s},"encloseSpan"),lh={encloseSpan:Y_e,mathMLnode:q_e,svgSpan:H_e};o(Ir,"assertNodeType");o(rD,"assertSymbolNodeType");o(Cw,"checkSymbolNodeType");nD=o((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Ir(t.base,"accent"),r=n.base,t.base=r,i=y_e(rn(t,e)),t.base=n):(n=Ir(t,"accent"),r=n.base);var a=rn(r,e.havingCrampedStyle()),s=n.isShifty&&un.isCharacterBox(r),l=0;if(s){var u=un.getBaseElem(r),h=rn(u,e.havingCrampedStyle());l=zY(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=lh.svgSpan(n,e),p=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+_t(2*l)+")",marginLeft:_t(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=He.staticSvg("vec",e),g=He.svgData.vec[1]):(m=He.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=zY(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=He.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=_t(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=He.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),Rj=o((t,e)=>{var r=t.isStretchy?lh.mathMLnode(t.label):new vt.MathNode("mo",[ml(t.label,t.mode)]),n=new vt.MathNode("mover",[Mn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),j_e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Ot({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:o((t,e)=>{var r=Tw(e[0]),n=!j_e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:nD,mathmlBuilder:Rj});Ot({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:nD,mathmlBuilder:Rj});Ot({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:o((t,e)=>{var r=rn(t.base,e),n=lh.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=He.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return He.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=lh.mathMLnode(t.label),n=new vt.MathNode("munder",[Mn(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});fw=o(t=>{var e=new vt.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");Ot({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=He.wrapFragment(rn(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=He.wrapFragment(rn(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var l=lh.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),He.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=lh.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=fw(Mn(t.body,e));if(t.below){var a=fw(Mn(t.below,e));n=new vt.MathNode("munderover",[r,a,i])}else n=new vt.MathNode("mover",[r,i])}else if(t.below){var s=fw(Mn(t.below,e));n=new vt.MathNode("munder",[r,s])}else n=fw(),n=new vt.MathNode("mover",[r,n]);return n}});X_e=He.makeSpan;o(Lj,"htmlBuilder$9");o(Nj,"mathmlBuilder$8");Ot({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:Oi(i),isCharacterBox:un.isCharacterBox(i)}},htmlBuilder:Lj,mathmlBuilder:Nj});Aw=o(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");Ot({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:Aw(e[0]),body:Oi(e[1]),isCharacterBox:un.isCharacterBox(e[1])}}});Ot({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=Aw(i):s="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:Oi(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:un.isCharacterBox(u)}},htmlBuilder:Lj,mathmlBuilder:Nj});Ot({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:Aw(e[0]),body:Oi(e[0])}},htmlBuilder(t,e){var r=ea(t.body,e,!0),n=He.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=Js(t.body,e),n=new vt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});K_e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},HY=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),YY=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),Q_e=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(Z_e,"cdArrow");o(J_e,"parseCD");Ot({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=He.wrapFragment(rn(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=_t(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new vt.MathNode("mrow",[Mn(t.label,e)]);return r=new vt.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new vt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Ot({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=He.wrapFragment(rn(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new vt.MathNode("mrow",[Mn(t.fragment,e)])}});Ot({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new bt("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});Mj=o((t,e)=>{var r=ea(t.body,e.withColor(t.color),!1);return He.makeFragment(r)},"htmlBuilder$8"),Ij=o((t,e)=>{var r=Js(t.body,e.withColor(t.color)),n=new vt.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");Ot({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:Oi(i)}},htmlBuilder:Mj,mathmlBuilder:Ij});Ot({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Mj,mathmlBuilder:Ij});Ot({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Ir(i,"size").value}},htmlBuilder(t,e){var r=He.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=_t(bi(t.size,e)))),r},mathmlBuilder(t,e){var r=new vt.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",_t(bi(t.size,e)))),r}});H8={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Oj=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new bt("Expected a control sequence",t);return e},"checkControlSequence"),e8e=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),Pj=o((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");Ot({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(H8[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=H8[n.text]),Ir(e.parseFunction(),"internal");throw new bt("Invalid token after macro prefix",n)}});Ot({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new bt("Expected a control sequence",n);for(var a=0,s,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new bt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new bt('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new bt("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===H8[r]),{type:"internal",mode:e.mode}}});Ot({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Oj(e.gullet.popToken());e.gullet.consumeSpaces();var i=e8e(e);return Pj(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Ot({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Oj(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return Pj(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});_2=o(function(e,r,n){var i=qn.math[e]&&qn.math[e].replace,a=Z8(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),iD=o(function(e,r,n,i){var a=n.havingBaseStyle(r),s=He.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),Bj=o(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=_t(a),e.height-=a,e.depth+=a},"centerSpan"),t8e=o(function(e,r,n,i,a,s){var l=He.makeSymbol(e,"Main-Regular",a,i),u=iD(l,r,i,s);return n&&Bj(u,i,r),u},"makeSmallDelim"),r8e=o(function(e,r,n,i){return He.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),Fj=o(function(e,r,n,i,a,s){var l=r8e(e,r,a,i),u=iD(He.makeSpan(["delimsizing","size"+r],[l],i),dr.TEXT,i,s);return n&&Bj(u,i,dr.TEXT),u},"makeLargeDelim"),R8=o(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=He.makeSpan(["delimsizinginner",i],[He.makeSpan([],[He.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),L8=o(function(e,r,n){var i=qc["Size4-Regular"][e.charCodeAt(0)]?qc["Size4-Regular"][e.charCodeAt(0)][4]:qc["Size1-Regular"][e.charCodeAt(0)][4],a=new Uc("inner",u_e(e,Math.round(1e3*r))),s=new Zl([a],{width:_t(i),height:_t(r),style:"width:"+_t(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=He.makeSvgSpan([],[s],n);return l.height=r,l.style.height=_t(r),l.style.width=_t(i),{type:"elem",elem:l}},"makeInner"),Y8=.008,dw={type:"kern",size:-1*Y8},n8e=["|","\\lvert","\\rvert","\\vert"],i8e=["\\|","\\lVert","\\rVert","\\Vert"],$j=o(function(e,r,n,i,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):n8e.includes(e)?(h="\u2223",d="vert",p=333):i8e.includes(e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=_2(l,m,a),y=g.height+g.depth,v=_2(h,m,a),x=v.height+v.depth,b=_2(f,m,a),T=b.height+b.depth,E=0,w=1;if(u!==null){var k=_2(u,m,a);E=k.height+k.depth,w=2}var S=y+T+E,A=Math.max(0,Math.ceil((r-S)/(w*x))),L=S+A*w*x,I=i.fontMetrics().axisHeight;n&&(I*=i.sizeMultiplier);var N=L/2-I,C=[];if(d.length>0){var _=L-y-T,D=Math.round(L*1e3),M=h_e(d,Math.round(_*1e3)),R=new Uc(d,M),P=(p/1e3).toFixed(3)+"em",B=(D/1e3).toFixed(3)+"em",F=new Zl([R],{width:P,height:B,viewBox:"0 0 "+p+" "+D}),G=He.makeSvgSpan([],[F],i);G.height=D/1e3,G.style.width=P,G.style.height=B,C.push({type:"elem",elem:G})}else{if(C.push(R8(f,m,a)),C.push(dw),u===null){var $=L-y-T+2*Y8;C.push(L8(h,$,i))}else{var V=(L-y-T-E)/2+2*Y8;C.push(L8(h,V,i)),C.push(dw),C.push(R8(u,m,a)),C.push(dw),C.push(L8(h,V,i))}C.push(dw),C.push(R8(l,m,a))}var X=i.havingBaseStyle(dr.TEXT),Q=He.makeVList({positionType:"bottom",positionData:N,children:C},X);return iD(He.makeSpan(["delimsizing","mult"],[Q],X),dr.TEXT,i,s)},"makeStackedDelim"),N8=80,M8=.08,I8=o(function(e,r,n,i,a){var s=c_e(e,i,n),l=new Uc(e,s),u=new Zl([l],{width:"400em",height:_t(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return He.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),a8e=o(function(e,r){var n=r.havingBaseSizing(),i=qj("\\surd",e*n.sizeMultiplier,Vj,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*s+N8,e<1?a=1:e<1.4&&(a=.7),u=(1+s+M8)/a,h=(1+s)/a,l=I8("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+N8)*R2[i.size],h=(R2[i.size]+s)/a,u=(R2[i.size]+s+M8)/a,l=I8("sqrtSize"+i.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+M8,h=e+s,f=Math.floor(1e3*e+s)+N8,l=I8("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=_t(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),zj=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],s8e=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],Gj=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],R2=[0,1.2,1.8,2.4,3],o8e=o(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),zj.includes(e)||Gj.includes(e))return Fj(e,r,!1,n,i,a);if(s8e.includes(e))return $j(e,R2[r],!1,n,i,a);throw new bt("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),l8e=[{type:"small",style:dr.SCRIPTSCRIPT},{type:"small",style:dr.SCRIPT},{type:"small",style:dr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],c8e=[{type:"small",style:dr.SCRIPTSCRIPT},{type:"small",style:dr.SCRIPT},{type:"small",style:dr.TEXT},{type:"stack"}],Vj=[{type:"small",style:dr.SCRIPTSCRIPT},{type:"small",style:dr.SCRIPT},{type:"small",style:dr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],u8e=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),qj=o(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return n[s]}return n[n.length-1]},"traverseSequence"),Uj=o(function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;Gj.includes(e)?l=l8e:zj.includes(e)?l=Vj:l=c8e;var u=qj(e,r,l,i);return u.type==="small"?t8e(e,u.style,n,i,a,s):u.type==="large"?Fj(e,u.size,n,i,a,s):$j(e,r,n,i,a,s)},"makeCustomSizedDelim"),h8e=o(function(e,r,n,i,a,s){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return Uj(e,d,!0,i,a,s)},"makeLeftRightDelim"),sh={sqrtImage:a8e,sizedDelim:o8e,sizeToMaxHeight:R2,customSizedDelim:Uj,leftRightDelim:h8e},jY={"\\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}},f8e=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(_w,"checkDelimiter");Ot({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:o((t,e)=>{var r=_w(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:jY[t.funcName].size,mclass:jY[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?He.makeSpan([t.mclass]):sh.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(ml(t.delim,t.mode));var r=new vt.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=_t(sh.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});o(XY,"assertParsed");Ot({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new bt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:_w(e[0],t).text,color:r}},"handler")});Ot({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=_w(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{XY(t);for(var r=ea(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{XY(t);var r=Js(t.body,e);if(t.left!=="."){var n=new vt.MathNode("mo",[ml(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new vt.MathNode("mo",[ml(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return eD(r)},"mathmlBuilder")});Ot({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=_w(e[0],t);if(!t.parser.leftrightDepth)throw new bt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=O2(e,[]);else{r=sh.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?ml("|","text"):ml(t.delim,t.mode),n=new vt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});aD=o((t,e)=>{var r=He.wrapFragment(rn(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,l=un.isCharacterBox(t.body);if(n==="sout")a=He.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=bi({number:.6,unit:"pt"},e),h=bi({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=_t(d/2+u);var p=Math.floor(1e3*d*i),m=o_e(p),g=new Zl([new Uc("phase",m)],{width:"400em",height:_t(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=He.makeSvgSpan(["hide-tail"],[g],e),a.style.height=_t(d),s=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=lh.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=_t(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=_t(x),a.style.borderRightWidth=_t(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var T=/cancel|phase/.test(n)?["svg-align"]:[];b=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?He.makeSpan(["mord","cancel-lap"],[b],e):He.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),sD=o((t,e)=>{var r=0,n=new vt.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Mn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");Ot({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:aD,mathmlBuilder:sD});Ot({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Ir(e[0],"color-token").color,s=Ir(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:aD,mathmlBuilder:sD});Ot({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Ot({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:aD,mathmlBuilder:sD});Ot({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});Wj={};o(Wc,"defineEnvironment");Hj={};o(ue,"defineMacro");o(KY,"getHLines");Dw=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new bt("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o(oD,"getAutoTag");o(kf,"parseArray");o(lD,"dCellStyle");Hc=o(function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(dr.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?bi({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,T=0;function E(we){for(var _e=0;_e0&&(T+=.25),h.push({pos:T,isDashed:we[_e]})}for(o(E,"setHLinePos"),E(s[0]),n=0;n0&&(N+=b,Swe))for(n=0;n=l)){var Y=void 0;(i>0||e.hskipBeforeAndAfter)&&(Y=un.deflt(V.pregap,p),Y!==0&&(M=He.makeSpan(["arraycolsep"],[]),M.style.width=_t(Y),D.push(M)));var le=[];for(n=0;n0){for(var Z=He.makeLineSpan("hline",r,f),xe=He.makeLineSpan("hdashline",r,f),de=[{type:"elem",elem:u,shift:0}];h.length>0;){var Se=h.pop(),Me=Se.pos-C;Se.isDashed?de.push({type:"elem",elem:xe,shift:Me}):de.push({type:"elem",elem:Z,shift:Me})}u=He.makeVList({positionType:"individualShift",children:de},r)}if(P.length===0)return He.makeSpan(["mord"],[u],r);var ke=He.makeVList({positionType:"individualShift",children:P},r);return ke=He.makeSpan(["tag"],[ke],r),He.makeFragment([u,ke])},"htmlBuilder"),d8e={c:"center ",l:"left ",r:"right "},Yc=o(function(e,r){for(var n=[],i=new vt.MathNode("mtd",[],["mtr-glue"]),a=new vt.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var T=x;T0?"left ":"",p+=A[A.length-1].length>0?"right ":"";for(var L=1;L-1?"alignat":"align",a=e.envName==="split",s=kf(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:oD(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");Wc({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=Cw(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var l=rD(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new bt("Unknown column alignment: "+u,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return kf(t.parser,a,lD(t.envName))},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new bt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=kf(t.parser,n,lD(t.envName)),s=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=kf(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=Cw(e[0]),n=r?[e[0]]:Ir(e[0],"ordgroup").body,i=n.map(function(s){var l=rD(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new bt("Unknown column alignment: "+u,s)});if(i.length>1)throw new bt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=kf(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new bt("{subarray} can contain only one column");return a},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=kf(t.parser,e,lD(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Yj,htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){["gather","gather*"].includes(t.envName)&&Dw(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:oD(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return kf(t.parser,e,"display")},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Yj,htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){Dw(t);var e={autoTag:oD(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return kf(t.parser,e,"display")},htmlBuilder:Hc,mathmlBuilder:Yc});Wc({type:"array",names:["CD"],props:{numArgs:0},handler(t){return Dw(t),J_e(t.parser)},htmlBuilder:Hc,mathmlBuilder:Yc});ue("\\nonumber","\\gdef\\@eqnsw{0}");ue("\\notag","\\nonumber");Ot({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new bt(t.funcName+" valid only within array environment")}});QY=Wj;Ot({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new bt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return rn(t.body,n)},"htmlBuilder$5"),Xj=o((t,e)=>{var r=t.font,n=e.withFont(r);return Mn(t.body,n)},"mathmlBuilder$4"),ZY={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Ot({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=Tw(e[0]),a=n;return a in ZY&&(a=ZY[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:jj,mathmlBuilder:Xj});Ot({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,n=e[0],i=un.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Aw(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});Ot({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:jj,mathmlBuilder:Xj});Kj=o((t,e)=>{var r=e;return t==="display"?r=r.id>=dr.SCRIPT.id?r.text():dr.DISPLAY:t==="text"&&r.size===dr.DISPLAY.size?r=dr.TEXT:t==="script"?r=dr.SCRIPT:t==="scriptscript"&&(r=dr.SCRIPTSCRIPT),r},"adjustStyle"),cD=o((t,e)=>{var r=Kj(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=rn(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new vt.MathNode("mfrac",[Mn(t.numer,e),Mn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=bi(t.barSize,e);r.setAttribute("linethickness",_t(n))}var i=Kj(t.size,e.style);if(i.size!==e.style.size){r=new vt.MathNode("mstyle",[r]);var a=i.size===dr.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new vt.MathNode("mo",[new vt.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new vt.MathNode("mo",[new vt.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return eD(s)}return r},"mathmlBuilder$3");Ot({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:cD,mathmlBuilder:uD});Ot({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});Ot({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});JY=["display","text","script","scriptscript"],ej=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");Ot({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=Tw(e[0]),s=a.type==="atom"&&a.family==="open"?ej(a.text):null,l=Tw(e[1]),u=l.type==="atom"&&l.family==="close"?ej(l.text):null,h=Ir(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=Ir(m.body[0],"textord");p=JY[Number(g.text)]}}else m=Ir(m,"textord"),p=JY[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:cD,mathmlBuilder:uD});Ot({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ir(e[0],"size").value,token:i}}});Ot({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=H7e(Ir(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:cD,mathmlBuilder:uD});Qj=o((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?rn(t.sup,e.havingStyle(r.sup()),e):rn(t.sub,e.havingStyle(r.sub()),e),i=Ir(t.base,"horizBrace")):i=Ir(t,"horizBrace");var a=rn(i.base,e.havingBaseStyle(dr.DISPLAY)),s=lh.svgSpan(i,e),l;if(i.isOver?(l=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=He.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=He.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=He.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return He.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),p8e=o((t,e)=>{var r=lh.mathMLnode(t.label);return new vt.MathNode(t.isOver?"mover":"munder",[Mn(t.base,e),r])},"mathmlBuilder$2");Ot({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:Qj,mathmlBuilder:p8e});Ot({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[1],i=Ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:Oi(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=ea(t.body,e,!1);return He.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=wf(t.body,e);return r instanceof Es||(r=new Es("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});Ot({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=Ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=ea(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=He.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:o((t,e)=>wf(t.body,e),"mathmlBuilder")});Ot({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:Oi(e[0]),mathml:Oi(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=ea(t.html,e,!1);return He.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>wf(t.mathml,e),"mathmlBuilder")});O8=o(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new bt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!gj(n))throw new bt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");Ot({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=Ir(r[0],"raw").string,h=u.split(","),f=0;f{var r=bi(t.height,e),n=0;t.totalheight.number>0&&(n=bi(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=bi(t.width,e));var a={height:_t(r+n)};i>0&&(a.width=_t(i)),n>0&&(a.verticalAlign=_t(-n));var s=new G8(t.src,t.alt,a);return s.height=r,s.depth=n,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new vt.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=bi(t.height,e),i=0;if(t.totalheight.number>0&&(i=bi(t.totalheight,e)-n,r.setAttribute("valign",_t(-i))),r.setAttribute("height",_t(n+i)),t.width.number>0){var a=bi(t.width,e);r.setAttribute("width",_t(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});Ot({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return He.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=bi(t.dimension,e);return new vt.SpaceNode(r)}});Ot({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=He.makeSpan([],[rn(t.body,e)]),r=He.makeSpan(["inner"],[r],e)):r=He.makeSpan(["inner"],[rn(t.body,e)]);var n=He.makeSpan(["fix"],[]),i=He.makeSpan([t.alignment],[r,n],e),a=He.makeSpan(["strut"]);return a.style.height=_t(i.height+i.depth),i.depth&&(a.style.verticalAlign=_t(-i.depth)),i.children.unshift(a),i=He.makeSpan(["thinbox"],[i],e),He.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new vt.MathNode("mpadded",[Mn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});Ot({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Ot({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new bt("Mismatched "+t.funcName)}});tj=o((t,e)=>{switch(e.style.size){case dr.DISPLAY.size:return t.display;case dr.TEXT.size:return t.text;case dr.SCRIPT.size:return t.script;case dr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");Ot({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:Oi(e[0]),text:Oi(e[1]),script:Oi(e[2]),scriptscript:Oi(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=tj(t,e),n=ea(r,e,!1);return He.makeFragment(n)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=tj(t,e);return wf(r,e)},"mathmlBuilder")});Zj=o((t,e,r,n,i,a,s)=>{t=He.makeSpan([],[t]);var l=r&&un.isCharacterBox(r),u,h;if(e){var f=rn(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=rn(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=He.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:_t(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:_t(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-s;p=He.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:_t(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+s;p=He.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:_t(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=He.makeSpan(["mspace"],[],n);x.style.marginRight=_t(a),v.unshift(x)}return He.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),Jj=["\\smallint"],mg=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"op"),i=!0):a=Ir(t,"op");var s=e.style,l=!1;s.size===dr.DISPLAY.size&&a.symbol&&!Jj.includes(a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=He.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=He.staticSvg(f+"Size"+(l?"2":"1"),e);u=He.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=ea(a.body,e,!0);m.length===1&&m[0]instanceof Zs?(u=m[0],u.classes[0]="mop"):u=He.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new Es("mo",[ml(t.name,t.mode)]),Jj.includes(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Es("mo",Js(t.body,e));else{r=new Es("mi",[new pl(t.name.slice(1))]);var n=new Es("mo",[ml("\u2061","text")]);t.parentIsSupSub?r=new Es("mrow",[r,n]):r=Aj([r,n])}return r},"mathmlBuilder$1"),m8e={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};Ot({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=m8e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:mg,mathmlBuilder:P2});Ot({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Oi(n)}},"handler"),htmlBuilder:mg,mathmlBuilder:P2});g8e={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};Ot({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:mg,mathmlBuilder:P2});Ot({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:mg,mathmlBuilder:P2});Ot({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=g8e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:mg,mathmlBuilder:P2});eX=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Ir(t.base,"operatorname"),i=!0):a=Ir(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=ea(l,e.withFont("mathrm"),!0),h=0;h{for(var r=Js(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new vt.TextNode(l)]}var u=new vt.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new vt.MathNode("mo",[ml("\u2061","text")]);return t.parentIsSupSub?new vt.MathNode("mrow",[u,h]):vt.newDocumentFragment([u,h])},"mathmlBuilder");Ot({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:Oi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:eX,mathmlBuilder:y8e});ue("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Mp({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?He.makeFragment(ea(t.body,e,!1)):He.makeSpan(["mord"],ea(t.body,e,!0),e)},mathmlBuilder(t,e){return wf(t.body,e,!0)}});Ot({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=rn(t.body,e.havingCrampedStyle()),n=He.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return He.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new vt.MathNode("mo",[new vt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new vt.MathNode("mover",[Mn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Ot({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:Oi(n)}},"handler"),htmlBuilder:o((t,e)=>{var r=ea(t.body,e.withPhantom(),!1);return He.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Js(t.body,e);return new vt.MathNode("mphantom",r)},"mathmlBuilder")});Ot({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=He.makeSpan([],[rn(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=Js(Oi(t.body),e),n=new vt.MathNode("mphantom",r),i=new vt.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});Ot({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=He.makeSpan(["inner"],[rn(t.body,e.withPhantom())]),n=He.makeSpan(["fix"],[]);return He.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=Js(Oi(t.body),e),n=new vt.MathNode("mphantom",r),i=new vt.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});Ot({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=rn(t.body,e),n=bi(t.dy,e);return He.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new vt.MathNode("mpadded",[Mn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Ot({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Ot({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Ir(e[0],"size"),s=Ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=He.makeSpan(["mord","rule"],[],e),n=bi(t.width,e),i=bi(t.height,e),a=t.shift?bi(t.shift,e):0;return r.style.borderRightWidth=_t(n),r.style.borderTopWidth=_t(i),r.style.bottom=_t(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=bi(t.width,e),n=bi(t.height,e),i=t.shift?bi(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new vt.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",_t(r)),s.setAttribute("height",_t(n));var l=new vt.MathNode("mpadded",[s]);return i>=0?l.setAttribute("height",_t(i)):(l.setAttribute("height",_t(i)),l.setAttribute("depth",_t(-i))),l.setAttribute("voffset",_t(i)),l}});o(tX,"sizingGroup");rj=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],v8e=o((t,e)=>{var r=e.havingSize(t.size);return tX(t.body,r,e)},"htmlBuilder");Ot({type:"sizing",names:rj,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:rj.indexOf(n)+1,body:a}},"handler"),htmlBuilder:v8e,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),n=Js(t.body,r),i=new vt.MathNode("mstyle",n);return i.setAttribute("mathsize",_t(r.sizeMultiplier)),i},"mathmlBuilder")});Ot({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&Ir(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=He.makeSpan([],[rn(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new vt.MathNode("mpadded",[Mn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});Ot({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=rn(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=He.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=_t(f);var m=He.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(dr.SCRIPTSCRIPT),y=rn(t.index,g,e),v=.6*(m.height-m.depth),x=He.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=He.makeSpan(["root"],[x]);return He.makeSpan(["mord","sqrt"],[b,m],e)}else return He.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new vt.MathNode("mroot",[Mn(r,e),Mn(n,e)]):new vt.MathNode("msqrt",[Mn(r,e)])}});nj={display:dr.DISPLAY,text:dr.TEXT,script:dr.SCRIPT,scriptscript:dr.SCRIPTSCRIPT};Ot({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=nj[t.style],n=e.havingStyle(r).withFont("");return tX(t.body,n,e)},mathmlBuilder(t,e){var r=nj[t.style],n=e.havingStyle(r),i=Js(t.body,n),a=new vt.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});x8e=o(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===dr.DISPLAY.size||n.alwaysHandleSupSub);return i?mg:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===dr.DISPLAY.size||n.limits);return a?eX:null}else{if(n.type==="accent")return un.isCharacterBox(n.base)?nD:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?Qj:null}else return null}else return null},"htmlBuilderDelegate");Mp({type:"supsub",htmlBuilder(t,e){var r=x8e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=rn(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&un.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=rn(i,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=rn(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===dr.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=_t(.5/h.ptPerEm/v),b=null;if(u){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof Zs||T)&&(b=_t(-s.italic))}var E;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=h.defaultRuleThickness,k=4*w;if(f-l.depth-(u.height-d)0&&(f+=S,d-=S)}var A=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];E=He.makeVList({positionType:"individualShift",children:A},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var L=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];E=He.makeVList({positionType:"shift",positionData:d,children:L},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),E=He.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var I=q8(s,"right")||"mord";return He.makeSpan([I],[s,He.makeSpan(["msupsub"],[E])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Mn(t.base,e)];t.sub&&a.push(Mn(t.sub,e)),t.sup&&a.push(Mn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===dr.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===dr.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===dr.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===dr.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===dr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===dr.DISPLAY)?s="mover":s="msup"}return new vt.MathNode(s,a)}});Mp({type:"atom",htmlBuilder(t,e){return He.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new vt.MathNode("mo",[ml(t.text,t.mode)]);if(t.family==="bin"){var n=tD(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});rX={mi:"italic",mn:"normal",mtext:"normal"};Mp({type:"mathord",htmlBuilder(t,e){return He.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new vt.MathNode("mi",[ml(t.text,t.mode,e)]),n=tD(t,e)||"italic";return n!==rX[r.type]&&r.setAttribute("mathvariant",n),r}});Mp({type:"textord",htmlBuilder(t,e){return He.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=ml(t.text,t.mode,e),n=tD(t,e)||"normal",i;return t.mode==="text"?i=new vt.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new vt.MathNode("mn",[r]):t.text==="\\prime"?i=new vt.MathNode("mo",[r]):i=new vt.MathNode("mi",[r]),n!==rX[i.type]&&i.setAttribute("mathvariant",n),i}});P8={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},B8={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Mp({type:"spacing",htmlBuilder(t,e){if(B8.hasOwnProperty(t.text)){var r=B8[t.text].className||"";if(t.mode==="text"){var n=He.makeOrd(t,e,"textord");return n.classes.push(r),n}else return He.makeSpan(["mspace",r],[He.mathsym(t.text,t.mode,e)],e)}else{if(P8.hasOwnProperty(t.text))return He.makeSpan(["mspace",P8[t.text]],[],e);throw new bt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(B8.hasOwnProperty(t.text))r=new vt.MathNode("mtext",[new vt.TextNode("\xA0")]);else{if(P8.hasOwnProperty(t.text))return new vt.MathNode("mspace");throw new bt('Unknown type of space "'+t.text+'"')}return r}});ij=o(()=>{var t=new vt.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Mp({type:"tag",mathmlBuilder(t,e){var r=new vt.MathNode("mtable",[new vt.MathNode("mtr",[ij(),new vt.MathNode("mtd",[wf(t.body,e)]),ij(),new vt.MathNode("mtd",[wf(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});aj={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},sj={"\\textbf":"textbf","\\textmd":"textmd"},b8e={"\\textit":"textit","\\textup":"textup"},oj=o((t,e)=>{var r=t.font;if(r){if(aj[r])return e.withTextFontFamily(aj[r]);if(sj[r])return e.withTextFontWeight(sj[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(b8e[r])},"optionsWithFont");Ot({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:Oi(i),font:n}},htmlBuilder(t,e){var r=oj(t,e),n=ea(t.body,r,!0);return He.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=oj(t,e);return wf(t.body,r)}});Ot({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=rn(t.body,e),n=He.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=He.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return He.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new vt.MathNode("mo",[new vt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new vt.MathNode("munder",[Mn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Ot({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=rn(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return He.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new vt.MathNode("mpadded",[Mn(t.body,e)],["vcenter"])}});Ot({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new bt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=lj(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),bf=Sj,nX=`[ \r + ]`,T8e="\\\\[a-zA-Z@]+",w8e="\\\\[^\uD800-\uDFFF]",k8e="("+T8e+")"+nX+"*",E8e=`\\\\( |[ \r ]+ -?)[ \r ]*`,M_="[\u0300-\u036F]",V7e=new RegExp(M_+"+$"),q7e="("+kj+"+)|"+(G7e+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(M_+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(M_+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+z7e)+("|"+$7e+")"),cw=class{static{o(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(q7e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new sl("EOF",new Do(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new vt("Unexpected character: '"+e[r]+"'",new sl(e[r],new Do(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new sl(i,new Do(this,r,this.tokenRegex.lastIndex))}},I_=class{static{o(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new vt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},U7e=fj;fe("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});fe("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});fe("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});fe("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});fe("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});fe("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");fe("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});DY={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};fe("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new vt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=DY[e.text],n==null||n>=r)throw new vt("Invalid base-"+r+" digit "+e.text);for(var i;(i=DY[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new vt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new vt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new vt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var l=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var u="",h=t.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=t.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new vt("Invalid number of arguments: "+u);l=parseInt(u),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:l}),""},"newcommand");fe("\\newcommand",t=>K_(t,!1,!0,!1));fe("\\renewcommand",t=>K_(t,!0,!1,!1));fe("\\providecommand",t=>K_(t,!0,!0,!0));fe("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});fe("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});fe("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),pf[r],zn.math[r],zn.text[r]),""});fe("\\bgroup","{");fe("\\egroup","}");fe("~","\\nobreakspace");fe("\\lq","`");fe("\\rq","'");fe("\\aa","\\r a");fe("\\AA","\\r A");fe("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");fe("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");fe("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");fe("\u212C","\\mathscr{B}");fe("\u2130","\\mathscr{E}");fe("\u2131","\\mathscr{F}");fe("\u210B","\\mathscr{H}");fe("\u2110","\\mathscr{I}");fe("\u2112","\\mathscr{L}");fe("\u2133","\\mathscr{M}");fe("\u211B","\\mathscr{R}");fe("\u212D","\\mathfrak{C}");fe("\u210C","\\mathfrak{H}");fe("\u2128","\\mathfrak{Z}");fe("\\Bbbk","\\Bbb{k}");fe("\xB7","\\cdotp");fe("\\llap","\\mathllap{\\textrm{#1}}");fe("\\rlap","\\mathrlap{\\textrm{#1}}");fe("\\clap","\\mathclap{\\textrm{#1}}");fe("\\mathstrut","\\vphantom{(}");fe("\\underbar","\\underline{\\text{#1}}");fe("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');fe("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");fe("\\ne","\\neq");fe("\u2260","\\neq");fe("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");fe("\u2209","\\notin");fe("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");fe("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");fe("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");fe("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");fe("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");fe("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");fe("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");fe("\u27C2","\\perp");fe("\u203C","\\mathclose{!\\mkern-0.8mu!}");fe("\u220C","\\notni");fe("\u231C","\\ulcorner");fe("\u231D","\\urcorner");fe("\u231E","\\llcorner");fe("\u231F","\\lrcorner");fe("\xA9","\\copyright");fe("\xAE","\\textregistered");fe("\uFE0F","\\textregistered");fe("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');fe("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');fe("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');fe("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');fe("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");fe("\u22EE","\\vdots");fe("\\varGamma","\\mathit{\\Gamma}");fe("\\varDelta","\\mathit{\\Delta}");fe("\\varTheta","\\mathit{\\Theta}");fe("\\varLambda","\\mathit{\\Lambda}");fe("\\varXi","\\mathit{\\Xi}");fe("\\varPi","\\mathit{\\Pi}");fe("\\varSigma","\\mathit{\\Sigma}");fe("\\varUpsilon","\\mathit{\\Upsilon}");fe("\\varPhi","\\mathit{\\Phi}");fe("\\varPsi","\\mathit{\\Psi}");fe("\\varOmega","\\mathit{\\Omega}");fe("\\substack","\\begin{subarray}{c}#1\\end{subarray}");fe("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");fe("\\boxed","\\fbox{$\\displaystyle{#1}$}");fe("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");fe("\\implies","\\DOTSB\\;\\Longrightarrow\\;");fe("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");fe("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");fe("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");RY={",":"\\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"};fe("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in RY?e=RY[r]:(r.slice(0,4)==="\\not"||r in zn.math&&ar.contains(["bin","rel"],zn.math[r].group))&&(e="\\dotsb"),e});Q_={")":!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};fe("\\dotso",function(t){var e=t.future().text;return e in Q_?"\\ldots\\,":"\\ldots"});fe("\\dotsc",function(t){var e=t.future().text;return e in Q_&&e!==","?"\\ldots\\,":"\\ldots"});fe("\\cdots",function(t){var e=t.future().text;return e in Q_?"\\@cdots\\,":"\\@cdots"});fe("\\dotsb","\\cdots");fe("\\dotsm","\\cdots");fe("\\dotsi","\\!\\cdots");fe("\\dotsx","\\ldots\\,");fe("\\DOTSI","\\relax");fe("\\DOTSB","\\relax");fe("\\DOTSX","\\relax");fe("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");fe("\\,","\\tmspace+{3mu}{.1667em}");fe("\\thinspace","\\,");fe("\\>","\\mskip{4mu}");fe("\\:","\\tmspace+{4mu}{.2222em}");fe("\\medspace","\\:");fe("\\;","\\tmspace+{5mu}{.2777em}");fe("\\thickspace","\\;");fe("\\!","\\tmspace-{3mu}{.1667em}");fe("\\negthinspace","\\!");fe("\\negmedspace","\\tmspace-{4mu}{.2222em}");fe("\\negthickspace","\\tmspace-{5mu}{.277em}");fe("\\enspace","\\kern.5em ");fe("\\enskip","\\hskip.5em\\relax");fe("\\quad","\\hskip1em\\relax");fe("\\qquad","\\hskip2em\\relax");fe("\\tag","\\@ifstar\\tag@literal\\tag@paren");fe("\\tag@paren","\\tag@literal{({#1})}");fe("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new vt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});fe("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");fe("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");fe("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");fe("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");fe("\\newline","\\\\\\relax");fe("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");Sj=_t(Oc["Main-Regular"][84][1]-.7*Oc["Main-Regular"][65][1]);fe("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Sj+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");fe("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Sj+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");fe("\\hspace","\\@ifstar\\@hspacer\\@hspace");fe("\\@hspace","\\hskip #1\\relax");fe("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");fe("\\ordinarycolon",":");fe("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");fe("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');fe("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');fe("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');fe("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');fe("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');fe("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');fe("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');fe("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');fe("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');fe("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');fe("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');fe("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');fe("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');fe("\u2237","\\dblcolon");fe("\u2239","\\eqcolon");fe("\u2254","\\coloneqq");fe("\u2255","\\eqqcolon");fe("\u2A74","\\Coloneqq");fe("\\ratio","\\vcentcolon");fe("\\coloncolon","\\dblcolon");fe("\\colonequals","\\coloneqq");fe("\\coloncolonequals","\\Coloneqq");fe("\\equalscolon","\\eqqcolon");fe("\\equalscoloncolon","\\Eqqcolon");fe("\\colonminus","\\coloneq");fe("\\coloncolonminus","\\Coloneq");fe("\\minuscolon","\\eqcolon");fe("\\minuscoloncolon","\\Eqcolon");fe("\\coloncolonapprox","\\Colonapprox");fe("\\coloncolonsim","\\Colonsim");fe("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");fe("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");fe("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");fe("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");fe("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");fe("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");fe("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");fe("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");fe("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");fe("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");fe("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");fe("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");fe("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");fe("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");fe("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");fe("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");fe("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");fe("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");fe("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");fe("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");fe("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");fe("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");fe("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");fe("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");fe("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");fe("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");fe("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");fe("\\imath","\\html@mathml{\\@imath}{\u0131}");fe("\\jmath","\\html@mathml{\\@jmath}{\u0237}");fe("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");fe("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");fe("\u27E6","\\llbracket");fe("\u27E7","\\rrbracket");fe("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");fe("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");fe("\u2983","\\lBrace");fe("\u2984","\\rBrace");fe("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");fe("\u29B5","\\minuso");fe("\\darr","\\downarrow");fe("\\dArr","\\Downarrow");fe("\\Darr","\\Downarrow");fe("\\lang","\\langle");fe("\\rang","\\rangle");fe("\\uarr","\\uparrow");fe("\\uArr","\\Uparrow");fe("\\Uarr","\\Uparrow");fe("\\N","\\mathbb{N}");fe("\\R","\\mathbb{R}");fe("\\Z","\\mathbb{Z}");fe("\\alef","\\aleph");fe("\\alefsym","\\aleph");fe("\\Alpha","\\mathrm{A}");fe("\\Beta","\\mathrm{B}");fe("\\bull","\\bullet");fe("\\Chi","\\mathrm{X}");fe("\\clubs","\\clubsuit");fe("\\cnums","\\mathbb{C}");fe("\\Complex","\\mathbb{C}");fe("\\Dagger","\\ddagger");fe("\\diamonds","\\diamondsuit");fe("\\empty","\\emptyset");fe("\\Epsilon","\\mathrm{E}");fe("\\Eta","\\mathrm{H}");fe("\\exist","\\exists");fe("\\harr","\\leftrightarrow");fe("\\hArr","\\Leftrightarrow");fe("\\Harr","\\Leftrightarrow");fe("\\hearts","\\heartsuit");fe("\\image","\\Im");fe("\\infin","\\infty");fe("\\Iota","\\mathrm{I}");fe("\\isin","\\in");fe("\\Kappa","\\mathrm{K}");fe("\\larr","\\leftarrow");fe("\\lArr","\\Leftarrow");fe("\\Larr","\\Leftarrow");fe("\\lrarr","\\leftrightarrow");fe("\\lrArr","\\Leftrightarrow");fe("\\Lrarr","\\Leftrightarrow");fe("\\Mu","\\mathrm{M}");fe("\\natnums","\\mathbb{N}");fe("\\Nu","\\mathrm{N}");fe("\\Omicron","\\mathrm{O}");fe("\\plusmn","\\pm");fe("\\rarr","\\rightarrow");fe("\\rArr","\\Rightarrow");fe("\\Rarr","\\Rightarrow");fe("\\real","\\Re");fe("\\reals","\\mathbb{R}");fe("\\Reals","\\mathbb{R}");fe("\\Rho","\\mathrm{P}");fe("\\sdot","\\cdot");fe("\\sect","\\S");fe("\\spades","\\spadesuit");fe("\\sub","\\subset");fe("\\sube","\\subseteq");fe("\\supe","\\supseteq");fe("\\Tau","\\mathrm{T}");fe("\\thetasym","\\vartheta");fe("\\weierp","\\wp");fe("\\Zeta","\\mathrm{Z}");fe("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");fe("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");fe("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");fe("\\bra","\\mathinner{\\langle{#1}|}");fe("\\ket","\\mathinner{|{#1}\\rangle}");fe("\\braket","\\mathinner{\\langle{#1}\\rangle}");fe("\\Bra","\\left\\langle#1\\right|");fe("\\Ket","\\left|#1\\right\\rangle");Ej=o(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");fe("\\bra@ket",Ej(!1));fe("\\bra@set",Ej(!0));fe("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");fe("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");fe("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");fe("\\angln","{\\angl n}");fe("\\blue","\\textcolor{##6495ed}{#1}");fe("\\orange","\\textcolor{##ffa500}{#1}");fe("\\pink","\\textcolor{##ff00af}{#1}");fe("\\red","\\textcolor{##df0030}{#1}");fe("\\green","\\textcolor{##28ae7b}{#1}");fe("\\gray","\\textcolor{gray}{#1}");fe("\\purple","\\textcolor{##9d38bd}{#1}");fe("\\blueA","\\textcolor{##ccfaff}{#1}");fe("\\blueB","\\textcolor{##80f6ff}{#1}");fe("\\blueC","\\textcolor{##63d9ea}{#1}");fe("\\blueD","\\textcolor{##11accd}{#1}");fe("\\blueE","\\textcolor{##0c7f99}{#1}");fe("\\tealA","\\textcolor{##94fff5}{#1}");fe("\\tealB","\\textcolor{##26edd5}{#1}");fe("\\tealC","\\textcolor{##01d1c1}{#1}");fe("\\tealD","\\textcolor{##01a995}{#1}");fe("\\tealE","\\textcolor{##208170}{#1}");fe("\\greenA","\\textcolor{##b6ffb0}{#1}");fe("\\greenB","\\textcolor{##8af281}{#1}");fe("\\greenC","\\textcolor{##74cf70}{#1}");fe("\\greenD","\\textcolor{##1fab54}{#1}");fe("\\greenE","\\textcolor{##0d923f}{#1}");fe("\\goldA","\\textcolor{##ffd0a9}{#1}");fe("\\goldB","\\textcolor{##ffbb71}{#1}");fe("\\goldC","\\textcolor{##ff9c39}{#1}");fe("\\goldD","\\textcolor{##e07d10}{#1}");fe("\\goldE","\\textcolor{##a75a05}{#1}");fe("\\redA","\\textcolor{##fca9a9}{#1}");fe("\\redB","\\textcolor{##ff8482}{#1}");fe("\\redC","\\textcolor{##f9685d}{#1}");fe("\\redD","\\textcolor{##e84d39}{#1}");fe("\\redE","\\textcolor{##bc2612}{#1}");fe("\\maroonA","\\textcolor{##ffbde0}{#1}");fe("\\maroonB","\\textcolor{##ff92c6}{#1}");fe("\\maroonC","\\textcolor{##ed5fa6}{#1}");fe("\\maroonD","\\textcolor{##ca337c}{#1}");fe("\\maroonE","\\textcolor{##9e034e}{#1}");fe("\\purpleA","\\textcolor{##ddd7ff}{#1}");fe("\\purpleB","\\textcolor{##c6b9fc}{#1}");fe("\\purpleC","\\textcolor{##aa87ff}{#1}");fe("\\purpleD","\\textcolor{##7854ab}{#1}");fe("\\purpleE","\\textcolor{##543b78}{#1}");fe("\\mintA","\\textcolor{##f5f9e8}{#1}");fe("\\mintB","\\textcolor{##edf2df}{#1}");fe("\\mintC","\\textcolor{##e0e5cc}{#1}");fe("\\grayA","\\textcolor{##f6f7f7}{#1}");fe("\\grayB","\\textcolor{##f0f1f2}{#1}");fe("\\grayC","\\textcolor{##e3e5e6}{#1}");fe("\\grayD","\\textcolor{##d6d8da}{#1}");fe("\\grayE","\\textcolor{##babec2}{#1}");fe("\\grayF","\\textcolor{##888d93}{#1}");fe("\\grayG","\\textcolor{##626569}{#1}");fe("\\grayH","\\textcolor{##3b3e40}{#1}");fe("\\grayI","\\textcolor{##21242c}{#1}");fe("\\kaBlue","\\textcolor{##314453}{#1}");fe("\\kaGreen","\\textcolor{##71B307}{#1}");Cj={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},O_=class{static{o(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new I_(U7e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new cw(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new sl("EOF",n.loc)),this.pushTokens(i),r.range(n,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new vt("Extra }",a)}else if(a.text==="EOF")throw new vt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new vt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new vt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new vt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new vt("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new vt("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new sl(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var s=i.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new cw(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||pf.hasOwnProperty(e)||zn.math.hasOwnProperty(e)||zn.text.hasOwnProperty(e)||Cj.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:pf.hasOwnProperty(e)&&!pf[e].primitive}},LY=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,tw=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),k_={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},NY={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},uw=class t{static{o(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new O_(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new vt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new sl("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&pf[i.text]&&pf[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=zn[this.mode][r].group,u=Do.range(e),h;if(OAe.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(IY(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Do.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),ff.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var Lp,H7e,Y7e,Bj,Oj,fr,X7e,K7e,Q7e,Z7e,Fj,Np,Sr,J7e,e8e,zc,eD,t8e,r8e,Pj,vw,Nn,Mp,n8e,vf,nt,wr=I(()=>{"use strict";u_();Lp=//gi,H7e=o(t=>t?Fj(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Y7e=(()=>{let t=!1;return()=>{t||(j7e(),t=!0)}})();o(j7e,"setupDompurifyHooks");Bj=o(t=>(Y7e(),ff.sanitize(t)),"removeScript"),Oj=o((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;r==="antiscript"||r==="strict"?t=Bj(t):r!=="loose"&&(t=Fj(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Z7e(t))}return t},"sanitizeMore"),fr=o((t,e)=>t&&(e.dompurifyConfig?t=ff.sanitize(Oj(t,e),e.dompurifyConfig).toString():t=ff.sanitize(Oj(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),X7e=o((t,e)=>typeof t=="string"?fr(t,e):t.flat().map(r=>fr(r,e)),"sanitizeTextOrArray"),K7e=o(t=>Lp.test(t),"hasBreaks"),Q7e=o(t=>t.split(Lp),"splitBreaks"),Z7e=o(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),Fj=o(t=>t.replace(Lp,"#br#"),"breakToPlaceholder"),Np=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),Sr=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),J7e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),e8e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),zc=o(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),t8e=o((t,e)=>{let r=eD(t,"~"),n=eD(e,"~");return r===1&&n===1},"shouldCombineSets"),r8e=o(t=>{let e=eD(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),Pj=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),vw=/\$\$(.*)\$\$/g,Nn=o(t=>(t.match(vw)?.length??0)>0,"hasKatex"),Mp=o(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await vf(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),n8e=o(async(t,e)=>{if(!Nn(t))return t;if(!(Pj()||e.legacyMathML||e.forceLegacyMathML))return t.replace(vw,"MathML is unsupported in this environment.");{let{default:r}=await Promise.resolve().then(()=>(Ij(),Mj)),n=e.forceLegacyMathML||!Pj()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Lp).map(i=>Nn(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(vw,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}return t.replace(vw,"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.")},"renderKatexUnsanitized"),vf=o(async(t,e)=>fr(await n8e(t,e),e),"renderKatexSanitized"),nt={getRows:H7e,sanitizeText:fr,sanitizeTextOrArray:X7e,hasBreaks:K7e,splitBreaks:Q7e,lineBreakRegex:Lp,removeScript:Bj,getUrl:Np,evaluate:Sr,getMax:J7e,getMin:e8e}});var rD,tD,$j,xw,zj,Gj,Ks,Gc=I(()=>{"use strict";YW();ti();wr();gt();rD={body:'?',height:80,width:80},tD=new Map,$j=new Map,xw=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(X.debug("Registering icon pack:",e.name),"loader"in e)$j.set(e.name,e.loader);else if("icons"in e)tD.set(e.name,e.icons);else throw X.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),zj=o(async(t,e)=>{let r=L8(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=tD.get(n);if(!i){let s=$j.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},tD.set(n,i)}catch(l){throw X.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=M8(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),Gj=o(async t=>{try{return await zj(t),!0}catch{return!1}},"isIconAvailable"),Ks=o(async(t,e,r)=>{let n;try{n=await zj(t,e?.fallbackPrefix)}catch(s){X.error(s),n=rD}let i=O8(n,e),a=B8(P8(i.body),{...i.attributes,...r});return fr(a,tr())},"getIconSVG")});function bw(t){for(var e=[],r=1;r0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},A8e=Hj;ue("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});ue("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});ue("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});ue("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});ue("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});ue("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");ue("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});cj={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};ue("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new bt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=cj[e.text],n==null||n>=r)throw new bt("Invalid base-"+r+" digit "+e.text);for(var i;(i=cj[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new bt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new bt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new bt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var l=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var u="",h=t.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=t.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new bt("Invalid number of arguments: "+u);l=parseInt(u),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:l}),""},"newcommand");ue("\\newcommand",t=>hD(t,!1,!0,!1));ue("\\renewcommand",t=>hD(t,!0,!1,!1));ue("\\providecommand",t=>hD(t,!0,!0,!0));ue("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});ue("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});ue("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),bf[r],qn.math[r],qn.text[r]),""});ue("\\bgroup","{");ue("\\egroup","}");ue("~","\\nobreakspace");ue("\\lq","`");ue("\\rq","'");ue("\\aa","\\r a");ue("\\AA","\\r A");ue("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");ue("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");ue("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");ue("\u212C","\\mathscr{B}");ue("\u2130","\\mathscr{E}");ue("\u2131","\\mathscr{F}");ue("\u210B","\\mathscr{H}");ue("\u2110","\\mathscr{I}");ue("\u2112","\\mathscr{L}");ue("\u2133","\\mathscr{M}");ue("\u211B","\\mathscr{R}");ue("\u212D","\\mathfrak{C}");ue("\u210C","\\mathfrak{H}");ue("\u2128","\\mathfrak{Z}");ue("\\Bbbk","\\Bbb{k}");ue("\xB7","\\cdotp");ue("\\llap","\\mathllap{\\textrm{#1}}");ue("\\rlap","\\mathrlap{\\textrm{#1}}");ue("\\clap","\\mathclap{\\textrm{#1}}");ue("\\mathstrut","\\vphantom{(}");ue("\\underbar","\\underline{\\text{#1}}");ue("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');ue("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");ue("\\ne","\\neq");ue("\u2260","\\neq");ue("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");ue("\u2209","\\notin");ue("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");ue("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");ue("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");ue("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");ue("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");ue("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");ue("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");ue("\u27C2","\\perp");ue("\u203C","\\mathclose{!\\mkern-0.8mu!}");ue("\u220C","\\notni");ue("\u231C","\\ulcorner");ue("\u231D","\\urcorner");ue("\u231E","\\llcorner");ue("\u231F","\\lrcorner");ue("\xA9","\\copyright");ue("\xAE","\\textregistered");ue("\uFE0F","\\textregistered");ue("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');ue("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');ue("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');ue("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');ue("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");ue("\u22EE","\\vdots");ue("\\varGamma","\\mathit{\\Gamma}");ue("\\varDelta","\\mathit{\\Delta}");ue("\\varTheta","\\mathit{\\Theta}");ue("\\varLambda","\\mathit{\\Lambda}");ue("\\varXi","\\mathit{\\Xi}");ue("\\varPi","\\mathit{\\Pi}");ue("\\varSigma","\\mathit{\\Sigma}");ue("\\varUpsilon","\\mathit{\\Upsilon}");ue("\\varPhi","\\mathit{\\Phi}");ue("\\varPsi","\\mathit{\\Psi}");ue("\\varOmega","\\mathit{\\Omega}");ue("\\substack","\\begin{subarray}{c}#1\\end{subarray}");ue("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");ue("\\boxed","\\fbox{$\\displaystyle{#1}$}");ue("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");ue("\\implies","\\DOTSB\\;\\Longrightarrow\\;");ue("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");ue("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");ue("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");uj={",":"\\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"};ue("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in uj?e=uj[r]:(r.slice(0,4)==="\\not"||r in qn.math&&["bin","rel"].includes(qn.math[r].group))&&(e="\\dotsb"),e});fD={")":!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};ue("\\dotso",function(t){var e=t.future().text;return e in fD?"\\ldots\\,":"\\ldots"});ue("\\dotsc",function(t){var e=t.future().text;return e in fD&&e!==","?"\\ldots\\,":"\\ldots"});ue("\\cdots",function(t){var e=t.future().text;return e in fD?"\\@cdots\\,":"\\@cdots"});ue("\\dotsb","\\cdots");ue("\\dotsm","\\cdots");ue("\\dotsi","\\!\\cdots");ue("\\dotsx","\\ldots\\,");ue("\\DOTSI","\\relax");ue("\\DOTSB","\\relax");ue("\\DOTSX","\\relax");ue("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");ue("\\,","\\tmspace+{3mu}{.1667em}");ue("\\thinspace","\\,");ue("\\>","\\mskip{4mu}");ue("\\:","\\tmspace+{4mu}{.2222em}");ue("\\medspace","\\:");ue("\\;","\\tmspace+{5mu}{.2777em}");ue("\\thickspace","\\;");ue("\\!","\\tmspace-{3mu}{.1667em}");ue("\\negthinspace","\\!");ue("\\negmedspace","\\tmspace-{4mu}{.2222em}");ue("\\negthickspace","\\tmspace-{5mu}{.277em}");ue("\\enspace","\\kern.5em ");ue("\\enskip","\\hskip.5em\\relax");ue("\\quad","\\hskip1em\\relax");ue("\\qquad","\\hskip2em\\relax");ue("\\tag","\\@ifstar\\tag@literal\\tag@paren");ue("\\tag@paren","\\tag@literal{({#1})}");ue("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new bt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});ue("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");ue("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");ue("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");ue("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");ue("\\newline","\\\\\\relax");ue("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");iX=_t(qc["Main-Regular"][84][1]-.7*qc["Main-Regular"][65][1]);ue("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+iX+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");ue("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+iX+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");ue("\\hspace","\\@ifstar\\@hspacer\\@hspace");ue("\\@hspace","\\hskip #1\\relax");ue("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");ue("\\ordinarycolon",":");ue("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");ue("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');ue("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');ue("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');ue("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');ue("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');ue("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');ue("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');ue("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');ue("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');ue("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');ue("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');ue("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');ue("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');ue("\u2237","\\dblcolon");ue("\u2239","\\eqcolon");ue("\u2254","\\coloneqq");ue("\u2255","\\eqqcolon");ue("\u2A74","\\Coloneqq");ue("\\ratio","\\vcentcolon");ue("\\coloncolon","\\dblcolon");ue("\\colonequals","\\coloneqq");ue("\\coloncolonequals","\\Coloneqq");ue("\\equalscolon","\\eqqcolon");ue("\\equalscoloncolon","\\Eqqcolon");ue("\\colonminus","\\coloneq");ue("\\coloncolonminus","\\Coloneq");ue("\\minuscolon","\\eqcolon");ue("\\minuscoloncolon","\\Eqcolon");ue("\\coloncolonapprox","\\Colonapprox");ue("\\coloncolonsim","\\Colonsim");ue("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ue("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");ue("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");ue("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");ue("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");ue("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");ue("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");ue("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");ue("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");ue("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");ue("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");ue("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");ue("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");ue("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");ue("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");ue("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");ue("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");ue("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");ue("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");ue("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");ue("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");ue("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");ue("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");ue("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");ue("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");ue("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");ue("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");ue("\\imath","\\html@mathml{\\@imath}{\u0131}");ue("\\jmath","\\html@mathml{\\@jmath}{\u0237}");ue("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");ue("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");ue("\u27E6","\\llbracket");ue("\u27E7","\\rrbracket");ue("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");ue("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");ue("\u2983","\\lBrace");ue("\u2984","\\rBrace");ue("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");ue("\u29B5","\\minuso");ue("\\darr","\\downarrow");ue("\\dArr","\\Downarrow");ue("\\Darr","\\Downarrow");ue("\\lang","\\langle");ue("\\rang","\\rangle");ue("\\uarr","\\uparrow");ue("\\uArr","\\Uparrow");ue("\\Uarr","\\Uparrow");ue("\\N","\\mathbb{N}");ue("\\R","\\mathbb{R}");ue("\\Z","\\mathbb{Z}");ue("\\alef","\\aleph");ue("\\alefsym","\\aleph");ue("\\Alpha","\\mathrm{A}");ue("\\Beta","\\mathrm{B}");ue("\\bull","\\bullet");ue("\\Chi","\\mathrm{X}");ue("\\clubs","\\clubsuit");ue("\\cnums","\\mathbb{C}");ue("\\Complex","\\mathbb{C}");ue("\\Dagger","\\ddagger");ue("\\diamonds","\\diamondsuit");ue("\\empty","\\emptyset");ue("\\Epsilon","\\mathrm{E}");ue("\\Eta","\\mathrm{H}");ue("\\exist","\\exists");ue("\\harr","\\leftrightarrow");ue("\\hArr","\\Leftrightarrow");ue("\\Harr","\\Leftrightarrow");ue("\\hearts","\\heartsuit");ue("\\image","\\Im");ue("\\infin","\\infty");ue("\\Iota","\\mathrm{I}");ue("\\isin","\\in");ue("\\Kappa","\\mathrm{K}");ue("\\larr","\\leftarrow");ue("\\lArr","\\Leftarrow");ue("\\Larr","\\Leftarrow");ue("\\lrarr","\\leftrightarrow");ue("\\lrArr","\\Leftrightarrow");ue("\\Lrarr","\\Leftrightarrow");ue("\\Mu","\\mathrm{M}");ue("\\natnums","\\mathbb{N}");ue("\\Nu","\\mathrm{N}");ue("\\Omicron","\\mathrm{O}");ue("\\plusmn","\\pm");ue("\\rarr","\\rightarrow");ue("\\rArr","\\Rightarrow");ue("\\Rarr","\\Rightarrow");ue("\\real","\\Re");ue("\\reals","\\mathbb{R}");ue("\\Reals","\\mathbb{R}");ue("\\Rho","\\mathrm{P}");ue("\\sdot","\\cdot");ue("\\sect","\\S");ue("\\spades","\\spadesuit");ue("\\sub","\\subset");ue("\\sube","\\subseteq");ue("\\supe","\\supseteq");ue("\\Tau","\\mathrm{T}");ue("\\thetasym","\\vartheta");ue("\\weierp","\\wp");ue("\\Zeta","\\mathrm{Z}");ue("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");ue("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");ue("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");ue("\\bra","\\mathinner{\\langle{#1}|}");ue("\\ket","\\mathinner{|{#1}\\rangle}");ue("\\braket","\\mathinner{\\langle{#1}\\rangle}");ue("\\Bra","\\left\\langle#1\\right|");ue("\\Ket","\\left|#1\\right\\rangle");aX=o(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");ue("\\bra@ket",aX(!1));ue("\\bra@set",aX(!0));ue("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");ue("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");ue("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");ue("\\angln","{\\angl n}");ue("\\blue","\\textcolor{##6495ed}{#1}");ue("\\orange","\\textcolor{##ffa500}{#1}");ue("\\pink","\\textcolor{##ff00af}{#1}");ue("\\red","\\textcolor{##df0030}{#1}");ue("\\green","\\textcolor{##28ae7b}{#1}");ue("\\gray","\\textcolor{gray}{#1}");ue("\\purple","\\textcolor{##9d38bd}{#1}");ue("\\blueA","\\textcolor{##ccfaff}{#1}");ue("\\blueB","\\textcolor{##80f6ff}{#1}");ue("\\blueC","\\textcolor{##63d9ea}{#1}");ue("\\blueD","\\textcolor{##11accd}{#1}");ue("\\blueE","\\textcolor{##0c7f99}{#1}");ue("\\tealA","\\textcolor{##94fff5}{#1}");ue("\\tealB","\\textcolor{##26edd5}{#1}");ue("\\tealC","\\textcolor{##01d1c1}{#1}");ue("\\tealD","\\textcolor{##01a995}{#1}");ue("\\tealE","\\textcolor{##208170}{#1}");ue("\\greenA","\\textcolor{##b6ffb0}{#1}");ue("\\greenB","\\textcolor{##8af281}{#1}");ue("\\greenC","\\textcolor{##74cf70}{#1}");ue("\\greenD","\\textcolor{##1fab54}{#1}");ue("\\greenE","\\textcolor{##0d923f}{#1}");ue("\\goldA","\\textcolor{##ffd0a9}{#1}");ue("\\goldB","\\textcolor{##ffbb71}{#1}");ue("\\goldC","\\textcolor{##ff9c39}{#1}");ue("\\goldD","\\textcolor{##e07d10}{#1}");ue("\\goldE","\\textcolor{##a75a05}{#1}");ue("\\redA","\\textcolor{##fca9a9}{#1}");ue("\\redB","\\textcolor{##ff8482}{#1}");ue("\\redC","\\textcolor{##f9685d}{#1}");ue("\\redD","\\textcolor{##e84d39}{#1}");ue("\\redE","\\textcolor{##bc2612}{#1}");ue("\\maroonA","\\textcolor{##ffbde0}{#1}");ue("\\maroonB","\\textcolor{##ff92c6}{#1}");ue("\\maroonC","\\textcolor{##ed5fa6}{#1}");ue("\\maroonD","\\textcolor{##ca337c}{#1}");ue("\\maroonE","\\textcolor{##9e034e}{#1}");ue("\\purpleA","\\textcolor{##ddd7ff}{#1}");ue("\\purpleB","\\textcolor{##c6b9fc}{#1}");ue("\\purpleC","\\textcolor{##aa87ff}{#1}");ue("\\purpleD","\\textcolor{##7854ab}{#1}");ue("\\purpleE","\\textcolor{##543b78}{#1}");ue("\\mintA","\\textcolor{##f5f9e8}{#1}");ue("\\mintB","\\textcolor{##edf2df}{#1}");ue("\\mintC","\\textcolor{##e0e5cc}{#1}");ue("\\grayA","\\textcolor{##f6f7f7}{#1}");ue("\\grayB","\\textcolor{##f0f1f2}{#1}");ue("\\grayC","\\textcolor{##e3e5e6}{#1}");ue("\\grayD","\\textcolor{##d6d8da}{#1}");ue("\\grayE","\\textcolor{##babec2}{#1}");ue("\\grayF","\\textcolor{##888d93}{#1}");ue("\\grayG","\\textcolor{##626569}{#1}");ue("\\grayH","\\textcolor{##3b3e40}{#1}");ue("\\grayI","\\textcolor{##21242c}{#1}");ue("\\kaBlue","\\textcolor{##314453}{#1}");ue("\\kaGreen","\\textcolor{##71B307}{#1}");sX={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},K8=class{static{o(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new X8(A8e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new ww(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new Po("EOF",n.loc)),this.pushTokens(i),new Po("",Qs.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new bt("Extra }",a)}else if(a.text==="EOF")throw new bt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new bt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new bt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new bt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new bt("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new bt("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Po(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var s=i.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new ww(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||bf.hasOwnProperty(e)||qn.math.hasOwnProperty(e)||qn.text.hasOwnProperty(e)||sX.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:bf.hasOwnProperty(e)&&!bf[e].primitive}},hj=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,pw=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),F8={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},fj={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},kw=class t{static{o(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new K8(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new bt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new Po("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&bf[i.text]&&bf[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=qn[this.mode][r].group,u=Qs.range(e),h;if(v_e.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(pj(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Qs.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),fl.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var Ip,D8e,R8e,yX,mX,wr,N8e,M8e,I8e,O8e,vX,Op,P8e,B8e,jc,mD,F8e,$8e,gX,Lw,Jn,Pp,z8e,gg,st,Ur=O(()=>{"use strict";S2();$r();Ip=//gi,D8e=o(t=>t?vX(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),R8e=(()=>{let t=!1;return()=>{t||(L8e(),t=!0)}})();o(L8e,"setupDompurifyHooks");yX=o(t=>(R8e(),fl.sanitize(t)),"removeScript"),mX=o((t,e)=>{if(Sr(e)){let r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=yX(t):r!=="loose"&&(t=vX(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=O8e(t))}return t},"sanitizeMore"),wr=o((t,e)=>t&&(e.dompurifyConfig?t=fl.sanitize(mX(t,e),e.dompurifyConfig).toString():t=fl.sanitize(mX(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),N8e=o((t,e)=>typeof t=="string"?wr(t,e):t.flat().map(r=>wr(r,e)),"sanitizeTextOrArray"),M8e=o(t=>Ip.test(t),"hasBreaks"),I8e=o(t=>t.split(Ip),"splitBreaks"),O8e=o(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),vX=o(t=>t.replace(Ip,"#br#"),"breakToPlaceholder"),Op=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),P8e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),B8e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),jc=o(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),F8e=o((t,e)=>{let r=mD(t,"~"),n=mD(e,"~");return r===1&&n===1},"shouldCombineSets"),$8e=o(t=>{let e=mD(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),gX=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),Lw=/\$\$(.*)\$\$/g,Jn=o(t=>(t.match(Lw)?.length??0)>0,"hasKatex"),Pp=o(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await gg(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),z8e=o(async(t,e)=>{if(!Jn(t))return t;if(!(gX()||e.legacyMathML||e.forceLegacyMathML))return t.replace(Lw,"MathML is unsupported in this environment.");{let{default:r}=await Promise.resolve().then(()=>(pX(),dX)),n=e.forceLegacyMathML||!gX()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Ip).map(i=>Jn(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(Lw,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}return t.replace(Lw,"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.")},"renderKatexUnsanitized"),gg=o(async(t,e)=>wr(await z8e(t,e),e),"renderKatexSanitized"),st={getRows:D8e,sanitizeText:wr,sanitizeTextOrArray:N8e,hasBreaks:M8e,splitBreaks:I8e,lineBreakRegex:Ip,removeScript:yX,getUrl:Op,evaluate:Xs,getMax:P8e,getMin:B8e}});var yD,gD,xX,Nw,bX,TX,eo,Xc=O(()=>{"use strict";AH();$r();Ur();xt();yD={body:'?',height:80,width:80},gD=new Map,xX=new Map,Nw=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(K.debug("Registering icon pack:",e.name),"loader"in e)xX.set(e.name,e.loader);else if("icons"in e)gD.set(e.name,e.icons);else throw K.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),bX=o(async(t,e)=>{let r=H_(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=gD.get(n);if(!i){let s=xX.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},gD.set(n,i)}catch(l){throw K.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=j_(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),TX=o(async t=>{try{return await bX(t),!0}catch{return!1}},"isIconAvailable"),eo=o(async(t,e,r)=>{let n;try{n=await bX(t,e?.fallbackPrefix)}catch(s){K.error(s),n=yD}let i=K_(n,e),a=Z_(Q_(i.body),{...i.attributes,...r});return wr(a,Zt())},"getIconSVG")});function Mw(t){for(var e=[],r=1;r{"use strict";o(bw,"dedent")});var Tw,Ip,Vj,ww=I(()=>{"use strict";Tw=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Ip=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Vj=/\s*%%.*\n/gm});var ug,iD=I(()=>{"use strict";ug=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var ah,hg,S2,aD,qj,Op=I(()=>{"use strict";gt();ww();iD();ah={},hg=o(function(t,e){t=t.replace(Tw,"").replace(Ip,"").replace(Vj,` -`);for(let[r,{detector:n}]of Object.entries(ah))if(n(t,e))return r;throw new ug(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),S2=o((...t)=>{for(let{id:e,detector:r,loader:n}of t)aD(e,r,n)},"registerLazyLoadedDiagrams"),aD=o((t,e,r)=>{ah[t]&&X.warn(`Detector with key ${t} already exists. Overwriting.`),ah[t]={detector:e,loader:r},X.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),qj=o(t=>ah[t].loader,"getDiagramLoader")});var E2,Uj,sD=I(()=>{"use strict";E2=(function(){var t=o(function(Ue,Le,Ie,Me){for(Ie=Ie||{},Me=Ue.length;Me--;Ie[Ue[Me]]=Le);return Ie},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],T=[1,35],E=[1,36],w=[1,37],k=[1,38],C=[1,39],D=[1,40],R=[1,41],O=[1,42],L=[1,43],S=[1,44],A=[1,45],_=[1,46],N=[1,47],M=[1,48],P=[1,50],B=[1,51],F=[1,52],G=[1,53],$=[1,54],V=[1,55],K=[1,56],ee=[1,57],H=[1,58],he=[1,59],Z=[1,60],de=[14,42],re=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ne=[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],te=[1,82],Q=[1,83],le=[1,84],J=[1,85],ge=[12,14,42],ie=[12,14,33,42],Te=[12,14,33,42,76,77,79,80],j=[12,33],Ge=[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],ye={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:o(function(Le,Ie,Me,Ae,ze,Y,ce){var U=Y.length-1;switch(ze){case 3:Ae.setDirection("TB");break;case 4:Ae.setDirection("BT");break;case 5:Ae.setDirection("RL");break;case 6:Ae.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ae.setC4Type(Y[U-3]);break;case 19:Ae.setTitle(Y[U].substring(6)),this.$=Y[U].substring(6);break;case 20:Ae.setAccDescription(Y[U].substring(15)),this.$=Y[U].substring(15);break;case 21:this.$=Y[U].trim(),Ae.setTitle(this.$);break;case 22:case 23:this.$=Y[U].trim(),Ae.setAccDescription(this.$);break;case 28:Y[U].splice(2,0,"ENTERPRISE"),Ae.addPersonOrSystemBoundary(...Y[U]),this.$=Y[U];break;case 29:Y[U].splice(2,0,"SYSTEM"),Ae.addPersonOrSystemBoundary(...Y[U]),this.$=Y[U];break;case 30:Ae.addPersonOrSystemBoundary(...Y[U]),this.$=Y[U];break;case 31:Y[U].splice(2,0,"CONTAINER"),Ae.addContainerBoundary(...Y[U]),this.$=Y[U];break;case 32:Ae.addDeploymentNode("node",...Y[U]),this.$=Y[U];break;case 33:Ae.addDeploymentNode("nodeL",...Y[U]),this.$=Y[U];break;case 34:Ae.addDeploymentNode("nodeR",...Y[U]),this.$=Y[U];break;case 35:Ae.popBoundaryParseStack();break;case 39:Ae.addPersonOrSystem("person",...Y[U]),this.$=Y[U];break;case 40:Ae.addPersonOrSystem("external_person",...Y[U]),this.$=Y[U];break;case 41:Ae.addPersonOrSystem("system",...Y[U]),this.$=Y[U];break;case 42:Ae.addPersonOrSystem("system_db",...Y[U]),this.$=Y[U];break;case 43:Ae.addPersonOrSystem("system_queue",...Y[U]),this.$=Y[U];break;case 44:Ae.addPersonOrSystem("external_system",...Y[U]),this.$=Y[U];break;case 45:Ae.addPersonOrSystem("external_system_db",...Y[U]),this.$=Y[U];break;case 46:Ae.addPersonOrSystem("external_system_queue",...Y[U]),this.$=Y[U];break;case 47:Ae.addContainer("container",...Y[U]),this.$=Y[U];break;case 48:Ae.addContainer("container_db",...Y[U]),this.$=Y[U];break;case 49:Ae.addContainer("container_queue",...Y[U]),this.$=Y[U];break;case 50:Ae.addContainer("external_container",...Y[U]),this.$=Y[U];break;case 51:Ae.addContainer("external_container_db",...Y[U]),this.$=Y[U];break;case 52:Ae.addContainer("external_container_queue",...Y[U]),this.$=Y[U];break;case 53:Ae.addComponent("component",...Y[U]),this.$=Y[U];break;case 54:Ae.addComponent("component_db",...Y[U]),this.$=Y[U];break;case 55:Ae.addComponent("component_queue",...Y[U]),this.$=Y[U];break;case 56:Ae.addComponent("external_component",...Y[U]),this.$=Y[U];break;case 57:Ae.addComponent("external_component_db",...Y[U]),this.$=Y[U];break;case 58:Ae.addComponent("external_component_queue",...Y[U]),this.$=Y[U];break;case 60:Ae.addRel("rel",...Y[U]),this.$=Y[U];break;case 61:Ae.addRel("birel",...Y[U]),this.$=Y[U];break;case 62:Ae.addRel("rel_u",...Y[U]),this.$=Y[U];break;case 63:Ae.addRel("rel_d",...Y[U]),this.$=Y[U];break;case 64:Ae.addRel("rel_l",...Y[U]),this.$=Y[U];break;case 65:Ae.addRel("rel_r",...Y[U]),this.$=Y[U];break;case 66:Ae.addRel("rel_b",...Y[U]),this.$=Y[U];break;case 67:Y[U].splice(0,1),Ae.addRel("rel",...Y[U]),this.$=Y[U];break;case 68:Ae.updateElStyle("update_el_style",...Y[U]),this.$=Y[U];break;case 69:Ae.updateRelStyle("update_rel_style",...Y[U]),this.$=Y[U];break;case 70:Ae.updateLayoutConfig("update_layout_config",...Y[U]),this.$=Y[U];break;case 71:this.$=[Y[U]];break;case 72:Y[U].unshift(Y[U-1]),this.$=Y[U];break;case 73:case 75:this.$=Y[U].trim();break;case 74:let ue={};ue[Y[U-1].trim()]=Y[U].trim(),this.$=ue;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{14:[1,74]},t(de,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z}),t(de,[2,14]),t(re,[2,16],{12:[1,76]}),t(de,[2,36],{12:[1,77]}),t(ne,[2,19]),t(ne,[2,20]),{25:[1,78]},{27:[1,79]},t(ne,[2,23]),{35:80,75:81,76:te,77:Q,79:le,80:J},{35:86,75:81,76:te,77:Q,79:le,80:J},{35:87,75:81,76:te,77:Q,79:le,80:J},{35:88,75:81,76:te,77:Q,79:le,80:J},{35:89,75:81,76:te,77:Q,79:le,80:J},{35:90,75:81,76:te,77:Q,79:le,80:J},{35:91,75:81,76:te,77:Q,79:le,80:J},{35:92,75:81,76:te,77:Q,79:le,80:J},{35:93,75:81,76:te,77:Q,79:le,80:J},{35:94,75:81,76:te,77:Q,79:le,80:J},{35:95,75:81,76:te,77:Q,79:le,80:J},{35:96,75:81,76:te,77:Q,79:le,80:J},{35:97,75:81,76:te,77:Q,79:le,80:J},{35:98,75:81,76:te,77:Q,79:le,80:J},{35:99,75:81,76:te,77:Q,79:le,80:J},{35:100,75:81,76:te,77:Q,79:le,80:J},{35:101,75:81,76:te,77:Q,79:le,80:J},{35:102,75:81,76:te,77:Q,79:le,80:J},{35:103,75:81,76:te,77:Q,79:le,80:J},{35:104,75:81,76:te,77:Q,79:le,80:J},t(ge,[2,59]),{35:105,75:81,76:te,77:Q,79:le,80:J},{35:106,75:81,76:te,77:Q,79:le,80:J},{35:107,75:81,76:te,77:Q,79:le,80:J},{35:108,75:81,76:te,77:Q,79:le,80:J},{35:109,75:81,76:te,77:Q,79:le,80:J},{35:110,75:81,76:te,77:Q,79:le,80:J},{35:111,75:81,76:te,77:Q,79:le,80:J},{35:112,75:81,76:te,77:Q,79:le,80:J},{35:113,75:81,76:te,77:Q,79:le,80:J},{35:114,75:81,76:te,77:Q,79:le,80:J},{35:115,75:81,76:te,77:Q,79:le,80:J},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z},{12:[1,118],33:[1,117]},{35:119,75:81,76:te,77:Q,79:le,80:J},{35:120,75:81,76:te,77:Q,79:le,80:J},{35:121,75:81,76:te,77:Q,79:le,80:J},{35:122,75:81,76:te,77:Q,79:le,80:J},{35:123,75:81,76:te,77:Q,79:le,80:J},{35:124,75:81,76:te,77:Q,79:le,80:J},{35:125,75:81,76:te,77:Q,79:le,80:J},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(de,[2,15]),t(re,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(de,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:C,55:D,56:R,57:O,58:L,59:S,60:A,61:_,62:N,63:M,64:P,65:B,66:F,67:G,68:$,69:V,70:K,71:ee,72:H,73:he,74:Z}),t(ne,[2,21]),t(ne,[2,22]),t(ge,[2,39]),t(ie,[2,71],{75:81,35:132,76:te,77:Q,79:le,80:J}),t(Te,[2,73]),{78:[1,133]},t(Te,[2,75]),t(Te,[2,76]),t(ge,[2,40]),t(ge,[2,41]),t(ge,[2,42]),t(ge,[2,43]),t(ge,[2,44]),t(ge,[2,45]),t(ge,[2,46]),t(ge,[2,47]),t(ge,[2,48]),t(ge,[2,49]),t(ge,[2,50]),t(ge,[2,51]),t(ge,[2,52]),t(ge,[2,53]),t(ge,[2,54]),t(ge,[2,55]),t(ge,[2,56]),t(ge,[2,57]),t(ge,[2,58]),t(ge,[2,60]),t(ge,[2,61]),t(ge,[2,62]),t(ge,[2,63]),t(ge,[2,64]),t(ge,[2,65]),t(ge,[2,66]),t(ge,[2,67]),t(ge,[2,68]),t(ge,[2,69]),t(ge,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(j,[2,28]),t(j,[2,29]),t(j,[2,30]),t(j,[2,31]),t(j,[2,32]),t(j,[2,33]),t(j,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(re,[2,18]),t(de,[2,38]),t(ie,[2,72]),t(Te,[2,74]),t(ge,[2,24]),t(ge,[2,35]),t(Ge,[2,25]),t(Ge,[2,26],{12:[1,138]}),t(Ge,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:o(function(Le,Ie){if(Ie.recoverable)this.trace(Le);else{var Me=new Error(Le);throw Me.hash=Ie,Me}},"parseError"),parse:o(function(Le){var Ie=this,Me=[0],Ae=[],ze=[null],Y=[],ce=this.table,U="",ue=0,z=0,se=0,oe=2,be=1,pe=Y.slice.call(arguments,1),me=Object.create(this.lexer),De={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(De.yy[Ce]=this.yy[Ce]);me.setInput(Le,De.yy),De.yy.lexer=me,De.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var Fe=me.yylloc;Y.push(Fe);var Ye=me.options&&me.options.ranges;typeof De.yy.parseError=="function"?this.parseError=De.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xt(pt){Me.length=Me.length-2*pt,ze.length=ze.length-pt,Y.length=Y.length-pt}o(xt,"popStack");function je(){var pt;return pt=Ae.pop()||me.lex()||be,typeof pt!="number"&&(pt instanceof Array&&(Ae=pt,pt=Ae.pop()),pt=Ie.symbols_[pt]||pt),pt}o(je,"lex");for(var Pe,rt,We,ut,Ut,Tt,Mt={},mt,at,wt,St;;){if(We=Me[Me.length-1],this.defaultActions[We]?ut=this.defaultActions[We]:((Pe===null||typeof Pe>"u")&&(Pe=je()),ut=ce[We]&&ce[We][Pe]),typeof ut>"u"||!ut.length||!ut[0]){var bt="";St=[];for(mt in ce[We])this.terminals_[mt]&&mt>oe&&St.push("'"+this.terminals_[mt]+"'");me.showPosition?bt="Parse error on line "+(ue+1)+`: +`)),s+=d+n[u+1]}),s}var vD=O(()=>{"use strict";o(Mw,"dedent")});var Iw,Bp,wX,Ow=O(()=>{"use strict";Iw=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Bp=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,wX=/\s*%%.*\n/gm});var yg,xD=O(()=>{"use strict";yg=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var uh,vg,B2,bD,kX,Fp=O(()=>{"use strict";xt();Ow();xD();uh={},vg=o(function(t,e){t=t.replace(Iw,"").replace(Bp,"").replace(wX,` +`);for(let[r,{detector:n}]of Object.entries(uh))if(n(t,e))return r;throw new yg(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),B2=o((...t)=>{for(let{id:e,detector:r,loader:n}of t)bD(e,r,n)},"registerLazyLoadedDiagrams"),bD=o((t,e,r)=>{uh[t]&&K.warn(`Detector with key ${t} already exists. Overwriting.`),uh[t]={detector:e,loader:r},K.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),kX=o(t=>uh[t].loader,"getDiagramLoader")});var F2,EX,TD=O(()=>{"use strict";F2=(function(){var t=o(function(Te,Be,Ue,Ge){for(Ue=Ue||{},Ge=Te.length;Ge--;Ue[Te[Ge]]=Be);return Ue},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],T=[1,35],E=[1,36],w=[1,37],k=[1,38],S=[1,39],A=[1,40],L=[1,41],I=[1,42],N=[1,43],C=[1,44],_=[1,45],D=[1,46],M=[1,47],R=[1,48],P=[1,50],B=[1,51],F=[1,52],G=[1,53],$=[1,54],V=[1,55],X=[1,56],Q=[1,57],H=[1,58],ie=[1,59],Y=[1,60],le=[14,42],ee=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],J=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],te=[1,82],Z=[1,83],xe=[1,84],de=[1,85],Se=[12,14,42],Me=[12,14,33,42],ke=[12,14,33,42,76,77,79,80],we=[12,33],_e=[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],$e={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:o(function(Be,Ue,Ge,Ne,We,j,ae){var U=j.length-1;switch(We){case 3:Ne.setDirection("TB");break;case 4:Ne.setDirection("BT");break;case 5:Ne.setDirection("RL");break;case 6:Ne.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ne.setC4Type(j[U-3]);break;case 19:Ne.setTitle(j[U].substring(6)),this.$=j[U].substring(6);break;case 20:Ne.setAccDescription(j[U].substring(15)),this.$=j[U].substring(15);break;case 21:this.$=j[U].trim(),Ne.setTitle(this.$);break;case 22:case 23:this.$=j[U].trim(),Ne.setAccDescription(this.$);break;case 28:j[U].splice(2,0,"ENTERPRISE"),Ne.addPersonOrSystemBoundary(...j[U]),this.$=j[U];break;case 29:j[U].splice(2,0,"SYSTEM"),Ne.addPersonOrSystemBoundary(...j[U]),this.$=j[U];break;case 30:Ne.addPersonOrSystemBoundary(...j[U]),this.$=j[U];break;case 31:j[U].splice(2,0,"CONTAINER"),Ne.addContainerBoundary(...j[U]),this.$=j[U];break;case 32:Ne.addDeploymentNode("node",...j[U]),this.$=j[U];break;case 33:Ne.addDeploymentNode("nodeL",...j[U]),this.$=j[U];break;case 34:Ne.addDeploymentNode("nodeR",...j[U]),this.$=j[U];break;case 35:Ne.popBoundaryParseStack();break;case 39:Ne.addPersonOrSystem("person",...j[U]),this.$=j[U];break;case 40:Ne.addPersonOrSystem("external_person",...j[U]),this.$=j[U];break;case 41:Ne.addPersonOrSystem("system",...j[U]),this.$=j[U];break;case 42:Ne.addPersonOrSystem("system_db",...j[U]),this.$=j[U];break;case 43:Ne.addPersonOrSystem("system_queue",...j[U]),this.$=j[U];break;case 44:Ne.addPersonOrSystem("external_system",...j[U]),this.$=j[U];break;case 45:Ne.addPersonOrSystem("external_system_db",...j[U]),this.$=j[U];break;case 46:Ne.addPersonOrSystem("external_system_queue",...j[U]),this.$=j[U];break;case 47:Ne.addContainer("container",...j[U]),this.$=j[U];break;case 48:Ne.addContainer("container_db",...j[U]),this.$=j[U];break;case 49:Ne.addContainer("container_queue",...j[U]),this.$=j[U];break;case 50:Ne.addContainer("external_container",...j[U]),this.$=j[U];break;case 51:Ne.addContainer("external_container_db",...j[U]),this.$=j[U];break;case 52:Ne.addContainer("external_container_queue",...j[U]),this.$=j[U];break;case 53:Ne.addComponent("component",...j[U]),this.$=j[U];break;case 54:Ne.addComponent("component_db",...j[U]),this.$=j[U];break;case 55:Ne.addComponent("component_queue",...j[U]),this.$=j[U];break;case 56:Ne.addComponent("external_component",...j[U]),this.$=j[U];break;case 57:Ne.addComponent("external_component_db",...j[U]),this.$=j[U];break;case 58:Ne.addComponent("external_component_queue",...j[U]),this.$=j[U];break;case 60:Ne.addRel("rel",...j[U]),this.$=j[U];break;case 61:Ne.addRel("birel",...j[U]),this.$=j[U];break;case 62:Ne.addRel("rel_u",...j[U]),this.$=j[U];break;case 63:Ne.addRel("rel_d",...j[U]),this.$=j[U];break;case 64:Ne.addRel("rel_l",...j[U]),this.$=j[U];break;case 65:Ne.addRel("rel_r",...j[U]),this.$=j[U];break;case 66:Ne.addRel("rel_b",...j[U]),this.$=j[U];break;case 67:j[U].splice(0,1),Ne.addRel("rel",...j[U]),this.$=j[U];break;case 68:Ne.updateElStyle("update_el_style",...j[U]),this.$=j[U];break;case 69:Ne.updateRelStyle("update_rel_style",...j[U]),this.$=j[U];break;case 70:Ne.updateLayoutConfig("update_layout_config",...j[U]),this.$=j[U];break;case 71:this.$=[j[U]];break;case 72:j[U].unshift(j[U-1]),this.$=j[U];break;case 73:case 75:this.$=j[U].trim();break;case 74:let ce={};ce[j[U-1].trim()]=j[U].trim(),this.$=ce;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{14:[1,74]},t(le,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y}),t(le,[2,14]),t(ee,[2,16],{12:[1,76]}),t(le,[2,36],{12:[1,77]}),t(J,[2,19]),t(J,[2,20]),{25:[1,78]},{27:[1,79]},t(J,[2,23]),{35:80,75:81,76:te,77:Z,79:xe,80:de},{35:86,75:81,76:te,77:Z,79:xe,80:de},{35:87,75:81,76:te,77:Z,79:xe,80:de},{35:88,75:81,76:te,77:Z,79:xe,80:de},{35:89,75:81,76:te,77:Z,79:xe,80:de},{35:90,75:81,76:te,77:Z,79:xe,80:de},{35:91,75:81,76:te,77:Z,79:xe,80:de},{35:92,75:81,76:te,77:Z,79:xe,80:de},{35:93,75:81,76:te,77:Z,79:xe,80:de},{35:94,75:81,76:te,77:Z,79:xe,80:de},{35:95,75:81,76:te,77:Z,79:xe,80:de},{35:96,75:81,76:te,77:Z,79:xe,80:de},{35:97,75:81,76:te,77:Z,79:xe,80:de},{35:98,75:81,76:te,77:Z,79:xe,80:de},{35:99,75:81,76:te,77:Z,79:xe,80:de},{35:100,75:81,76:te,77:Z,79:xe,80:de},{35:101,75:81,76:te,77:Z,79:xe,80:de},{35:102,75:81,76:te,77:Z,79:xe,80:de},{35:103,75:81,76:te,77:Z,79:xe,80:de},{35:104,75:81,76:te,77:Z,79:xe,80:de},t(Se,[2,59]),{35:105,75:81,76:te,77:Z,79:xe,80:de},{35:106,75:81,76:te,77:Z,79:xe,80:de},{35:107,75:81,76:te,77:Z,79:xe,80:de},{35:108,75:81,76:te,77:Z,79:xe,80:de},{35:109,75:81,76:te,77:Z,79:xe,80:de},{35:110,75:81,76:te,77:Z,79:xe,80:de},{35:111,75:81,76:te,77:Z,79:xe,80:de},{35:112,75:81,76:te,77:Z,79:xe,80:de},{35:113,75:81,76:te,77:Z,79:xe,80:de},{35:114,75:81,76:te,77:Z,79:xe,80:de},{35:115,75:81,76:te,77:Z,79:xe,80:de},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y},{12:[1,118],33:[1,117]},{35:119,75:81,76:te,77:Z,79:xe,80:de},{35:120,75:81,76:te,77:Z,79:xe,80:de},{35:121,75:81,76:te,77:Z,79:xe,80:de},{35:122,75:81,76:te,77:Z,79:xe,80:de},{35:123,75:81,76:te,77:Z,79:xe,80:de},{35:124,75:81,76:te,77:Z,79:xe,80:de},{35:125,75:81,76:te,77:Z,79:xe,80:de},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(le,[2,15]),t(ee,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(le,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:E,52:w,53:k,54:S,55:A,56:L,57:I,58:N,59:C,60:_,61:D,62:M,63:R,64:P,65:B,66:F,67:G,68:$,69:V,70:X,71:Q,72:H,73:ie,74:Y}),t(J,[2,21]),t(J,[2,22]),t(Se,[2,39]),t(Me,[2,71],{75:81,35:132,76:te,77:Z,79:xe,80:de}),t(ke,[2,73]),{78:[1,133]},t(ke,[2,75]),t(ke,[2,76]),t(Se,[2,40]),t(Se,[2,41]),t(Se,[2,42]),t(Se,[2,43]),t(Se,[2,44]),t(Se,[2,45]),t(Se,[2,46]),t(Se,[2,47]),t(Se,[2,48]),t(Se,[2,49]),t(Se,[2,50]),t(Se,[2,51]),t(Se,[2,52]),t(Se,[2,53]),t(Se,[2,54]),t(Se,[2,55]),t(Se,[2,56]),t(Se,[2,57]),t(Se,[2,58]),t(Se,[2,60]),t(Se,[2,61]),t(Se,[2,62]),t(Se,[2,63]),t(Se,[2,64]),t(Se,[2,65]),t(Se,[2,66]),t(Se,[2,67]),t(Se,[2,68]),t(Se,[2,69]),t(Se,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(we,[2,28]),t(we,[2,29]),t(we,[2,30]),t(we,[2,31]),t(we,[2,32]),t(we,[2,33]),t(we,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(ee,[2,18]),t(le,[2,38]),t(Me,[2,72]),t(ke,[2,74]),t(Se,[2,24]),t(Se,[2,35]),t(_e,[2,25]),t(_e,[2,26],{12:[1,138]}),t(_e,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:o(function(Be,Ue){if(Ue.recoverable)this.trace(Be);else{var Ge=new Error(Be);throw Ge.hash=Ue,Ge}},"parseError"),parse:o(function(Be){var Ue=this,Ge=[0],Ne=[],We=[null],j=[],ae=this.table,U="",ce=0,z=0,ne=0,se=2,be=1,pe=j.slice.call(arguments,1),me=Object.create(this.lexer),Re={yy:{}};for(var ge in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ge)&&(Re.yy[ge]=this.yy[ge]);me.setInput(Be,Re.yy),Re.yy.lexer=me,Re.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var Ie=me.yylloc;j.push(Ie);var qe=me.options&&me.options.ranges;typeof Re.yy.parseError=="function"?this.parseError=Re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(dt){Ge.length=Ge.length-2*dt,We.length=We.length-dt,j.length=j.length-dt}o(Pe,"popStack");function Xe(){var dt;return dt=Ne.pop()||me.lex()||be,typeof dt!="number"&&(dt instanceof Array&&(Ne=dt,dt=Ne.pop()),dt=Ue.symbols_[dt]||dt),dt}o(Xe,"lex");for(var oe,et,he,ot,Dt,It,wt={},Rt,it,at,Ct;;){if(he=Ge[Ge.length-1],this.defaultActions[he]?ot=this.defaultActions[he]:((oe===null||typeof oe>"u")&&(oe=Xe()),ot=ae[he]&&ae[he][oe]),typeof ot>"u"||!ot.length||!ot[0]){var yt="";Ct=[];for(Rt in ae[he])this.terminals_[Rt]&&Rt>se&&Ct.push("'"+this.terminals_[Rt]+"'");me.showPosition?yt="Parse error on line "+(ce+1)+`: `+me.showPosition()+` -Expecting `+St.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":bt="Parse error on line "+(ue+1)+": Unexpected "+(Pe==be?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(bt,{text:me.match,token:this.terminals_[Pe]||Pe,line:me.yylineno,loc:Fe,expected:St})}if(ut[0]instanceof Array&&ut.length>1)throw new Error("Parse Error: multiple actions possible at state: "+We+", token: "+Pe);switch(ut[0]){case 1:Me.push(Pe),ze.push(me.yytext),Y.push(me.yylloc),Me.push(ut[1]),Pe=null,rt?(Pe=rt,rt=null):(z=me.yyleng,U=me.yytext,ue=me.yylineno,Fe=me.yylloc,se>0&&se--);break;case 2:if(at=this.productions_[ut[1]][1],Mt.$=ze[ze.length-at],Mt._$={first_line:Y[Y.length-(at||1)].first_line,last_line:Y[Y.length-1].last_line,first_column:Y[Y.length-(at||1)].first_column,last_column:Y[Y.length-1].last_column},Ye&&(Mt._$.range=[Y[Y.length-(at||1)].range[0],Y[Y.length-1].range[1]]),Tt=this.performAction.apply(Mt,[U,z,ue,De.yy,ut[1],ze,Y].concat(pe)),typeof Tt<"u")return Tt;at&&(Me=Me.slice(0,-1*at*2),ze=ze.slice(0,-1*at),Y=Y.slice(0,-1*at)),Me.push(this.productions_[ut[1]][0]),ze.push(Mt.$),Y.push(Mt._$),wt=ce[Me[Me.length-2]][Me[Me.length-1]],Me.push(wt);break;case 3:return!0}}return!0},"parse")},$e=(function(){var Ue={EOF:1,parseError:o(function(Ie,Me){if(this.yy.parser)this.yy.parser.parseError(Ie,Me);else throw new Error(Ie)},"parseError"),setInput:o(function(Le,Ie){return this.yy=Ie||this.yy||{},this._input=Le,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Le=this._input[0];this.yytext+=Le,this.yyleng++,this.offset++,this.match+=Le,this.matched+=Le;var Ie=Le.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Le},"input"),unput:o(function(Le){var Ie=Le.length,Me=Le.split(/(?:\r\n?|\n)/g);this._input=Le+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ae=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),Me.length-1&&(this.yylineno-=Me.length-1);var ze=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:Me?(Me.length===Ae.length?this.yylloc.first_column:0)+Ae[Ae.length-Me.length].length-Me[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[ze[0],ze[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Le){this.unput(this.match.slice(Le))},"less"),pastInput:o(function(){var Le=this.matched.substr(0,this.matched.length-this.match.length);return(Le.length>20?"...":"")+Le.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Le=this.match;return Le.length<20&&(Le+=this._input.substr(0,20-Le.length)),(Le.substr(0,20)+(Le.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Le=this.pastInput(),Ie=new Array(Le.length+1).join("-");return Le+this.upcomingInput()+` -`+Ie+"^"},"showPosition"),test_match:o(function(Le,Ie){var Me,Ae,ze;if(this.options.backtrack_lexer&&(ze={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&&(ze.yylloc.range=this.yylloc.range.slice(0))),Ae=Le[0].match(/(?:\r\n?|\n).*/g),Ae&&(this.yylineno+=Ae.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ae?Ae[Ae.length-1].length-Ae[Ae.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Le[0].length},this.yytext+=Le[0],this.match+=Le[0],this.matches=Le,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Le[0].length),this.matched+=Le[0],Me=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Me)return Me;if(this._backtrack){for(var Y in ze)this[Y]=ze[Y];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Le,Ie,Me,Ae;this._more||(this.yytext="",this.match="");for(var ze=this._currentRules(),Y=0;YIe[0].length)){if(Ie=Me,Ae=Y,this.options.backtrack_lexer){if(Le=this.test_match(Me,ze[Y]),Le!==!1)return Le;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(Le=this.test_match(Ie,ze[Ae]),Le!==!1?Le:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ie=this.next();return Ie||this.lex()},"lex"),begin:o(function(Ie){this.conditionStack.push(Ie)},"begin"),popState:o(function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},"topState"),pushState:o(function(Ie){this.begin(Ie)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ie,Me,Ae,ze){var Y=ze;switch(Ae){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Ue})();ye.lexer=$e;function Xe(){this.yy={}}return o(Xe,"Parser"),Xe.prototype=ye,ye.Parser=Xe,new Xe})();E2.parser=E2;Uj=E2});var i8e,a8e,Sn,Vc,Fi=I(()=>{"use strict";gt();i8e=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),a8e=o(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Sn=o(function(t,e,r,n){let i=a8e(e,r,n);i8e(t,i)},"configureSvgSize"),Vc=o(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,s=i.height;X.info(`SVG bounds: ${a}x${s}`,i);let l=0,u=0;X.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,X.info(`Calculated bounds: ${l}x${u}`),Sn(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var kw,s8e,Wj,Hj,oD=I(()=>{"use strict";gt();kw={},s8e=o((t,e,r)=>{let n="";return t in kw&&kw[t]?n=kw[t](r):X.warn(`No theme found for ${t}`),` & { +Expecting `+Ct.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":yt="Parse error on line "+(ce+1)+": Unexpected "+(oe==be?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(yt,{text:me.match,token:this.terminals_[oe]||oe,line:me.yylineno,loc:Ie,expected:Ct})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+he+", token: "+oe);switch(ot[0]){case 1:Ge.push(oe),We.push(me.yytext),j.push(me.yylloc),Ge.push(ot[1]),oe=null,et?(oe=et,et=null):(z=me.yyleng,U=me.yytext,ce=me.yylineno,Ie=me.yylloc,ne>0&&ne--);break;case 2:if(it=this.productions_[ot[1]][1],wt.$=We[We.length-it],wt._$={first_line:j[j.length-(it||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(it||1)].first_column,last_column:j[j.length-1].last_column},qe&&(wt._$.range=[j[j.length-(it||1)].range[0],j[j.length-1].range[1]]),It=this.performAction.apply(wt,[U,z,ce,Re.yy,ot[1],We,j].concat(pe)),typeof It<"u")return It;it&&(Ge=Ge.slice(0,-1*it*2),We=We.slice(0,-1*it),j=j.slice(0,-1*it)),Ge.push(this.productions_[ot[1]][0]),We.push(wt.$),j.push(wt._$),at=ae[Ge[Ge.length-2]][Ge[Ge.length-1]],Ge.push(at);break;case 3:return!0}}return!0},"parse")},fe=(function(){var Te={EOF:1,parseError:o(function(Ue,Ge){if(this.yy.parser)this.yy.parser.parseError(Ue,Ge);else throw new Error(Ue)},"parseError"),setInput:o(function(Be,Ue){return this.yy=Ue||this.yy||{},this._input=Be,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 Be=this._input[0];this.yytext+=Be,this.yyleng++,this.offset++,this.match+=Be,this.matched+=Be;var Ue=Be.match(/(?:\r\n?|\n).*/g);return Ue?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Be},"input"),unput:o(function(Be){var Ue=Be.length,Ge=Be.split(/(?:\r\n?|\n)/g);this._input=Be+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ue),this.offset-=Ue;var Ne=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ge.length-1&&(this.yylineno-=Ge.length-1);var We=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ge?(Ge.length===Ne.length?this.yylloc.first_column:0)+Ne[Ne.length-Ge.length].length-Ge[0].length:this.yylloc.first_column-Ue},this.options.ranges&&(this.yylloc.range=[We[0],We[0]+this.yyleng-Ue]),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(Be){this.unput(this.match.slice(Be))},"less"),pastInput:o(function(){var Be=this.matched.substr(0,this.matched.length-this.match.length);return(Be.length>20?"...":"")+Be.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Be=this.match;return Be.length<20&&(Be+=this._input.substr(0,20-Be.length)),(Be.substr(0,20)+(Be.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Be=this.pastInput(),Ue=new Array(Be.length+1).join("-");return Be+this.upcomingInput()+` +`+Ue+"^"},"showPosition"),test_match:o(function(Be,Ue){var Ge,Ne,We;if(this.options.backtrack_lexer&&(We={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(We.yylloc.range=this.yylloc.range.slice(0))),Ne=Be[0].match(/(?:\r\n?|\n).*/g),Ne&&(this.yylineno+=Ne.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ne?Ne[Ne.length-1].length-Ne[Ne.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Be[0].length},this.yytext+=Be[0],this.match+=Be[0],this.matches=Be,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(Be[0].length),this.matched+=Be[0],Ge=this.performAction.call(this,this.yy,this,Ue,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ge)return Ge;if(this._backtrack){for(var j in We)this[j]=We[j];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Be,Ue,Ge,Ne;this._more||(this.yytext="",this.match="");for(var We=this._currentRules(),j=0;jUe[0].length)){if(Ue=Ge,Ne=j,this.options.backtrack_lexer){if(Be=this.test_match(Ge,We[j]),Be!==!1)return Be;if(this._backtrack){Ue=!1;continue}else return!1}else if(!this.options.flex)break}return Ue?(Be=this.test_match(Ue,We[Ne]),Be!==!1?Be:!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 Ue=this.next();return Ue||this.lex()},"lex"),begin:o(function(Ue){this.conditionStack.push(Ue)},"begin"),popState:o(function(){var Ue=this.conditionStack.length-1;return Ue>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(Ue){return Ue=this.conditionStack.length-1-Math.abs(Ue||0),Ue>=0?this.conditionStack[Ue]:"INITIAL"},"topState"),pushState:o(function(Ue){this.begin(Ue)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ue,Ge,Ne,We){var j=We;switch(Ne){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[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 Te})();$e.lexer=fe;function Ke(){this.yy={}}return o(Ke,"Parser"),Ke.prototype=$e,$e.Parser=Ke,new Ke})();F2.parser=F2;EX=F2});var G8e,V8e,Zr,Kc,Ti=O(()=>{"use strict";xt();G8e=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),V8e=o(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Zr=o(function(t,e,r,n){let i=V8e(e,r,n);G8e(t,i)},"configureSvgSize"),Kc=o(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,s=i.height;K.info(`SVG bounds: ${a}x${s}`,i);let l=0,u=0;K.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,K.info(`Calculated bounds: ${l}x${u}`),Zr(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var Pw,q8e,SX,CX,wD=O(()=>{"use strict";xt();Pw={},q8e=o((t,e,r)=>{let n="";return t in Pw&&Pw[t]?n=Pw[t](r):K.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -346,49 +346,49 @@ Expecting `+St.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":bt="Parse erro ${n} ${e} -`},"getStyles"),Wj=o((t,e)=>{e!==void 0&&(kw[t]=e)},"addStylesForDiagram"),Hj=s8e});var C2={};vr(C2,{clear:()=>Mr,getAccDescription:()=>Ur,getAccTitle:()=>Vr,getDiagramTitle:()=>Wr,setAccDescription:()=>qr,setAccTitle:()=>zr,setDiagramTitle:()=>Xr});var lD,cD,uD,hD,Mr,zr,Vr,qr,Ur,Xr,Wr,ki=I(()=>{"use strict";wr();ti();lD="",cD="",uD="",hD=o(t=>fr(t,tr()),"sanitizeText"),Mr=o(()=>{lD="",uD="",cD=""},"clear"),zr=o(t=>{lD=hD(t).replace(/^\s+/g,"")},"setAccTitle"),Vr=o(()=>lD,"getAccTitle"),qr=o(t=>{uD=hD(t).replace(/\n\s+/g,` -`)},"setAccDescription"),Ur=o(()=>uD,"getAccDescription"),Xr=o(t=>{cD=hD(t)},"setDiagramTitle"),Wr=o(()=>cD,"getDiagramTitle")});var Yj,o8e,xe,A2,Ew,_2,dD,l8e,Sw,Pp,D2,fD,Qt=I(()=>{"use strict";Op();gt();ti();wr();Fi();oD();ki();Yj=X,o8e=Jv,xe=tr,A2=G3,Ew=hf,_2=o(t=>fr(t,xe()),"sanitizeText"),dD=Vc,l8e=o(()=>C2,"getCommonDb"),Sw={},Pp=o((t,e,r)=>{Sw[t]&&Yj.warn(`Diagram with id ${t} already registered. Overwriting.`),Sw[t]=e,r&&aD(t,r),Wj(t,e.styles),e.injectUtils?.(Yj,o8e,xe,_2,dD,l8e(),()=>{})},"registerDiagram"),D2=o(t=>{if(t in Sw)return Sw[t];throw new fD(t)},"getDiagram"),fD=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var jl,xf,Es,Yl,qc,R2,pD,mD,Cw,Aw,jj,c8e,u8e,h8e,f8e,d8e,p8e,m8e,g8e,y8e,v8e,x8e,b8e,T8e,w8e,k8e,S8e,E8e,Xj,C8e,A8e,Kj,_8e,D8e,R8e,L8e,bf,N8e,M8e,I8e,O8e,P8e,L2,gD=I(()=>{"use strict";Qt();wr();ki();jl=[],xf=[""],Es="global",Yl="",qc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],R2=[],pD="",mD=!1,Cw=4,Aw=2,c8e=o(function(){return jj},"getC4Type"),u8e=o(function(t){jj=fr(t,xe())},"setC4Type"),h8e=o(function(t,e,r,n,i,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=R2.find(d=>d.from===e&&d.to===r);if(f?h=f:R2.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=bf()},"addRel"),f8e=o(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let l={},u=jl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,jl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=Es,l.wrap=bf()},"addPersonOrSystem"),d8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=jl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,jl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=bf(),u.typeC4Shape={text:t},u.parentBoundary=Es},"addContainer"),p8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=jl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,jl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=bf(),u.typeC4Shape={text:t},u.parentBoundary=Es},"addComponent"),m8e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=qc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,qc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Es,a.wrap=bf(),Yl=Es,Es=t,xf.push(Yl)},"addPersonOrSystemBoundary"),g8e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=qc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,qc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Es,a.wrap=bf(),Yl=Es,Es=t,xf.push(Yl)},"addContainerBoundary"),y8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=qc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,qc.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=Es,u.wrap=bf(),Yl=Es,Es=e,xf.push(Yl)},"addDeploymentNode"),v8e=o(function(){Es=Yl,xf.pop(),Yl=xf.pop(),xf.push(Yl)},"popBoundaryParseStack"),x8e=o(function(t,e,r,n,i,a,s,l,u,h,f){let d=jl.find(p=>p.alias===e);if(!(d===void 0&&(d=qc.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),b8e=o(function(t,e,r,n,i,a,s){let l=R2.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),T8e=o(function(t,e,r){let n=Cw,i=Aw;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(Cw=n),i>=1&&(Aw=i)},"updateLayoutConfig"),w8e=o(function(){return Cw},"getC4ShapeInRow"),k8e=o(function(){return Aw},"getC4BoundaryInRow"),S8e=o(function(){return Es},"getCurrentBoundaryParse"),E8e=o(function(){return Yl},"getParentBoundaryParse"),Xj=o(function(t){return t==null?jl:jl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),C8e=o(function(t){return jl.find(e=>e.alias===t)},"getC4Shape"),A8e=o(function(t){return Object.keys(Xj(t))},"getC4ShapeKeys"),Kj=o(function(t){return t==null?qc:qc.filter(e=>e.parentBoundary===t)},"getBoundaries"),_8e=Kj,D8e=o(function(){return R2},"getRels"),R8e=o(function(){return pD},"getTitle"),L8e=o(function(t){mD=t},"setWrap"),bf=o(function(){return mD},"autoWrap"),N8e=o(function(){jl=[],qc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Yl="",Es="global",xf=[""],R2=[],xf=[""],pD="",mD=!1,Cw=4,Aw=2},"clear"),M8e={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},I8e={FILLED:0,OPEN:1},O8e={LEFTOF:0,RIGHTOF:1,OVER:2},P8e=o(function(t){pD=fr(t,xe())},"setTitle"),L2={addPersonOrSystem:f8e,addPersonOrSystemBoundary:m8e,addContainer:d8e,addContainerBoundary:g8e,addComponent:p8e,addDeploymentNode:y8e,popBoundaryParseStack:v8e,addRel:h8e,updateElStyle:x8e,updateRelStyle:b8e,updateLayoutConfig:T8e,autoWrap:bf,setWrap:L8e,getC4ShapeArray:Xj,getC4Shape:C8e,getC4ShapeKeys:A8e,getBoundaries:Kj,getBoundarys:_8e,getCurrentBoundaryParse:S8e,getParentBoundaryParse:E8e,getRels:D8e,getTitle:R8e,getC4Type:c8e,getC4ShapeInRow:w8e,getC4BoundaryInRow:k8e,setAccTitle:zr,getAccTitle:Vr,getAccDescription:Ur,setAccDescription:qr,getConfig:o(()=>xe().c4,"getConfig"),clear:N8e,LINETYPE:M8e,ARROWTYPE:I8e,PLACEMENT:O8e,setTitle:P8e,setC4Type:u8e}});function Bp(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var yD=I(()=>{"use strict";o(Bp,"ascending")});function vD(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var Qj=I(()=>{"use strict";o(vD,"descending")});function Fp(t){let e,r,n;t.length!==2?(e=Bp,r=o((l,u)=>Bp(t(l),u),"compare2"),n=o((l,u)=>t(l)-u,"delta")):(e=t===Bp||t===vD?t:B8e,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return o(s,"center"),{left:i,center:s,right:a}}function B8e(){return 0}var xD=I(()=>{"use strict";yD();Qj();o(Fp,"bisector");o(B8e,"zero")});function bD(t){return t===null?NaN:+t}var Zj=I(()=>{"use strict";o(bD,"number")});var Jj,eX,F8e,$8e,TD,tX=I(()=>{"use strict";yD();xD();Zj();Jj=Fp(Bp),eX=Jj.right,F8e=Jj.left,$8e=Fp(bD).center,TD=eX});function rX({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function z8e({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function G8e({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function V8e(t){return t!==null&&typeof t=="object"?t.valueOf():t}var fg,nX=I(()=>{"use strict";fg=class extends Map{static{o(this,"InternMap")}constructor(e,r=V8e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(rX(this,e))}has(e){return super.has(rX(this,e))}set(e,r){return super.set(z8e(this,e),r)}delete(e){return super.delete(G8e(this,e))}};o(rX,"intern_get");o(z8e,"intern_set");o(G8e,"intern_delete");o(V8e,"keyof")});function _w(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=q8e?10:a>=U8e?5:a>=W8e?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(s<0)for(let h=0;h{"use strict";q8e=Math.sqrt(50),U8e=Math.sqrt(10),W8e=Math.sqrt(2);o(_w,"tickSpec");o(Dw,"ticks");o(N2,"tickIncrement");o(dg,"tickStep")});function Rw(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var aX=I(()=>{"use strict";o(Rw,"max")});function Lw(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var sX=I(()=>{"use strict";o(Lw,"min")});function Nw(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";o(Nw,"range")});var Tf=I(()=>{"use strict";tX();xD();aX();sX();oX();iX();nX()});function wD(t){return t}var lX=I(()=>{"use strict";o(wD,"default")});function H8e(t){return"translate("+t+",0)"}function Y8e(t){return"translate(0,"+t+")"}function j8e(t){return e=>+t(e)}function X8e(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function K8e(){return!this.__axis}function uX(t,e){var r=[],n=null,i=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===Iw||t===Mw?-1:1,f=t===Mw||t===kD?"x":"y",d=t===Iw||t===SD?H8e:Y8e;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):wD),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,T=+x[x.length-1]+u,E=(e.bandwidth?X8e:j8e)(e.copy(),u),w=m.selection?m.selection():m,k=w.selectAll(".domain").data([null]),C=w.selectAll(".tick").data(g,e).order(),D=C.exit(),R=C.enter().append("g").attr("class","tick"),O=C.select("line"),L=C.select("text");k=k.merge(k.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge(R),O=O.merge(R.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),L=L.merge(R.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===Iw?"0em":t===SD?"0.71em":"0.32em")),m!==w&&(k=k.transition(m),C=C.transition(m),O=O.transition(m),L=L.transition(m),D=D.transition(m).attr("opacity",cX).attr("transform",function(S){return isFinite(S=E(S))?d(S+u):this.getAttribute("transform")}),R.attr("opacity",cX).attr("transform",function(S){var A=this.parentNode.__axis;return d((A&&isFinite(A=A(S))?A:E(S))+u)})),D.remove(),k.attr("d",t===Mw||t===kD?s?"M"+h*s+","+b+"H"+u+"V"+T+"H"+h*s:"M"+u+","+b+"V"+T:s?"M"+b+","+h*s+"V"+u+"H"+T+"V"+h*s:"M"+b+","+u+"H"+T),C.attr("opacity",1).attr("transform",function(S){return d(E(S)+u)}),O.attr(f+"2",h*a),L.attr(f,h*v).text(y),w.filter(K8e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===kD?"start":t===Mw?"end":"middle"),w.each(function(){this.__axis=E})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function ED(t){return uX(Iw,t)}function CD(t){return uX(SD,t)}var Iw,kD,SD,Mw,cX,hX=I(()=>{"use strict";lX();Iw=1,kD=2,SD=3,Mw=4,cX=1e-6;o(H8e,"translateX");o(Y8e,"translateY");o(j8e,"number");o(X8e,"center");o(K8e,"entering");o(uX,"axis");o(ED,"axisTop");o(CD,"axisBottom")});var fX=I(()=>{"use strict";hX()});function pX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}function J8e(t,e){for(var r=0,n=t.length,i;r{"use strict";Q8e={value:o(()=>{},"value")};o(pX,"dispatch");o(Ow,"Dispatch");o(Z8e,"parseTypenames");Ow.prototype=pX.prototype={constructor:Ow,on:o(function(t,e){var r=this._,n=Z8e(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";mX()});var Pw,DD,RD=I(()=>{"use strict";Pw="http://www.w3.org/1999/xhtml",DD={svg:"http://www.w3.org/2000/svg",xhtml:Pw,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function Uc(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),DD.hasOwnProperty(e)?{space:DD[e],local:t}:t}var Bw=I(()=>{"use strict";RD();o(Uc,"default")});function e_e(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===Pw&&e.documentElement.namespaceURI===Pw?e.createElement(t):e.createElementNS(r,t)}}function t_e(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function M2(t){var e=Uc(t);return(e.local?t_e:e_e)(e)}var LD=I(()=>{"use strict";Bw();RD();o(e_e,"creatorInherit");o(t_e,"creatorFixed");o(M2,"default")});function r_e(){}function wf(t){return t==null?r_e:function(){return this.querySelector(t)}}var Fw=I(()=>{"use strict";o(r_e,"none");o(wf,"default")});function ND(t){typeof t!="function"&&(t=wf(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Xl();Fw();o(ND,"default")});function MD(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var yX=I(()=>{"use strict";o(MD,"array")});function n_e(){return[]}function pg(t){return t==null?n_e:function(){return this.querySelectorAll(t)}}var ID=I(()=>{"use strict";o(n_e,"empty");o(pg,"default")});function i_e(t){return function(){return MD(t.apply(this,arguments))}}function OD(t){typeof t=="function"?t=i_e(t):t=pg(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";Xl();yX();ID();o(i_e,"arrayAll");o(OD,"default")});function mg(t){return function(){return this.matches(t)}}function $w(t){return function(e){return e.matches(t)}}var I2=I(()=>{"use strict";o(mg,"default");o($w,"childMatcher")});function s_e(t){return function(){return a_e.call(this.children,t)}}function o_e(){return this.firstElementChild}function PD(t){return this.select(t==null?o_e:s_e(typeof t=="function"?t:$w(t)))}var a_e,xX=I(()=>{"use strict";I2();a_e=Array.prototype.find;o(s_e,"childFind");o(o_e,"childFirst");o(PD,"default")});function c_e(){return Array.from(this.children)}function u_e(t){return function(){return l_e.call(this.children,t)}}function BD(t){return this.selectAll(t==null?c_e:u_e(typeof t=="function"?t:$w(t)))}var l_e,bX=I(()=>{"use strict";I2();l_e=Array.prototype.filter;o(c_e,"children");o(u_e,"childrenFilter");o(BD,"default")});function FD(t){typeof t!="function"&&(t=mg(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Xl();I2();o(FD,"default")});function O2(t){return new Array(t.length)}var $D=I(()=>{"use strict";o(O2,"default")});function zD(){return new Si(this._enter||this._groups.map(O2),this._parents)}function P2(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var GD=I(()=>{"use strict";$D();Xl();o(zD,"default");o(P2,"EnterNode");P2.prototype={constructor:P2,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function VD(t){return function(){return t}}var wX=I(()=>{"use strict";o(VD,"default")});function h_e(t,e,r,n,i,a){for(var s=0,l,u=e.length,h=a.length;s=T&&(T=b+1);!(w=v[T])&&++T{"use strict";Xl();GD();wX();o(h_e,"bindIndex");o(f_e,"bindKey");o(d_e,"datum");o(qD,"default");o(p_e,"arraylike")});function UD(){return new Si(this._exit||this._groups.map(O2),this._parents)}var SX=I(()=>{"use strict";$D();Xl();o(UD,"default")});function WD(t,e,r){var n=this.enter(),i=this,a=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?a.remove():r(a),n&&i?n.merge(i).order():i}var EX=I(()=>{"use strict";o(WD,"default")});function HD(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,s=Math.min(i,a),l=new Array(i),u=0;u{"use strict";Xl();o(HD,"default")});function YD(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var AX=I(()=>{"use strict";o(YD,"default")});function jD(t){t||(t=m_e);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var _X=I(()=>{"use strict";Xl();o(jD,"default");o(m_e,"ascending")});function XD(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var DX=I(()=>{"use strict";o(XD,"default")});function KD(){return Array.from(this)}var RX=I(()=>{"use strict";o(KD,"default")});function QD(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(QD,"default")});function ZD(){let t=0;for(let e of this)++t;return t}var NX=I(()=>{"use strict";o(ZD,"default")});function JD(){return!this.node()}var MX=I(()=>{"use strict";o(JD,"default")});function eR(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";o(eR,"default")});function g_e(t){return function(){this.removeAttribute(t)}}function y_e(t){return function(){this.removeAttributeNS(t.space,t.local)}}function v_e(t,e){return function(){this.setAttribute(t,e)}}function x_e(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function b_e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function T_e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function tR(t,e){var r=Uc(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?y_e:g_e:typeof e=="function"?r.local?T_e:b_e:r.local?x_e:v_e)(r,e))}var OX=I(()=>{"use strict";Bw();o(g_e,"attrRemove");o(y_e,"attrRemoveNS");o(v_e,"attrConstant");o(x_e,"attrConstantNS");o(b_e,"attrFunction");o(T_e,"attrFunctionNS");o(tR,"default")});function B2(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var rR=I(()=>{"use strict";o(B2,"default")});function w_e(t){return function(){this.style.removeProperty(t)}}function k_e(t,e,r){return function(){this.style.setProperty(t,e,r)}}function S_e(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function nR(t,e,r){return arguments.length>1?this.each((e==null?w_e:typeof e=="function"?S_e:k_e)(t,e,r??"")):kf(this.node(),t)}function kf(t,e){return t.style.getPropertyValue(e)||B2(t).getComputedStyle(t,null).getPropertyValue(e)}var iR=I(()=>{"use strict";rR();o(w_e,"styleRemove");o(k_e,"styleConstant");o(S_e,"styleFunction");o(nR,"default");o(kf,"styleValue")});function E_e(t){return function(){delete this[t]}}function C_e(t,e){return function(){this[t]=e}}function A_e(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function aR(t,e){return arguments.length>1?this.each((e==null?E_e:typeof e=="function"?A_e:C_e)(t,e)):this.node()[t]}var PX=I(()=>{"use strict";o(E_e,"propertyRemove");o(C_e,"propertyConstant");o(A_e,"propertyFunction");o(aR,"default")});function BX(t){return t.trim().split(/^|\s+/)}function sR(t){return t.classList||new FX(t)}function FX(t){this._node=t,this._names=BX(t.getAttribute("class")||"")}function $X(t,e){for(var r=sR(t),n=-1,i=e.length;++n{"use strict";o(BX,"classArray");o(sR,"classList");o(FX,"ClassList");FX.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o($X,"classedAdd");o(zX,"classedRemove");o(__e,"classedTrue");o(D_e,"classedFalse");o(R_e,"classedFunction");o(oR,"default")});function L_e(){this.textContent=""}function N_e(t){return function(){this.textContent=t}}function M_e(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function lR(t){return arguments.length?this.each(t==null?L_e:(typeof t=="function"?M_e:N_e)(t)):this.node().textContent}var VX=I(()=>{"use strict";o(L_e,"textRemove");o(N_e,"textConstant");o(M_e,"textFunction");o(lR,"default")});function I_e(){this.innerHTML=""}function O_e(t){return function(){this.innerHTML=t}}function P_e(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function cR(t){return arguments.length?this.each(t==null?I_e:(typeof t=="function"?P_e:O_e)(t)):this.node().innerHTML}var qX=I(()=>{"use strict";o(I_e,"htmlRemove");o(O_e,"htmlConstant");o(P_e,"htmlFunction");o(cR,"default")});function B_e(){this.nextSibling&&this.parentNode.appendChild(this)}function uR(){return this.each(B_e)}var UX=I(()=>{"use strict";o(B_e,"raise");o(uR,"default")});function F_e(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function hR(){return this.each(F_e)}var WX=I(()=>{"use strict";o(F_e,"lower");o(hR,"default")});function fR(t){var e=typeof t=="function"?t:M2(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var HX=I(()=>{"use strict";LD();o(fR,"default")});function $_e(){return null}function dR(t,e){var r=typeof t=="function"?t:M2(t),n=e==null?$_e:typeof e=="function"?e:wf(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var YX=I(()=>{"use strict";LD();Fw();o($_e,"constantNull");o(dR,"default")});function z_e(){var t=this.parentNode;t&&t.removeChild(this)}function pR(){return this.each(z_e)}var jX=I(()=>{"use strict";o(z_e,"remove");o(pR,"default")});function G_e(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function V_e(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function mR(t){return this.select(t?V_e:G_e)}var XX=I(()=>{"use strict";o(G_e,"selection_cloneShallow");o(V_e,"selection_cloneDeep");o(mR,"default")});function gR(t){return arguments.length?this.property("__data__",t):this.node().__data__}var KX=I(()=>{"use strict";o(gR,"default")});function q_e(t){return function(e){t.call(this,e,this.__data__)}}function U_e(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function W_e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";o(q_e,"contextListener");o(U_e,"parseTypenames");o(W_e,"onRemove");o(H_e,"onAdd");o(yR,"default")});function ZX(t,e,r){var n=B2(t),i=n.CustomEvent;typeof i=="function"?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function Y_e(t,e){return function(){return ZX(this,t,e)}}function j_e(t,e){return function(){return ZX(this,t,e.apply(this,arguments))}}function vR(t,e){return this.each((typeof e=="function"?j_e:Y_e)(t,e))}var JX=I(()=>{"use strict";rR();o(ZX,"dispatchEvent");o(Y_e,"dispatchConstant");o(j_e,"dispatchFunction");o(vR,"default")});function*xR(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(xR,"default")});function Si(t,e){this._groups=t,this._parents=e}function tK(){return new Si([[document.documentElement]],bR)}function X_e(){return this}var bR,sh,Xl=I(()=>{"use strict";gX();vX();xX();bX();TX();kX();GD();SX();EX();CX();AX();_X();DX();RX();LX();NX();MX();IX();OX();iR();PX();GX();VX();qX();UX();WX();HX();YX();jX();XX();KX();QX();JX();eK();bR=[null];o(Si,"Selection");o(tK,"selection");o(X_e,"selection_selection");Si.prototype=tK.prototype={constructor:Si,select:ND,selectAll:OD,selectChild:PD,selectChildren:BD,filter:FD,data:qD,enter:zD,exit:UD,join:WD,merge:HD,selection:X_e,order:YD,sort:jD,call:XD,nodes:KD,node:QD,size:ZD,empty:JD,each:eR,attr:tR,style:nR,property:aR,classed:oR,text:lR,html:cR,raise:uR,lower:hR,append:fR,insert:dR,remove:pR,clone:mR,datum:gR,on:yR,dispatch:vR,[Symbol.iterator]:xR};sh=tK});function He(t){return typeof t=="string"?new Si([[document.querySelector(t)]],[document.documentElement]):new Si([[t]],bR)}var rK=I(()=>{"use strict";Xl();o(He,"default")});var Kl=I(()=>{"use strict";I2();Bw();rK();Xl();Fw();ID();iR()});var nK=I(()=>{"use strict"});function Sf(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function gg(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var TR=I(()=>{"use strict";o(Sf,"default");o(gg,"extend")});function Ef(){}function aK(){return this.rgb().formatHex()}function nDe(){return this.rgb().formatHex8()}function iDe(){return fK(this).formatHsl()}function sK(){return this.rgb().formatRgb()}function Zl(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=K_e.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?oK(e):r===3?new Da(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?zw(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?zw(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Q_e.exec(t))?new Da(e[1],e[2],e[3],1):(e=Z_e.exec(t))?new Da(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=J_e.exec(t))?zw(e[1],e[2],e[3],e[4]):(e=eDe.exec(t))?zw(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=tDe.exec(t))?uK(e[1],e[2]/100,e[3]/100,1):(e=rDe.exec(t))?uK(e[1],e[2]/100,e[3]/100,e[4]):iK.hasOwnProperty(t)?oK(iK[t]):t==="transparent"?new Da(NaN,NaN,NaN,0):null}function oK(t){return new Da(t>>16&255,t>>8&255,t&255,1)}function zw(t,e,r,n){return n<=0&&(t=e=r=NaN),new Da(t,e,r,n)}function kR(t){return t instanceof Ef||(t=Zl(t)),t?(t=t.rgb(),new Da(t.r,t.g,t.b,t.opacity)):new Da}function vg(t,e,r,n){return arguments.length===1?kR(t):new Da(t,e,r,n??1)}function Da(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function lK(){return`#${$p(this.r)}${$p(this.g)}${$p(this.b)}`}function aDe(){return`#${$p(this.r)}${$p(this.g)}${$p(this.b)}${$p((isNaN(this.opacity)?1:this.opacity)*255)}`}function cK(){let t=qw(this.opacity);return`${t===1?"rgb(":"rgba("}${zp(this.r)}, ${zp(this.g)}, ${zp(this.b)}${t===1?")":`, ${t})`}`}function qw(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function zp(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function $p(t){return t=zp(t),(t<16?"0":"")+t.toString(16)}function uK(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Ql(t,e,r,n)}function fK(t){if(t instanceof Ql)return new Ql(t.h,t.s,t.l,t.opacity);if(t instanceof Ef||(t=Zl(t)),!t)return new Ql;if(t instanceof Ql)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,l=a-i,u=(a+i)/2;return l?(e===a?s=(r-n)/l+(r0&&u<1?0:s,new Ql(s,l,u,t.opacity)}function dK(t,e,r,n){return arguments.length===1?fK(t):new Ql(t,e,r,n??1)}function Ql(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function hK(t){return t=(t||0)%360,t<0?t+360:t}function Gw(t){return Math.max(0,Math.min(1,t||0))}function wR(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var F2,Vw,yg,$2,Wc,K_e,Q_e,Z_e,J_e,eDe,tDe,rDe,iK,SR=I(()=>{"use strict";TR();o(Ef,"Color");F2=.7,Vw=1/F2,yg="\\s*([+-]?\\d+)\\s*",$2="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Wc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",K_e=/^#([0-9a-f]{3,8})$/,Q_e=new RegExp(`^rgb\\(${yg},${yg},${yg}\\)$`),Z_e=new RegExp(`^rgb\\(${Wc},${Wc},${Wc}\\)$`),J_e=new RegExp(`^rgba\\(${yg},${yg},${yg},${$2}\\)$`),eDe=new RegExp(`^rgba\\(${Wc},${Wc},${Wc},${$2}\\)$`),tDe=new RegExp(`^hsl\\(${$2},${Wc},${Wc}\\)$`),rDe=new RegExp(`^hsla\\(${$2},${Wc},${Wc},${$2}\\)$`),iK={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Sf(Ef,Zl,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:aK,formatHex:aK,formatHex8:nDe,formatHsl:iDe,formatRgb:sK,toString:sK});o(aK,"color_formatHex");o(nDe,"color_formatHex8");o(iDe,"color_formatHsl");o(sK,"color_formatRgb");o(Zl,"color");o(oK,"rgbn");o(zw,"rgba");o(kR,"rgbConvert");o(vg,"rgb");o(Da,"Rgb");Sf(Da,vg,gg(Ef,{brighter(t){return t=t==null?Vw:Math.pow(Vw,t),new Da(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?F2:Math.pow(F2,t),new Da(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Da(zp(this.r),zp(this.g),zp(this.b),qw(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:lK,formatHex:lK,formatHex8:aDe,formatRgb:cK,toString:cK}));o(lK,"rgb_formatHex");o(aDe,"rgb_formatHex8");o(cK,"rgb_formatRgb");o(qw,"clampa");o(zp,"clampi");o($p,"hex");o(uK,"hsla");o(fK,"hslConvert");o(dK,"hsl");o(Ql,"Hsl");Sf(Ql,dK,gg(Ef,{brighter(t){return t=t==null?Vw:Math.pow(Vw,t),new Ql(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?F2:Math.pow(F2,t),new Ql(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Da(wR(t>=240?t-240:t+120,i,n),wR(t,i,n),wR(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Ql(hK(this.h),Gw(this.s),Gw(this.l),qw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=qw(this.opacity);return`${t===1?"hsl(":"hsla("}${hK(this.h)}, ${Gw(this.s)*100}%, ${Gw(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(hK,"clamph");o(Gw,"clampt");o(wR,"hsl2rgb")});var pK,mK,gK=I(()=>{"use strict";pK=Math.PI/180,mK=180/Math.PI});function wK(t){if(t instanceof Hc)return new Hc(t.l,t.a,t.b,t.opacity);if(t instanceof oh)return kK(t);t instanceof Da||(t=kR(t));var e=_R(t.r),r=_R(t.g),n=_R(t.b),i=ER((.2225045*e+.7168786*r+.0606169*n)/vK),a,s;return e===r&&r===n?a=s=i:(a=ER((.4360747*e+.3850649*r+.1430804*n)/yK),s=ER((.0139322*e+.0971045*r+.7141733*n)/xK)),new Hc(116*i-16,500*(a-i),200*(i-s),t.opacity)}function DR(t,e,r,n){return arguments.length===1?wK(t):new Hc(t,e,r,n??1)}function Hc(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function ER(t){return t>sDe?Math.pow(t,1/3):t/TK+bK}function CR(t){return t>xg?t*t*t:TK*(t-bK)}function AR(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function _R(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function oDe(t){if(t instanceof oh)return new oh(t.h,t.c,t.l,t.opacity);if(t instanceof Hc||(t=wK(t)),t.a===0&&t.b===0)return new oh(NaN,0{"use strict";TR();SR();gK();Uw=18,yK=.96422,vK=1,xK=.82521,bK=4/29,xg=6/29,TK=3*xg*xg,sDe=xg*xg*xg;o(wK,"labConvert");o(DR,"lab");o(Hc,"Lab");Sf(Hc,DR,gg(Ef,{brighter(t){return new Hc(this.l+Uw*(t??1),this.a,this.b,this.opacity)},darker(t){return new Hc(this.l-Uw*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=yK*CR(e),t=vK*CR(t),r=xK*CR(r),new Da(AR(3.1338561*e-1.6168667*t-.4906146*r),AR(-.9787684*e+1.9161415*t+.033454*r),AR(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(ER,"xyz2lab");o(CR,"lab2xyz");o(AR,"lrgb2rgb");o(_R,"rgb2lrgb");o(oDe,"hclConvert");o(z2,"hcl");o(oh,"Hcl");o(kK,"hcl2lab");Sf(oh,z2,gg(Ef,{brighter(t){return new oh(this.h,this.c,this.l+Uw*(t??1),this.opacity)},darker(t){return new oh(this.h,this.c,this.l-Uw*(t??1),this.opacity)},rgb(){return kK(this).rgb()}}))});var bg=I(()=>{"use strict";SR();SK()});function RR(t,e,r,n,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*n+s*i)/6}function LR(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,l=n{"use strict";o(RR,"basis");o(LR,"default")});function MR(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],s=t[(n+1)%e],l=t[(n+2)%e];return RR((r-n/e)*e,i,a,s,l)}}var EK=I(()=>{"use strict";NR();o(MR,"default")});var Tg,IR=I(()=>{"use strict";Tg=o(t=>()=>t,"default")});function CK(t,e){return function(r){return t+r*e}}function lDe(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function AK(t,e){var r=e-t;return r?CK(t,r>180||r<-180?r-360*Math.round(r/360):r):Tg(isNaN(t)?e:t)}function _K(t){return(t=+t)==1?lh:function(e,r){return r-e?lDe(e,r,t):Tg(isNaN(e)?r:e)}}function lh(t,e){var r=e-t;return r?CK(t,r):Tg(isNaN(t)?e:t)}var OR=I(()=>{"use strict";IR();o(CK,"linear");o(lDe,"exponential");o(AK,"hue");o(_K,"gamma");o(lh,"nogamma")});function DK(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";bg();NR();EK();OR();Gp=o((function t(e){var r=_K(e);function n(i,a){var s=r((i=vg(i)).r,(a=vg(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=lh(i.opacity,a.opacity);return function(f){return i.r=s(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return o(n,"rgb"),n.gamma=t,n}),"rgbGamma")(1);o(DK,"rgbSpline");cDe=DK(LR),uDe=DK(MR)});function BR(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";o(BR,"default");o(RK,"isNumberArray")});function NK(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),s;for(s=0;s{"use strict";Ww();o(NK,"genericArray")});function FR(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var IK=I(()=>{"use strict";o(FR,"default")});function ca(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var G2=I(()=>{"use strict";o(ca,"default")});function $R(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=Cf(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var OK=I(()=>{"use strict";Ww();o($R,"default")});function hDe(t){return function(){return t}}function fDe(t){return function(e){return t(e)+""}}function wg(t,e){var r=GR.lastIndex=zR.lastIndex=0,n,i,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(n=GR.exec(t))&&(i=zR.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(n=n[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,u.push({i:s,x:ca(n,i)})),r=zR.lastIndex;return r{"use strict";G2();GR=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,zR=new RegExp(GR.source,"g");o(hDe,"zero");o(fDe,"one");o(wg,"default")});function Cf(t,e){var r=typeof e,n;return e==null||r==="boolean"?Tg(e):(r==="number"?ca:r==="string"?(n=Zl(e))?(e=n,Gp):wg:e instanceof Zl?Gp:e instanceof Date?FR:RK(e)?BR:Array.isArray(e)?NK:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?$R:ca)(t,e)}var Ww=I(()=>{"use strict";bg();PR();MK();IK();G2();OK();VR();IR();LK();o(Cf,"default")});function Hw(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var PK=I(()=>{"use strict";o(Hw,"default")});function jw(t,e,r,n,i,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";BK=180/Math.PI,Yw={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(jw,"default")});function $K(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Yw:jw(e.a,e.b,e.c,e.d,e.e,e.f)}function zK(t){return t==null?Yw:(Xw||(Xw=document.createElementNS("http://www.w3.org/2000/svg","g")),Xw.setAttribute("transform",t),(t=Xw.transform.baseVal.consolidate())?(t=t.matrix,jw(t.a,t.b,t.c,t.d,t.e,t.f)):Yw)}var Xw,GK=I(()=>{"use strict";FK();o($K,"parseCss");o(zK,"parseSvg")});function VK(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}o(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:ca(h,d)},{i:y-2,x:ca(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:ca(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:ca(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:ca(h,d)},{i:y-2,x:ca(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";G2();GK();o(VK,"interpolateTransform");qR=VK($K,"px, ","px)","deg)"),UR=VK(zK,", ",")",")")});function UK(t){return function(e,r){var n=t((e=z2(e)).h,(r=z2(r)).h),i=lh(e.c,r.c),a=lh(e.l,r.l),s=lh(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=s(l),e+""}}}var WR,dDe,WK=I(()=>{"use strict";bg();OR();o(UK,"hcl");WR=UK(AK),dDe=UK(lh)});var kg=I(()=>{"use strict";Ww();G2();PK();VR();qK();PR();WK()});function Y2(){return Vp||(jK(pDe),Vp=W2.now()+Zw)}function pDe(){Vp=0}function H2(){this._call=this._time=this._next=null}function Jw(t,e,r){var n=new H2;return n.restart(t,e,r),n}function XK(){Y2(),++Sg;for(var t=Kw,e;t;)(e=Vp-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Sg}function HK(){Vp=(Qw=W2.now())+Zw,Sg=q2=0;try{XK()}finally{Sg=0,gDe(),Vp=0}}function mDe(){var t=W2.now(),e=t-Qw;e>YK&&(Zw-=e,Qw=t)}function gDe(){for(var t,e=Kw,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:Kw=r);U2=t,HR(n)}function HR(t){if(!Sg){q2&&(q2=clearTimeout(q2));var e=t-Vp;e>24?(t<1/0&&(q2=setTimeout(HK,t-W2.now()-Zw)),V2&&(V2=clearInterval(V2))):(V2||(Qw=W2.now(),V2=setInterval(mDe,YK)),Sg=1,jK(HK))}}var Sg,q2,V2,YK,Kw,U2,Qw,Vp,Zw,W2,jK,YR=I(()=>{"use strict";Sg=0,q2=0,V2=0,YK=1e3,Qw=0,Vp=0,Zw=0,W2=typeof performance=="object"&&performance.now?performance:Date,jK=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(Y2,"now");o(pDe,"clearNow");o(H2,"Timer");H2.prototype=Jw.prototype={constructor:H2,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?Y2():+r)+(e==null?0:+e),!this._next&&U2!==this&&(U2?U2._next=this:Kw=this,U2=this),this._call=t,this._time=r,HR()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,HR())},"stop")};o(Jw,"timer");o(XK,"timerFlush");o(HK,"wake");o(mDe,"poke");o(gDe,"nap");o(HR,"sleep")});function j2(t,e,r){var n=new H2;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var KK=I(()=>{"use strict";YR();o(j2,"default")});var e5=I(()=>{"use strict";YR();KK()});function ch(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;xDe(t,r,{name:e,index:n,group:i,on:yDe,tween:vDe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:JK})}function K2(t,e){var r=Ki(t,e);if(r.state>JK)throw new Error("too late; already scheduled");return r}function Ra(t,e){var r=Ki(t,e);if(r.state>t5)throw new Error("too late; already running");return r}function Ki(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function xDe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=Jw(a,0,r.time);function a(h){r.state=QK,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==QK)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===t5)return j2(s);m.state===ZK?(m.state=X2,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";_D();e5();yDe=AD("start","end","cancel","interrupt"),vDe=[],JK=0,QK=1,r5=2,t5=3,ZK=4,n5=5,X2=6;o(ch,"default");o(K2,"init");o(Ra,"set");o(Ki,"get");o(xDe,"create")});function Q2(t,e){var r=t.__transition,n,i,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((n=r[s]).name!==e){a=!1;continue}i=n.state>r5&&n.state{"use strict";Qs();o(Q2,"default")});function jR(t){return this.each(function(){Q2(this,t)})}var tQ=I(()=>{"use strict";eQ();o(jR,"default")});function bDe(t,e){var r,n;return function(){var i=Ra(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,l=n.length;s{"use strict";Qs();o(bDe,"tweenRemove");o(TDe,"tweenFunction");o(XR,"default");o(Eg,"tweenValue")});function J2(t,e){var r;return(typeof e=="number"?ca:e instanceof Zl?Gp:(r=Zl(e))?(e=r,Gp):wg)(t,e)}var KR=I(()=>{"use strict";bg();kg();o(J2,"default")});function wDe(t){return function(){this.removeAttribute(t)}}function kDe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function SDe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttribute(t);return s===i?null:s===n?a:a=e(n=s,r)}}function EDe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===n?a:a=e(n=s,r)}}function CDe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function ADe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function QR(t,e){var r=Uc(t),n=r==="transform"?UR:J2;return this.attrTween(t,typeof e=="function"?(r.local?ADe:CDe)(r,n,Eg(this,"attr."+t,e)):e==null?(r.local?kDe:wDe)(r):(r.local?EDe:SDe)(r,n,e))}var rQ=I(()=>{"use strict";kg();Kl();Z2();KR();o(wDe,"attrRemove");o(kDe,"attrRemoveNS");o(SDe,"attrConstant");o(EDe,"attrConstantNS");o(CDe,"attrFunction");o(ADe,"attrFunctionNS");o(QR,"default")});function _De(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function DDe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function RDe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&DDe(t,a)),r}return o(i,"tween"),i._value=e,i}function LDe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&_De(t,a)),r}return o(i,"tween"),i._value=e,i}function ZR(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=Uc(t);return this.tween(r,(n.local?RDe:LDe)(n,e))}var nQ=I(()=>{"use strict";Kl();o(_De,"attrInterpolate");o(DDe,"attrInterpolateNS");o(RDe,"attrTweenNS");o(LDe,"attrTween");o(ZR,"default")});function NDe(t,e){return function(){K2(this,t).delay=+e.apply(this,arguments)}}function MDe(t,e){return e=+e,function(){K2(this,t).delay=e}}function JR(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?NDe:MDe)(e,t)):Ki(this.node(),e).delay}var iQ=I(()=>{"use strict";Qs();o(NDe,"delayFunction");o(MDe,"delayConstant");o(JR,"default")});function IDe(t,e){return function(){Ra(this,t).duration=+e.apply(this,arguments)}}function ODe(t,e){return e=+e,function(){Ra(this,t).duration=e}}function eL(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?IDe:ODe)(e,t)):Ki(this.node(),e).duration}var aQ=I(()=>{"use strict";Qs();o(IDe,"durationFunction");o(ODe,"durationConstant");o(eL,"default")});function PDe(t,e){if(typeof e!="function")throw new Error;return function(){Ra(this,t).ease=e}}function tL(t){var e=this._id;return arguments.length?this.each(PDe(e,t)):Ki(this.node(),e).ease}var sQ=I(()=>{"use strict";Qs();o(PDe,"easeConstant");o(tL,"default")});function BDe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;Ra(this,t).ease=r}}function rL(t){if(typeof t!="function")throw new Error;return this.each(BDe(this._id,t))}var oQ=I(()=>{"use strict";Qs();o(BDe,"easeVarying");o(rL,"default")});function nL(t){typeof t!="function"&&(t=mg(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Kl();qp();o(nL,"default")});function iL(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),s=new Array(n),l=0;l{"use strict";qp();o(iL,"default")});function FDe(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function $De(t,e,r){var n,i,a=FDe(e)?K2:Ra;return function(){var s=a(this,t),l=s.on;l!==n&&(i=(n=l).copy()).on(e,r),s.on=i}}function aL(t,e){var r=this._id;return arguments.length<2?Ki(this.node(),r).on.on(t):this.each($De(r,t,e))}var uQ=I(()=>{"use strict";Qs();o(FDe,"start");o($De,"onFunction");o(aL,"default")});function zDe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function sL(){return this.on("end.remove",zDe(this._id))}var hQ=I(()=>{"use strict";o(zDe,"removeFunction");o(sL,"default")});function oL(t){var e=this._name,r=this._id;typeof t!="function"&&(t=wf(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s{"use strict";Kl();qp();Qs();o(oL,"default")});function lL(t){var e=this._name,r=this._id;typeof t!="function"&&(t=pg(t));for(var n=this._groups,i=n.length,a=[],s=[],l=0;l{"use strict";Kl();qp();Qs();o(lL,"default")});function cL(){return new GDe(this._groups,this._parents)}var GDe,pQ=I(()=>{"use strict";Kl();GDe=sh.prototype.constructor;o(cL,"default")});function VDe(t,e){var r,n,i;return function(){var a=kf(this,t),s=(this.style.removeProperty(t),kf(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function mQ(t){return function(){this.style.removeProperty(t)}}function qDe(t,e,r){var n,i=r+"",a;return function(){var s=kf(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function UDe(t,e,r){var n,i,a;return function(){var s=kf(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),kf(this,t))),s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l))}}function WDe(t,e){var r,n,i,a="style."+e,s="end."+a,l;return function(){var u=Ra(this,t),h=u.on,f=u.value[a]==null?l||(l=mQ(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(s,i=f),u.on=n}}function uL(t,e,r){var n=(t+="")=="transform"?qR:J2;return e==null?this.styleTween(t,VDe(t,n)).on("end.style."+t,mQ(t)):typeof e=="function"?this.styleTween(t,UDe(t,n,Eg(this,"style."+t,e))).each(WDe(this._id,t)):this.styleTween(t,qDe(t,n,e),r).on("end.style."+t,null)}var gQ=I(()=>{"use strict";kg();Kl();Qs();Z2();KR();o(VDe,"styleNull");o(mQ,"styleRemove");o(qDe,"styleConstant");o(UDe,"styleFunction");o(WDe,"styleMaybeRemove");o(uL,"default")});function HDe(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function YDe(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&HDe(t,s,r)),n}return o(a,"tween"),a._value=e,a}function hL(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,YDe(t,e,r??""))}var yQ=I(()=>{"use strict";o(HDe,"styleInterpolate");o(YDe,"styleTween");o(hL,"default")});function jDe(t){return function(){this.textContent=t}}function XDe(t){return function(){var e=t(this);this.textContent=e??""}}function fL(t){return this.tween("text",typeof t=="function"?XDe(Eg(this,"text",t)):jDe(t==null?"":t+""))}var vQ=I(()=>{"use strict";Z2();o(jDe,"textConstant");o(XDe,"textFunction");o(fL,"default")});function KDe(t){return function(e){this.textContent=t.call(this,e)}}function QDe(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&KDe(i)),e}return o(n,"tween"),n._value=t,n}function dL(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,QDe(t))}var xQ=I(()=>{"use strict";o(KDe,"textInterpolate");o(QDe,"textTween");o(dL,"default")});function pL(){for(var t=this._name,e=this._id,r=i5(),n=this._groups,i=n.length,a=0;a{"use strict";qp();Qs();o(pL,"default")});function mL(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--i===0&&a()},"value")};r.each(function(){var h=Ra(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var TQ=I(()=>{"use strict";Qs();o(mL,"default")});function Cs(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function wQ(t){return sh().transition(t)}function i5(){return++ZDe}var ZDe,uh,qp=I(()=>{"use strict";Kl();rQ();nQ();iQ();aQ();sQ();oQ();lQ();cQ();uQ();hQ();fQ();dQ();pQ();gQ();yQ();vQ();xQ();bQ();Z2();TQ();ZDe=0;o(Cs,"Transition");o(wQ,"transition");o(i5,"newId");uh=sh.prototype;Cs.prototype=wQ.prototype={constructor:Cs,select:oL,selectAll:lL,selectChild:uh.selectChild,selectChildren:uh.selectChildren,filter:nL,merge:iL,selection:cL,transition:pL,call:uh.call,nodes:uh.nodes,node:uh.node,size:uh.size,empty:uh.empty,each:uh.each,on:aL,attr:QR,attrTween:ZR,style:uL,styleTween:hL,text:fL,textTween:dL,remove:sL,tween:XR,delay:JR,duration:eL,ease:tL,easeVarying:rL,end:mL,[Symbol.iterator]:uh[Symbol.iterator]}});function a5(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var kQ=I(()=>{"use strict";o(a5,"cubicInOut")});var gL=I(()=>{"use strict";kQ()});function eRe(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function yL(t){var e,r;t instanceof Cs?(e=t._id,t=t._name):(e=i5(),(r=JDe).time=Y2(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";qp();Qs();gL();e5();JDe={time:null,delay:0,duration:250,ease:a5};o(eRe,"inherit");o(yL,"default")});var EQ=I(()=>{"use strict";Kl();tQ();SQ();sh.prototype.interrupt=jR;sh.prototype.transition=yL});var s5=I(()=>{"use strict";EQ()});var CQ=I(()=>{"use strict"});var AQ=I(()=>{"use strict"});var _Q=I(()=>{"use strict"});function DQ(t){return[+t[0],+t[1]]}function tRe(t){return[DQ(t[0]),DQ(t[1])]}function vL(t){return{type:t}}var f3t,d3t,p3t,m3t,g3t,y3t,RQ=I(()=>{"use strict";s5();CQ();AQ();_Q();({abs:f3t,max:d3t,min:p3t}=Math);o(DQ,"number1");o(tRe,"number2");m3t={name:"x",handles:["w","e"].map(vL),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},g3t={name:"y",handles:["n","s"].map(vL),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},y3t={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(vL),input:o(function(t){return t==null?null:tRe(t)},"input"),output:o(function(t){return t},"output")};o(vL,"type")});var LQ=I(()=>{"use strict";RQ()});function NQ(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return NQ;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";xL=Math.PI,bL=2*xL,Up=1e-6,rRe=bL-Up;o(NQ,"append");o(nRe,"appendRound");Wp=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?NQ:nRe(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,s){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,l=this._y1,u=n-e,h=i-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>Up)if(!(Math.abs(d*u-h*f)>Up)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-s,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),T=a*Math.tan((xL-Math.acos((y+p-v)/(2*x*b)))/2),E=T/b,w=T/x;Math.abs(E-1)>Up&&this._append`L${e+E*f},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+w*u},${this._y1=r+w*h}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^s,p=s?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>Up||Math.abs(this._y1-f)>Up)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%bL+bL),p>rRe?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>Up&&this._append`A${n},${n},0,${+(p>=xL)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};o(MQ,"path");MQ.prototype=Wp.prototype});var TL=I(()=>{"use strict";IQ()});var OQ=I(()=>{"use strict"});var PQ=I(()=>{"use strict"});var BQ=I(()=>{"use strict"});var FQ=I(()=>{"use strict"});var $Q=I(()=>{"use strict"});var zQ=I(()=>{"use strict"});var GQ=I(()=>{"use strict"});function wL(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Hp(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var ex=I(()=>{"use strict";o(wL,"default");o(Hp,"formatDecimalParts")});function Jl(t){return t=Hp(Math.abs(t)),t?t[1]:NaN}var tx=I(()=>{"use strict";ex();o(Jl,"default")});function kL(t,e){return function(r,n){for(var i=r.length,a=[],s=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var VQ=I(()=>{"use strict";o(kL,"default")});function SL(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var qQ=I(()=>{"use strict";o(SL,"default")});function Af(t){if(!(e=iRe.exec(t)))throw new Error("invalid format: "+t);var e;return new o5({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function o5(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}var iRe,EL=I(()=>{"use strict";iRe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(Af,"formatSpecifier");Af.prototype=o5.prototype;o(o5,"FormatSpecifier");o5.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 CL(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var UQ=I(()=>{"use strict";o(CL,"default")});function _L(t,e){var r=Hp(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(AL=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Hp(t,Math.max(0,e+a-1))[0]}var AL,DL=I(()=>{"use strict";ex();o(_L,"default")});function l5(t,e){var r=Hp(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}var WQ=I(()=>{"use strict";ex();o(l5,"default")});var RL,HQ=I(()=>{"use strict";ex();DL();WQ();RL={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:wL,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>l5(t*100,e),"p"),r:l5,s:_L,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function c5(t){return t}var YQ=I(()=>{"use strict";o(c5,"default")});function LL(t){var e=t.grouping===void 0||t.thousands===void 0?c5:kL(jQ.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?c5:SL(jQ.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Af(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,T=d.precision,E=d.trim,w=d.type;w==="n"?(b=!0,w="g"):RL[w]||(T===void 0&&(T=12),E=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var k=y==="$"?r:y==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",C=y==="$"?n:/[%p]/.test(w)?s:"",D=RL[w],R=/[defgprs%]/.test(w);T=T===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function O(L){var S=k,A=C,_,N,M;if(w==="c")A=D(L)+A,L="";else{L=+L;var P=L<0||1/L<0;if(L=isNaN(L)?u:D(Math.abs(L),T),E&&(L=CL(L)),P&&+L==0&&g!=="+"&&(P=!1),S=(P?g==="("?g:l:g==="-"||g==="("?"":g)+S,A=(w==="s"?XQ[8+AL/3]:"")+A+(P&&g==="("?")":""),R){for(_=-1,N=L.length;++_M||M>57){A=(M===46?i+L.slice(_+1):L.slice(_))+A,L=L.slice(0,_);break}}}b&&!v&&(L=e(L,1/0));var B=S.length+L.length+A.length,F=B>1)+S+L+A+F.slice(B);break;default:L=F+S+L+A;break}return a(L)}return o(O,"format"),O.toString=function(){return d+""},O}o(h,"newFormat");function f(d,p){var m=h((d=Af(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(Jl(p)/3)))*3,y=Math.pow(10,-g),v=XQ[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var jQ,XQ,KQ=I(()=>{"use strict";tx();VQ();qQ();EL();UQ();HQ();DL();YQ();jQ=Array.prototype.map,XQ=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(LL,"default")});function NL(t){return u5=LL(t),Yc=u5.format,h5=u5.formatPrefix,u5}var u5,Yc,h5,QQ=I(()=>{"use strict";KQ();NL({thousands:",",grouping:[3],currency:["$",""]});o(NL,"defaultLocale")});function f5(t){return Math.max(0,-Jl(Math.abs(t)))}var ZQ=I(()=>{"use strict";tx();o(f5,"default")});function d5(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Jl(e)/3)))*3-Jl(Math.abs(t)))}var JQ=I(()=>{"use strict";tx();o(d5,"default")});function p5(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Jl(e)-Jl(t))+1}var eZ=I(()=>{"use strict";tx();o(p5,"default")});var ML=I(()=>{"use strict";QQ();EL();ZQ();JQ();eZ()});var tZ=I(()=>{"use strict"});function aRe(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function IL(){return this.eachAfter(aRe)}var rZ=I(()=>{"use strict";o(aRe,"count");o(IL,"default")});function OL(t,e){let r=-1;for(let n of this)t.call(e,n,++r,this);return this}var nZ=I(()=>{"use strict";o(OL,"default")});function PL(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}var iZ=I(()=>{"use strict";o(PL,"default")});function BL(t,e){for(var r=this,n=[r],i=[],a,s,l,u=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,l=a.length;s{"use strict";o(BL,"default")});function FL(t,e){let r=-1;for(let n of this)if(t.call(e,n,++r,this))return n}var sZ=I(()=>{"use strict";o(FL,"default")});function $L(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r})}var oZ=I(()=>{"use strict";o($L,"default")});function zL(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}var lZ=I(()=>{"use strict";o(zL,"default")});function GL(t){for(var e=this,r=sRe(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function sRe(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}var cZ=I(()=>{"use strict";o(GL,"default");o(sRe,"leastCommonAncestor")});function VL(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}var uZ=I(()=>{"use strict";o(VL,"default")});function qL(){return Array.from(this)}var hZ=I(()=>{"use strict";o(qL,"default")});function UL(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}var fZ=I(()=>{"use strict";o(UL,"default")});function WL(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}var dZ=I(()=>{"use strict";o(WL,"default")});function*HL(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i{"use strict";o(HL,"default")});function Cg(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=cRe)):e===void 0&&(e=lRe);for(var r=new rx(t),n,i=[r],a,s,l,u;n=i.pop();)if((s=e(n.data))&&(u=(s=Array.from(s)).length))for(n.children=s,l=u-1;l>=0;--l)i.push(a=s[l]=new rx(s[l])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(hRe)}function oRe(){return Cg(this).eachBefore(uRe)}function lRe(t){return t.children}function cRe(t){return Array.isArray(t)?t[1]:null}function uRe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function hRe(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function rx(t){this.data=t,this.depth=this.height=0,this.parent=null}var mZ=I(()=>{"use strict";rZ();nZ();iZ();aZ();sZ();oZ();lZ();cZ();uZ();hZ();fZ();dZ();pZ();o(Cg,"hierarchy");o(oRe,"node_copy");o(lRe,"objectChildren");o(cRe,"mapChildren");o(uRe,"copyData");o(hRe,"computeHeight");o(rx,"Node");rx.prototype=Cg.prototype={constructor:rx,count:IL,each:OL,eachAfter:BL,eachBefore:PL,find:FL,sum:$L,sort:zL,path:GL,ancestors:VL,descendants:qL,leaves:UL,links:WL,copy:oRe,[Symbol.iterator]:HL}});function gZ(t){if(typeof t!="function")throw new Error;return t}var yZ=I(()=>{"use strict";o(gZ,"required")});function Ag(){return 0}function Yp(t){return function(){return t}}var vZ=I(()=>{"use strict";o(Ag,"constantZero");o(Yp,"default")});function YL(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}var xZ=I(()=>{"use strict";o(YL,"default")});function jL(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(n-e)/t.value;++l{"use strict";o(jL,"default")});function XL(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(i-r)/t.value;++l{"use strict";o(XL,"default")});function dRe(t,e,r,n,i,a){for(var s=[],l=e.children,u,h,f=0,d=0,p=l.length,m,g,y=e.value,v,x,b,T,E,w,k;fb&&(b=h),k=v*v*w,T=Math.max(b/k,k/x),T>E){v-=h;break}E=T}s.push(u={value:v,dice:m{"use strict";bZ();TZ();fRe=(1+Math.sqrt(5))/2;o(dRe,"squarifyRatio");wZ=o((function t(e){function r(n,i,a,s,l){dRe(e,n,i,a,s,l)}return o(r,"squarify"),r.ratio=function(n){return t((n=+n)>1?n:1)},r}),"custom")(fRe)});function m5(){var t=wZ,e=!1,r=1,n=1,i=[0],a=Ag,s=Ag,l=Ag,u=Ag,h=Ag;function f(p){return p.x0=p.y0=0,p.x1=r,p.y1=n,p.eachBefore(d),i=[0],e&&p.eachBefore(YL),p}o(f,"treemap");function d(p){var m=i[p.depth],g=p.x0+m,y=p.y0+m,v=p.x1-m,x=p.y1-m;v{"use strict";xZ();kZ();yZ();vZ();o(m5,"default")});var EZ=I(()=>{"use strict";mZ();SZ()});var CZ=I(()=>{"use strict"});var AZ=I(()=>{"use strict"});function _f(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var nx=I(()=>{"use strict";o(_f,"initRange")});function Lo(){var t=new fg,e=[],r=[],n=KL;function i(a){let s=t.get(a);if(s===void 0){if(n!==KL)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new fg;for(let s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return Lo(e,r).unknown(n)},_f.apply(i,arguments),i}var KL,QL=I(()=>{"use strict";Tf();nx();KL=Symbol("implicit");o(Lo,"ordinal")});function _g(){var t=Lo().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";Tf();nx();QL();o(_g,"band")});function ZL(t){return function(){return t}}var DZ=I(()=>{"use strict";o(ZL,"constants")});function JL(t){return+t}var RZ=I(()=>{"use strict";o(JL,"number")});function Dg(t){return t}function e9(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:ZL(isNaN(e)?NaN:.5)}function pRe(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function mRe(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?gRe:mRe,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(s(p)))}return o(d,"scale"),d.invert=function(p){return s(i((h||(h=l(e,t.map(n),ca)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,JL),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=Hw,f()},d.clamp=function(p){return arguments.length?(s=p?!0:Dg,f()):s!==Dg},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function ix(){return yRe()(Dg,Dg)}var LZ,t9=I(()=>{"use strict";Tf();kg();DZ();RZ();LZ=[0,1];o(Dg,"identity");o(e9,"normalize");o(pRe,"clamper");o(mRe,"bimap");o(gRe,"polymap");o(g5,"copy");o(yRe,"transformer");o(ix,"continuous")});function r9(t,e,r,n){var i=dg(t,e,r),a;switch(n=Af(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=d5(i,s))&&(n.precision=a),h5(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=p5(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=f5(i))&&(n.precision=a-(n.type==="%")*2);break}}return Yc(n)}var NZ=I(()=>{"use strict";Tf();ML();o(r9,"tickFormat")});function vRe(t){var e=t.domain;return t.ticks=function(r){var n=e();return Dw(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return r9(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],l=n[a],u,h,f=10;for(l0;){if(h=N2(s,l,r),h===u)return n[i]=s,n[a]=l,e(n);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function ec(){var t=ix();return t.copy=function(){return g5(t,ec())},_f.apply(t,arguments),vRe(t)}var MZ=I(()=>{"use strict";Tf();t9();nx();NZ();o(vRe,"linearish");o(ec,"linear")});function n9(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a{"use strict";o(n9,"nice")});function Mn(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let s=i(a),l=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hMn(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(i9.setTime(+a),a9.setTime(+s),t(i9),t(a9),Math.floor(r(i9,a9))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}var i9,a9,hh=I(()=>{"use strict";i9=new Date,a9=new Date;o(Mn,"timeInterval")});var jc,OZ,s9=I(()=>{"use strict";hh();jc=Mn(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);jc.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Mn(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):jc);OZ=jc.range});var No,PZ,o9=I(()=>{"use strict";hh();No=Mn(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),PZ=No.range});var fh,xRe,y5,bRe,l9=I(()=>{"use strict";hh();fh=Mn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),xRe=fh.range,y5=Mn(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),bRe=y5.range});var dh,TRe,v5,wRe,c9=I(()=>{"use strict";hh();dh=Mn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),TRe=dh.range,v5=Mn(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),wRe=v5.range});var ll,kRe,sx,SRe,x5,ERe,u9=I(()=>{"use strict";hh();ll=Mn(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),kRe=ll.range,sx=Mn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),SRe=sx.range,x5=Mn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),ERe=x5.range});function Kp(t){return Mn(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function Qp(t){return Mn(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var tc,Df,b5,T5,Kc,w5,k5,FZ,CRe,ARe,_Re,DRe,RRe,LRe,Zp,Rg,$Z,zZ,Rf,GZ,VZ,qZ,NRe,MRe,IRe,ORe,PRe,BRe,h9=I(()=>{"use strict";hh();o(Kp,"timeWeekday");tc=Kp(0),Df=Kp(1),b5=Kp(2),T5=Kp(3),Kc=Kp(4),w5=Kp(5),k5=Kp(6),FZ=tc.range,CRe=Df.range,ARe=b5.range,_Re=T5.range,DRe=Kc.range,RRe=w5.range,LRe=k5.range;o(Qp,"utcWeekday");Zp=Qp(0),Rg=Qp(1),$Z=Qp(2),zZ=Qp(3),Rf=Qp(4),GZ=Qp(5),VZ=Qp(6),qZ=Zp.range,NRe=Rg.range,MRe=$Z.range,IRe=zZ.range,ORe=Rf.range,PRe=GZ.range,BRe=VZ.range});var ph,FRe,S5,$Re,f9=I(()=>{"use strict";hh();ph=Mn(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()),FRe=ph.range,S5=Mn(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()),$Re=S5.range});var Mo,zRe,rc,GRe,d9=I(()=>{"use strict";hh();Mo=Mn(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());Mo.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Mn(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});zRe=Mo.range,rc=Mn(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());rc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Mn(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});GRe=rc.range});function WZ(t,e,r,n,i,a){let s=[[No,1,1e3],[No,5,5*1e3],[No,15,15*1e3],[No,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(dg(h/31536e6,f/31536e6,d));if(m===0)return jc.every(Math.max(dg(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";Tf();s9();o9();l9();c9();u9();h9();f9();d9();o(WZ,"ticker");[qRe,URe]=WZ(rc,S5,Zp,x5,v5,y5),[p9,m9]=WZ(Mo,ph,tc,ll,dh,fh)});var E5=I(()=>{"use strict";s9();o9();l9();c9();u9();h9();f9();d9();HZ()});function g9(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function y9(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ox(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function v9(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=lx(i),f=cx(i),d=lx(a),p=cx(a),m=lx(s),g=cx(s),y=lx(l),v=cx(l),x=lx(u),b=cx(u),T={a:P,A:B,b:F,B:G,c:null,d:ZZ,e:ZZ,f:dLe,g:kLe,G:ELe,H:uLe,I:hLe,j:fLe,L:nJ,m:pLe,M:mLe,p:$,q:V,Q:tJ,s:rJ,S:gLe,u:yLe,U:vLe,V:xLe,w:bLe,W:TLe,x:null,X:null,y:wLe,Y:SLe,Z:CLe,"%":eJ},E={a:K,A:ee,b:H,B:he,c:null,d:JZ,e:JZ,f:RLe,g:zLe,G:VLe,H:ALe,I:_Le,j:DLe,L:aJ,m:LLe,M:NLe,p:Z,q:de,Q:tJ,s:rJ,S:MLe,u:ILe,U:OLe,V:PLe,w:BLe,W:FLe,x:null,X:null,y:$Le,Y:GLe,Z:qLe,"%":eJ},w={a:O,A:L,b:S,B:A,c:_,d:KZ,e:KZ,f:sLe,g:XZ,G:jZ,H:QZ,I:QZ,j:rLe,L:aLe,m:tLe,M:nLe,p:R,q:eLe,Q:lLe,s:cLe,S:iLe,u:XRe,U:KRe,V:QRe,w:jRe,W:ZRe,x:N,X:M,y:XZ,Y:jZ,Z:JRe,"%":oLe};T.x=k(r,T),T.X=k(n,T),T.c=k(e,T),E.x=k(r,E),E.X=k(n,E),E.c=k(e,E);function k(re,ne){return function(te){var Q=[],le=-1,J=0,ge=re.length,ie,Te,j;for(te instanceof Date||(te=new Date(+te));++le53)return null;"w"in Q||(Q.w=1),"Z"in Q?(J=y9(ox(Q.y,0,1)),ge=J.getUTCDay(),J=ge>4||ge===0?Rg.ceil(J):Rg(J),J=sx.offset(J,(Q.V-1)*7),Q.y=J.getUTCFullYear(),Q.m=J.getUTCMonth(),Q.d=J.getUTCDate()+(Q.w+6)%7):(J=g9(ox(Q.y,0,1)),ge=J.getDay(),J=ge>4||ge===0?Df.ceil(J):Df(J),J=ll.offset(J,(Q.V-1)*7),Q.y=J.getFullYear(),Q.m=J.getMonth(),Q.d=J.getDate()+(Q.w+6)%7)}else("W"in Q||"U"in Q)&&("w"in Q||(Q.w="u"in Q?Q.u%7:"W"in Q?1:0),ge="Z"in Q?y9(ox(Q.y,0,1)).getUTCDay():g9(ox(Q.y,0,1)).getDay(),Q.m=0,Q.d="W"in Q?(Q.w+6)%7+Q.W*7-(ge+5)%7:Q.w+Q.U*7-(ge+6)%7);return"Z"in Q?(Q.H+=Q.Z/100|0,Q.M+=Q.Z%100,y9(Q)):g9(Q)}}o(C,"newParse");function D(re,ne,te,Q){for(var le=0,J=ne.length,ge=te.length,ie,Te;le=ge)return-1;if(ie=ne.charCodeAt(le++),ie===37){if(ie=ne.charAt(le++),Te=w[ie in YZ?ne.charAt(le++):ie],!Te||(Q=Te(re,te,Q))<0)return-1}else if(ie!=te.charCodeAt(Q++))return-1}return Q}o(D,"parseSpecifier");function R(re,ne,te){var Q=h.exec(ne.slice(te));return Q?(re.p=f.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(R,"parsePeriod");function O(re,ne,te){var Q=m.exec(ne.slice(te));return Q?(re.w=g.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(O,"parseShortWeekday");function L(re,ne,te){var Q=d.exec(ne.slice(te));return Q?(re.w=p.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(L,"parseWeekday");function S(re,ne,te){var Q=x.exec(ne.slice(te));return Q?(re.m=b.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(S,"parseShortMonth");function A(re,ne,te){var Q=y.exec(ne.slice(te));return Q?(re.m=v.get(Q[0].toLowerCase()),te+Q[0].length):-1}o(A,"parseMonth");function _(re,ne,te){return D(re,e,ne,te)}o(_,"parseLocaleDateTime");function N(re,ne,te){return D(re,r,ne,te)}o(N,"parseLocaleDate");function M(re,ne,te){return D(re,n,ne,te)}o(M,"parseLocaleTime");function P(re){return s[re.getDay()]}o(P,"formatShortWeekday");function B(re){return a[re.getDay()]}o(B,"formatWeekday");function F(re){return u[re.getMonth()]}o(F,"formatShortMonth");function G(re){return l[re.getMonth()]}o(G,"formatMonth");function $(re){return i[+(re.getHours()>=12)]}o($,"formatPeriod");function V(re){return 1+~~(re.getMonth()/3)}o(V,"formatQuarter");function K(re){return s[re.getUTCDay()]}o(K,"formatUTCShortWeekday");function ee(re){return a[re.getUTCDay()]}o(ee,"formatUTCWeekday");function H(re){return u[re.getUTCMonth()]}o(H,"formatUTCShortMonth");function he(re){return l[re.getUTCMonth()]}o(he,"formatUTCMonth");function Z(re){return i[+(re.getUTCHours()>=12)]}o(Z,"formatUTCPeriod");function de(re){return 1+~~(re.getUTCMonth()/3)}return o(de,"formatUTCQuarter"),{format:o(function(re){var ne=k(re+="",T);return ne.toString=function(){return re},ne},"format"),parse:o(function(re){var ne=C(re+="",!1);return ne.toString=function(){return re},ne},"parse"),utcFormat:o(function(re){var ne=k(re+="",E);return ne.toString=function(){return re},ne},"utcFormat"),utcParse:o(function(re){var ne=C(re+="",!0);return ne.toString=function(){return re},ne},"utcParse")}}function on(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function jRe(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function XRe(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function KRe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function QRe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function ZRe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function jZ(t,e,r){var n=ua.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function XZ(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function JRe(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function eLe(t,e,r){var n=ua.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function tLe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function KZ(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function rLe(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function QZ(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function nLe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function iLe(t,e,r){var n=ua.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function aLe(t,e,r){var n=ua.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function sLe(t,e,r){var n=ua.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function oLe(t,e,r){var n=WRe.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function lLe(t,e,r){var n=ua.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function cLe(t,e,r){var n=ua.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function ZZ(t,e){return on(t.getDate(),e,2)}function uLe(t,e){return on(t.getHours(),e,2)}function hLe(t,e){return on(t.getHours()%12||12,e,2)}function fLe(t,e){return on(1+ll.count(Mo(t),t),e,3)}function nJ(t,e){return on(t.getMilliseconds(),e,3)}function dLe(t,e){return nJ(t,e)+"000"}function pLe(t,e){return on(t.getMonth()+1,e,2)}function mLe(t,e){return on(t.getMinutes(),e,2)}function gLe(t,e){return on(t.getSeconds(),e,2)}function yLe(t){var e=t.getDay();return e===0?7:e}function vLe(t,e){return on(tc.count(Mo(t)-1,t),e,2)}function iJ(t){var e=t.getDay();return e>=4||e===0?Kc(t):Kc.ceil(t)}function xLe(t,e){return t=iJ(t),on(Kc.count(Mo(t),t)+(Mo(t).getDay()===4),e,2)}function bLe(t){return t.getDay()}function TLe(t,e){return on(Df.count(Mo(t)-1,t),e,2)}function wLe(t,e){return on(t.getFullYear()%100,e,2)}function kLe(t,e){return t=iJ(t),on(t.getFullYear()%100,e,2)}function SLe(t,e){return on(t.getFullYear()%1e4,e,4)}function ELe(t,e){var r=t.getDay();return t=r>=4||r===0?Kc(t):Kc.ceil(t),on(t.getFullYear()%1e4,e,4)}function CLe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+on(e/60|0,"0",2)+on(e%60,"0",2)}function JZ(t,e){return on(t.getUTCDate(),e,2)}function ALe(t,e){return on(t.getUTCHours(),e,2)}function _Le(t,e){return on(t.getUTCHours()%12||12,e,2)}function DLe(t,e){return on(1+sx.count(rc(t),t),e,3)}function aJ(t,e){return on(t.getUTCMilliseconds(),e,3)}function RLe(t,e){return aJ(t,e)+"000"}function LLe(t,e){return on(t.getUTCMonth()+1,e,2)}function NLe(t,e){return on(t.getUTCMinutes(),e,2)}function MLe(t,e){return on(t.getUTCSeconds(),e,2)}function ILe(t){var e=t.getUTCDay();return e===0?7:e}function OLe(t,e){return on(Zp.count(rc(t)-1,t),e,2)}function sJ(t){var e=t.getUTCDay();return e>=4||e===0?Rf(t):Rf.ceil(t)}function PLe(t,e){return t=sJ(t),on(Rf.count(rc(t),t)+(rc(t).getUTCDay()===4),e,2)}function BLe(t){return t.getUTCDay()}function FLe(t,e){return on(Rg.count(rc(t)-1,t),e,2)}function $Le(t,e){return on(t.getUTCFullYear()%100,e,2)}function zLe(t,e){return t=sJ(t),on(t.getUTCFullYear()%100,e,2)}function GLe(t,e){return on(t.getUTCFullYear()%1e4,e,4)}function VLe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Rf(t):Rf.ceil(t),on(t.getUTCFullYear()%1e4,e,4)}function qLe(){return"+0000"}function eJ(){return"%"}function tJ(t){return+t}function rJ(t){return Math.floor(+t/1e3)}var YZ,ua,WRe,HRe,oJ=I(()=>{"use strict";E5();o(g9,"localDate");o(y9,"utcDate");o(ox,"newDate");o(v9,"formatLocale");YZ={"-":"",_:" ",0:"0"},ua=/^\s*\d+/,WRe=/^%/,HRe=/[\\^$*+?|[\]().{}]/g;o(on,"pad");o(YRe,"requote");o(lx,"formatRe");o(cx,"formatLookup");o(jRe,"parseWeekdayNumberSunday");o(XRe,"parseWeekdayNumberMonday");o(KRe,"parseWeekNumberSunday");o(QRe,"parseWeekNumberISO");o(ZRe,"parseWeekNumberMonday");o(jZ,"parseFullYear");o(XZ,"parseYear");o(JRe,"parseZone");o(eLe,"parseQuarter");o(tLe,"parseMonthNumber");o(KZ,"parseDayOfMonth");o(rLe,"parseDayOfYear");o(QZ,"parseHour24");o(nLe,"parseMinutes");o(iLe,"parseSeconds");o(aLe,"parseMilliseconds");o(sLe,"parseMicroseconds");o(oLe,"parseLiteralPercent");o(lLe,"parseUnixTimestamp");o(cLe,"parseUnixTimestampSeconds");o(ZZ,"formatDayOfMonth");o(uLe,"formatHour24");o(hLe,"formatHour12");o(fLe,"formatDayOfYear");o(nJ,"formatMilliseconds");o(dLe,"formatMicroseconds");o(pLe,"formatMonthNumber");o(mLe,"formatMinutes");o(gLe,"formatSeconds");o(yLe,"formatWeekdayNumberMonday");o(vLe,"formatWeekNumberSunday");o(iJ,"dISO");o(xLe,"formatWeekNumberISO");o(bLe,"formatWeekdayNumberSunday");o(TLe,"formatWeekNumberMonday");o(wLe,"formatYear");o(kLe,"formatYearISO");o(SLe,"formatFullYear");o(ELe,"formatFullYearISO");o(CLe,"formatZone");o(JZ,"formatUTCDayOfMonth");o(ALe,"formatUTCHour24");o(_Le,"formatUTCHour12");o(DLe,"formatUTCDayOfYear");o(aJ,"formatUTCMilliseconds");o(RLe,"formatUTCMicroseconds");o(LLe,"formatUTCMonthNumber");o(NLe,"formatUTCMinutes");o(MLe,"formatUTCSeconds");o(ILe,"formatUTCWeekdayNumberMonday");o(OLe,"formatUTCWeekNumberSunday");o(sJ,"UTCdISO");o(PLe,"formatUTCWeekNumberISO");o(BLe,"formatUTCWeekdayNumberSunday");o(FLe,"formatUTCWeekNumberMonday");o($Le,"formatUTCYear");o(zLe,"formatUTCYearISO");o(GLe,"formatUTCFullYear");o(VLe,"formatUTCFullYearISO");o(qLe,"formatUTCZone");o(eJ,"formatLiteralPercent");o(tJ,"formatUnixTimestamp");o(rJ,"formatUnixTimestampSeconds")});function x9(t){return Lg=v9(t),Jp=Lg.format,lJ=Lg.parse,cJ=Lg.utcFormat,uJ=Lg.utcParse,Lg}var Lg,Jp,lJ,cJ,uJ,hJ=I(()=>{"use strict";oJ();x9({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});o(x9,"defaultLocale")});var b9=I(()=>{"use strict";hJ()});function ULe(t){return new Date(t)}function WLe(t){return t instanceof Date?+t:+new Date(+t)}function fJ(t,e,r,n,i,a,s,l,u,h){var f=ix(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),T=h("%B"),E=h("%Y");function w(k){return(u(k){"use strict";E5();b9();t9();nx();IZ();o(ULe,"date");o(WLe,"number");o(fJ,"calendar");o(C5,"time")});var pJ=I(()=>{"use strict";_Z();MZ();QL();dJ()});function T9(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";o(T9,"default")});var w9,gJ=I(()=>{"use strict";mJ();w9=T9("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var yJ=I(()=>{"use strict";gJ()});function Xn(t){return o(function(){return t},"constant")}var A5=I(()=>{"use strict";o(Xn,"default")});function xJ(t){return t>1?0:t<-1?Ng:Math.acos(t)}function S9(t){return t>=1?ux:t<=-1?-ux:Math.asin(t)}var k9,La,Lf,vJ,_5,nc,e0,ha,Ng,ux,Mg,D5=I(()=>{"use strict";k9=Math.abs,La=Math.atan2,Lf=Math.cos,vJ=Math.max,_5=Math.min,nc=Math.sin,e0=Math.sqrt,ha=1e-12,Ng=Math.PI,ux=Ng/2,Mg=2*Ng;o(xJ,"acos");o(S9,"asin")});function R5(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Wp(e)}var E9=I(()=>{"use strict";TL();o(R5,"withPath")});function HLe(t){return t.innerRadius}function YLe(t){return t.outerRadius}function jLe(t){return t.startAngle}function XLe(t){return t.endAngle}function KLe(t){return t&&t.padAngle}function QLe(t,e,r,n,i,a,s,l){var u=r-t,h=n-e,f=s-i,d=l-a,p=d*u-f*h;if(!(p*p_*_+N*N&&(D=O,R=L),{cx:D,cy:R,x01:-f,y01:-d,x11:D*(i/w-1),y11:R*(i/w-1)}}function ic(){var t=HLe,e=YLe,r=Xn(0),n=null,i=jLe,a=XLe,s=KLe,l=null,u=R5(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-ux,y=a.apply(this,arguments)-ux,v=k9(y-g),x=y>g;if(l||(l=f=u()),mha))l.moveTo(0,0);else if(v>Mg-ha)l.moveTo(m*Lf(g),m*nc(g)),l.arc(0,0,m,g,y,!x),p>ha&&(l.moveTo(p*Lf(y),p*nc(y)),l.arc(0,0,p,y,g,x));else{var b=g,T=y,E=g,w=y,k=v,C=v,D=s.apply(this,arguments)/2,R=D>ha&&(n?+n.apply(this,arguments):e0(p*p+m*m)),O=_5(k9(m-p)/2,+r.apply(this,arguments)),L=O,S=O,A,_;if(R>ha){var N=S9(R/p*nc(D)),M=S9(R/m*nc(D));(k-=N*2)>ha?(N*=x?1:-1,E+=N,w-=N):(k=0,E=w=(g+y)/2),(C-=M*2)>ha?(M*=x?1:-1,b+=M,T-=M):(C=0,b=T=(g+y)/2)}var P=m*Lf(b),B=m*nc(b),F=p*Lf(w),G=p*nc(w);if(O>ha){var $=m*Lf(T),V=m*nc(T),K=p*Lf(E),ee=p*nc(E),H;if(vha?S>ha?(A=L5(K,ee,P,B,m,S,x),_=L5($,V,F,G,m,S,x),l.moveTo(A.cx+A.x01,A.cy+A.y01),Sha)||!(k>ha)?l.lineTo(F,G):L>ha?(A=L5(F,G,$,V,p,-L,x),_=L5(P,B,K,ee,p,-L,x),l.lineTo(A.cx+A.x01,A.cy+A.y01),L{"use strict";A5();D5();E9();o(HLe,"arcInnerRadius");o(YLe,"arcOuterRadius");o(jLe,"arcStartAngle");o(XLe,"arcEndAngle");o(KLe,"arcPadAngle");o(QLe,"intersect");o(L5,"cornerTangents");o(ic,"default")});function hx(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var tEt,C9=I(()=>{"use strict";tEt=Array.prototype.slice;o(hx,"default")});function TJ(t){this._context=t}function mh(t){return new TJ(t)}var A9=I(()=>{"use strict";o(TJ,"Linear");TJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}},"point")};o(mh,"default")});function wJ(t){return t[0]}function kJ(t){return t[1]}var SJ=I(()=>{"use strict";o(wJ,"x");o(kJ,"y")});function ac(t,e){var r=Xn(!0),n=null,i=mh,a=null,s=R5(l);t=typeof t=="function"?t:t===void 0?wJ:Xn(t),e=typeof e=="function"?e:e===void 0?kJ:Xn(e);function l(u){var h,f=(u=hx(u)).length,d,p=!1,m;for(n==null&&(a=i(m=s())),h=0;h<=f;++h)!(h{"use strict";C9();A5();A9();E9();SJ();o(ac,"default")});function _9(t,e){return et?1:e>=t?0:NaN}var CJ=I(()=>{"use strict";o(_9,"default")});function D9(t){return t}var AJ=I(()=>{"use strict";o(D9,"default")});function N5(){var t=D9,e=_9,r=null,n=Xn(0),i=Xn(Mg),a=Xn(0);function s(l){var u,h=(l=hx(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(Mg,Math.max(-Mg,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),T=b*(v<0?-1:1),E;for(u=0;u0&&(p+=E);for(e!=null?m.sort(function(w,k){return e(g[w],g[k])}):r!=null&&m.sort(function(w,k){return r(l[w],l[k])}),u=0,d=p?(v-h*T)/p:0;u0?E*d:0)+T,g[f]={data:l[f],index:u,value:E,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:Xn(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:Xn(+l),s):n},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Xn(+l),s):i},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Xn(+l),s):a},s}var _J=I(()=>{"use strict";C9();A5();CJ();AJ();D5();o(N5,"default")});function fx(t){return new M5(t,!0)}function dx(t){return new M5(t,!1)}var M5,DJ=I(()=>{"use strict";M5=class{static{o(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};o(fx,"bumpX");o(dx,"bumpY")});function Io(){}var px=I(()=>{"use strict";o(Io,"default")});function Ig(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function mx(t){this._context=t}function cl(t){return new mx(t)}var gx=I(()=>{"use strict";o(Ig,"point");o(mx,"Basis");mx.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:Ig(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ig(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(cl,"default")});function RJ(t){this._context=t}function I5(t){return new RJ(t)}var LJ=I(()=>{"use strict";px();gx();o(RJ,"BasisClosed");RJ.prototype={areaStart:Io,areaEnd:Io,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Ig(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(I5,"default")});function NJ(t){this._context=t}function O5(t){return new NJ(t)}var MJ=I(()=>{"use strict";gx();o(NJ,"BasisOpen");NJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Ig(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(O5,"default")});function IJ(t,e){this._basis=new mx(t),this._beta=e}var R9,OJ=I(()=>{"use strict";gx();o(IJ,"Bundle");IJ.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};R9=o((function t(e){function r(n){return e===1?new mx(n):new IJ(n,e)}return o(r,"bundle"),r.beta=function(n){return t(+n)},r}),"custom")(.85)});function Og(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function P5(t,e){this._context=t,this._k=(1-e)/6}var yx,vx=I(()=>{"use strict";o(Og,"point");o(P5,"Cardinal");P5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Og(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Og(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};yx=o((function t(e){function r(n){return new P5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function B5(t,e){this._context=t,this._k=(1-e)/6}var L9,N9=I(()=>{"use strict";px();vx();o(B5,"CardinalClosed");B5.prototype={areaStart:Io,areaEnd:Io,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Og(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};L9=o((function t(e){function r(n){return new B5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function F5(t,e){this._context=t,this._k=(1-e)/6}var M9,I9=I(()=>{"use strict";vx();o(F5,"CardinalOpen");F5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Og(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};M9=o((function t(e){function r(n){return new F5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function xx(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>ha){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>ha){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function PJ(t,e){this._context=t,this._alpha=e}var bx,$5=I(()=>{"use strict";D5();vx();o(xx,"point");o(PJ,"CatmullRom");PJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:xx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};bx=o((function t(e){function r(n){return e?new PJ(n,e):new P5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function BJ(t,e){this._context=t,this._alpha=e}var O9,FJ=I(()=>{"use strict";N9();px();$5();o(BJ,"CatmullRomClosed");BJ.prototype={areaStart:Io,areaEnd:Io,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:xx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};O9=o((function t(e){function r(n){return e?new BJ(n,e):new B5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function $J(t,e){this._context=t,this._alpha=e}var P9,zJ=I(()=>{"use strict";I9();$5();o($J,"CatmullRomOpen");$J.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:xx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};P9=o((function t(e){function r(n){return e?new $J(n,e):new F5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function GJ(t){this._context=t}function z5(t){return new GJ(t)}var VJ=I(()=>{"use strict";px();o(GJ,"LinearClosed");GJ.prototype={areaStart:Io,areaEnd:Io,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(z5,"default")});function qJ(t){return t<0?-1:1}function UJ(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),l=(a*i+s*n)/(n+i);return(qJ(a)+qJ(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function WJ(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function B9(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,s-l*r,a,s)}function G5(t){this._context=t}function HJ(t){this._context=new YJ(t)}function YJ(t){this._context=t}function Tx(t){return new G5(t)}function wx(t){return new HJ(t)}var jJ=I(()=>{"use strict";o(qJ,"sign");o(UJ,"slope3");o(WJ,"slope2");o(B9,"point");o(G5,"MonotoneX");G5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:B9(this,this._t0,WJ(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,B9(this,WJ(this,r=UJ(this,t,e)),r);break;default:B9(this,this._t0,r=UJ(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(HJ,"MonotoneY");(HJ.prototype=Object.create(G5.prototype)).point=function(t,e){G5.prototype.point.call(this,e,t)};o(YJ,"ReflectContext");YJ.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};o(Tx,"monotoneX");o(wx,"monotoneY")});function KJ(t){this._context=t}function XJ(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";o(KJ,"Natural");KJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=XJ(t),i=XJ(e),a=0,s=1;s{"use strict";o(V5,"Step");V5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e},"point")};o(Bg,"default");o(kx,"stepBefore");o(Sx,"stepAfter")});var JJ=I(()=>{"use strict";bJ();EJ();_J();LJ();MJ();gx();DJ();OJ();N9();I9();vx();FJ();zJ();$5();VJ();A9();jJ();QJ();ZJ()});var eee=I(()=>{"use strict"});var tee=I(()=>{"use strict"});function Nf(t,e,r){this.k=t,this.x=e,this.y=r}function $9(t){for(;!t.__zoom;)if(!(t=t.parentNode))return F9;return t.__zoom}var F9,z9=I(()=>{"use strict";o(Nf,"Transform");Nf.prototype={constructor:Nf,scale:o(function(t){return t===1?this:new Nf(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Nf(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};F9=new Nf(1,0,0);$9.prototype=Nf.prototype;o($9,"transform")});var ree=I(()=>{"use strict"});var nee=I(()=>{"use strict";s5();eee();tee();z9();ree()});var iee=I(()=>{"use strict";nee();z9()});var kr=I(()=>{"use strict";Tf();fX();LQ();OQ();bg();PQ();BQ();_D();nK();FQ();gL();$Q();GQ();ML();tZ();EZ();kg();TL();CZ();zQ();AZ();pJ();yJ();Kl();JJ();E5();b9();e5();s5();iee()});var aee=Jt(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.BLANK_URL=fa.relativeFirstCharacters=fa.whitespaceEscapeCharsRegex=fa.urlSchemeRegex=fa.ctrlCharactersRegex=fa.htmlCtrlEntityRegex=fa.htmlEntitiesRegex=fa.invalidProtocolRegex=void 0;fa.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;fa.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;fa.htmlCtrlEntityRegex=/&(newline|tab);/gi;fa.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;fa.urlSchemeRegex=/^.+(:|:)/gim;fa.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;fa.relativeFirstCharacters=[".","/"];fa.BLANK_URL="about:blank"});var Fg=Jt(q5=>{"use strict";Object.defineProperty(q5,"__esModule",{value:!0});q5.sanitizeUrl=void 0;var Za=aee();function ZLe(t){return Za.relativeFirstCharacters.indexOf(t[0])>-1}o(ZLe,"isRelativeUrlWithoutProtocol");function JLe(t){var e=t.replace(Za.ctrlCharactersRegex,"");return e.replace(Za.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}o(JLe,"decodeHtmlCharacters");function e9e(t){return URL.canParse(t)}o(e9e,"isValidUrl");function see(t){try{return decodeURIComponent(t)}catch{return t}}o(see,"decodeURI");function t9e(t){if(!t)return Za.BLANK_URL;var e,r=see(t.trim());do r=JLe(r).replace(Za.htmlCtrlEntityRegex,"").replace(Za.ctrlCharactersRegex,"").replace(Za.whitespaceEscapeCharsRegex,"").trim(),r=see(r),e=r.match(Za.ctrlCharactersRegex)||r.match(Za.htmlEntitiesRegex)||r.match(Za.htmlCtrlEntityRegex)||r.match(Za.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Za.BLANK_URL;if(ZLe(n))return n;var i=n.trimStart(),a=i.match(Za.urlSchemeRegex);if(!a)return n;var s=a[0].toLowerCase().trim();if(Za.invalidProtocolRegex.test(s))return Za.BLANK_URL;var l=i.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!e9e(l))return Za.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(t9e,"sanitizeUrl");q5.sanitizeUrl=t9e});var G9,t0,U5,oee,W5,H5,Na,Ex,Cx=I(()=>{"use strict";G9=Aa(Fg(),1);wr();t0=o((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),U5=o((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};t0(t,r).lower()},"drawBackgroundRect"),oee=o((t,e)=>{let r=e.text.replace(Lp," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),W5=o((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,G9.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),H5=o((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,G9.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),Na=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Ex=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var lee,V9,cee,r9e,n9e,i9e,a9e,s9e,o9e,l9e,c9e,u9e,h9e,f9e,d9e,gh,sc,uee=I(()=>{"use strict";wr();Cx();lee=Aa(Fg(),1),V9=o(function(t,e){return t0(t,e)},"drawRect"),cee=o(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,lee.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),r9e=o((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();gh(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:s},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),gh(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},d))}},"drawRels"),n9e=o(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};V9(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,gh(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,gh(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,gh(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),i9e=o(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=Na();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},V9(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let h=d9e(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":cee(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,gh(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?gh(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&gh(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,gh(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),a9e=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),s9e=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),o9e=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),l9e=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),c9e=o(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),u9e=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),h9e=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),f9e=o(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),d9e=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),gh=(function(){function t(i,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split(nt.lineBreakRegex);for(let v=0;v{"use strict";p9e=typeof global=="object"&&global&&global.Object===Object&&global,j5=p9e});var m9e,g9e,Ei,ul=I(()=>{"use strict";q9();m9e=typeof self=="object"&&self&&self.Object===Object&&self,g9e=j5||m9e||Function("return this")(),Ei=g9e});var y9e,da,r0=I(()=>{"use strict";ul();y9e=Ei.Symbol,da=y9e});function b9e(t){var e=v9e.call(t,Ax),r=t[Ax];try{t[Ax]=void 0;var n=!0}catch{}var i=x9e.call(t);return n&&(e?t[Ax]=r:delete t[Ax]),i}var hee,v9e,x9e,Ax,fee,dee=I(()=>{"use strict";r0();hee=Object.prototype,v9e=hee.hasOwnProperty,x9e=hee.toString,Ax=da?da.toStringTag:void 0;o(b9e,"getRawTag");fee=b9e});function k9e(t){return w9e.call(t)}var T9e,w9e,pee,mee=I(()=>{"use strict";T9e=Object.prototype,w9e=T9e.toString;o(k9e,"objectToString");pee=k9e});function C9e(t){return t==null?t===void 0?E9e:S9e:gee&&gee in Object(t)?fee(t):pee(t)}var S9e,E9e,gee,Ma,yh=I(()=>{"use strict";r0();dee();mee();S9e="[object Null]",E9e="[object Undefined]",gee=da?da.toStringTag:void 0;o(C9e,"baseGetTag");Ma=C9e});function A9e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var In,Oo=I(()=>{"use strict";o(A9e,"isObject");In=A9e});function N9e(t){if(!In(t))return!1;var e=Ma(t);return e==D9e||e==R9e||e==_9e||e==L9e}var _9e,D9e,R9e,L9e,$i,_x=I(()=>{"use strict";yh();Oo();_9e="[object AsyncFunction]",D9e="[object Function]",R9e="[object GeneratorFunction]",L9e="[object Proxy]";o(N9e,"isFunction");$i=N9e});var M9e,X5,yee=I(()=>{"use strict";ul();M9e=Ei["__core-js_shared__"],X5=M9e});function I9e(t){return!!vee&&vee in t}var vee,xee,bee=I(()=>{"use strict";yee();vee=(function(){var t=/[^.]+$/.exec(X5&&X5.keys&&X5.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();o(I9e,"isMasked");xee=I9e});function B9e(t){if(t!=null){try{return P9e.call(t)}catch{}try{return t+""}catch{}}return""}var O9e,P9e,vh,U9=I(()=>{"use strict";O9e=Function.prototype,P9e=O9e.toString;o(B9e,"toSource");vh=B9e});function W9e(t){if(!In(t)||xee(t))return!1;var e=$i(t)?U9e:$9e;return e.test(vh(t))}var F9e,$9e,z9e,G9e,V9e,q9e,U9e,Tee,wee=I(()=>{"use strict";_x();bee();Oo();U9();F9e=/[\\^$.*+?()[\]{}|]/g,$9e=/^\[object .+?Constructor\]$/,z9e=Function.prototype,G9e=Object.prototype,V9e=z9e.toString,q9e=G9e.hasOwnProperty,U9e=RegExp("^"+V9e.call(q9e).replace(F9e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(W9e,"baseIsNative");Tee=W9e});function H9e(t,e){return t?.[e]}var kee,See=I(()=>{"use strict";o(H9e,"getValue");kee=H9e});function Y9e(t,e){var r=kee(t,e);return Tee(r)?r:void 0}var Zs,Mf=I(()=>{"use strict";wee();See();o(Y9e,"getNative");Zs=Y9e});var j9e,xh,Dx=I(()=>{"use strict";Mf();j9e=Zs(Object,"create"),xh=j9e});function X9e(){this.__data__=xh?xh(null):{},this.size=0}var Eee,Cee=I(()=>{"use strict";Dx();o(X9e,"hashClear");Eee=X9e});function K9e(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Aee,_ee=I(()=>{"use strict";o(K9e,"hashDelete");Aee=K9e});function eNe(t){var e=this.__data__;if(xh){var r=e[t];return r===Q9e?void 0:r}return J9e.call(e,t)?e[t]:void 0}var Q9e,Z9e,J9e,Dee,Ree=I(()=>{"use strict";Dx();Q9e="__lodash_hash_undefined__",Z9e=Object.prototype,J9e=Z9e.hasOwnProperty;o(eNe,"hashGet");Dee=eNe});function nNe(t){var e=this.__data__;return xh?e[t]!==void 0:rNe.call(e,t)}var tNe,rNe,Lee,Nee=I(()=>{"use strict";Dx();tNe=Object.prototype,rNe=tNe.hasOwnProperty;o(nNe,"hashHas");Lee=nNe});function aNe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=xh&&e===void 0?iNe:e,this}var iNe,Mee,Iee=I(()=>{"use strict";Dx();iNe="__lodash_hash_undefined__";o(aNe,"hashSet");Mee=aNe});function $g(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Cee();_ee();Ree();Nee();Iee();o($g,"Hash");$g.prototype.clear=Eee;$g.prototype.delete=Aee;$g.prototype.get=Dee;$g.prototype.has=Lee;$g.prototype.set=Mee;W9=$g});function sNe(){this.__data__=[],this.size=0}var Pee,Bee=I(()=>{"use strict";o(sNe,"listCacheClear");Pee=sNe});function oNe(t,e){return t===e||t!==t&&e!==e}var hl,n0=I(()=>{"use strict";o(oNe,"eq");hl=oNe});function lNe(t,e){for(var r=t.length;r--;)if(hl(t[r][0],e))return r;return-1}var If,Rx=I(()=>{"use strict";n0();o(lNe,"assocIndexOf");If=lNe});function hNe(t){var e=this.__data__,r=If(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():uNe.call(e,r,1),--this.size,!0}var cNe,uNe,Fee,$ee=I(()=>{"use strict";Rx();cNe=Array.prototype,uNe=cNe.splice;o(hNe,"listCacheDelete");Fee=hNe});function fNe(t){var e=this.__data__,r=If(e,t);return r<0?void 0:e[r][1]}var zee,Gee=I(()=>{"use strict";Rx();o(fNe,"listCacheGet");zee=fNe});function dNe(t){return If(this.__data__,t)>-1}var Vee,qee=I(()=>{"use strict";Rx();o(dNe,"listCacheHas");Vee=dNe});function pNe(t,e){var r=this.__data__,n=If(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Uee,Wee=I(()=>{"use strict";Rx();o(pNe,"listCacheSet");Uee=pNe});function zg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Bee();$ee();Gee();qee();Wee();o(zg,"ListCache");zg.prototype.clear=Pee;zg.prototype.delete=Fee;zg.prototype.get=zee;zg.prototype.has=Vee;zg.prototype.set=Uee;Of=zg});var mNe,Pf,K5=I(()=>{"use strict";Mf();ul();mNe=Zs(Ei,"Map"),Pf=mNe});function gNe(){this.size=0,this.__data__={hash:new W9,map:new(Pf||Of),string:new W9}}var Hee,Yee=I(()=>{"use strict";Oee();Lx();K5();o(gNe,"mapCacheClear");Hee=gNe});function yNe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var jee,Xee=I(()=>{"use strict";o(yNe,"isKeyable");jee=yNe});function vNe(t,e){var r=t.__data__;return jee(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Bf,Nx=I(()=>{"use strict";Xee();o(vNe,"getMapData");Bf=vNe});function xNe(t){var e=Bf(this,t).delete(t);return this.size-=e?1:0,e}var Kee,Qee=I(()=>{"use strict";Nx();o(xNe,"mapCacheDelete");Kee=xNe});function bNe(t){return Bf(this,t).get(t)}var Zee,Jee=I(()=>{"use strict";Nx();o(bNe,"mapCacheGet");Zee=bNe});function TNe(t){return Bf(this,t).has(t)}var ete,tte=I(()=>{"use strict";Nx();o(TNe,"mapCacheHas");ete=TNe});function wNe(t,e){var r=Bf(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var rte,nte=I(()=>{"use strict";Nx();o(wNe,"mapCacheSet");rte=wNe});function Gg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Yee();Qee();Jee();tte();nte();o(Gg,"MapCache");Gg.prototype.clear=Hee;Gg.prototype.delete=Kee;Gg.prototype.get=Zee;Gg.prototype.has=ete;Gg.prototype.set=rte;i0=Gg});function H9(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(kNe);var r=o(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(H9.Cache||i0),r}var kNe,Vg,Y9=I(()=>{"use strict";Q5();kNe="Expected a function";o(H9,"memoize");H9.Cache=i0;Vg=H9});function SNe(){this.__data__=new Of,this.size=0}var ite,ate=I(()=>{"use strict";Lx();o(SNe,"stackClear");ite=SNe});function ENe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var ste,ote=I(()=>{"use strict";o(ENe,"stackDelete");ste=ENe});function CNe(t){return this.__data__.get(t)}var lte,cte=I(()=>{"use strict";o(CNe,"stackGet");lte=CNe});function ANe(t){return this.__data__.has(t)}var ute,hte=I(()=>{"use strict";o(ANe,"stackHas");ute=ANe});function DNe(t,e){var r=this.__data__;if(r instanceof Of){var n=r.__data__;if(!Pf||n.length<_Ne-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new i0(n)}return r.set(t,e),this.size=r.size,this}var _Ne,fte,dte=I(()=>{"use strict";Lx();K5();Q5();_Ne=200;o(DNe,"stackSet");fte=DNe});function qg(t){var e=this.__data__=new Of(t);this.size=e.size}var Qc,Mx=I(()=>{"use strict";Lx();ate();ote();cte();hte();dte();o(qg,"Stack");qg.prototype.clear=ite;qg.prototype.delete=ste;qg.prototype.get=lte;qg.prototype.has=ute;qg.prototype.set=fte;Qc=qg});var RNe,Ug,j9=I(()=>{"use strict";Mf();RNe=(function(){try{var t=Zs(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Ug=RNe});function LNe(t,e,r){e=="__proto__"&&Ug?Ug(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var Zc,Wg=I(()=>{"use strict";j9();o(LNe,"baseAssignValue");Zc=LNe});function NNe(t,e,r){(r!==void 0&&!hl(t[e],r)||r===void 0&&!(e in t))&&Zc(t,e,r)}var Ix,X9=I(()=>{"use strict";Wg();n0();o(NNe,"assignMergeValue");Ix=NNe});function MNe(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),l=s.length;l--;){var u=s[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var pte,mte=I(()=>{"use strict";o(MNe,"createBaseFor");pte=MNe});var INe,Hg,Z5=I(()=>{"use strict";mte();INe=pte(),Hg=INe});function PNe(t,e){if(e)return t.slice();var r=t.length,n=vte?vte(r):new t.constructor(r);return t.copy(n),n}var xte,gte,ONe,yte,vte,J5,K9=I(()=>{"use strict";ul();xte=typeof exports=="object"&&exports&&!exports.nodeType&&exports,gte=xte&&typeof module=="object"&&module&&!module.nodeType&&module,ONe=gte&>e.exports===xte,yte=ONe?Ei.Buffer:void 0,vte=yte?yte.allocUnsafe:void 0;o(PNe,"cloneBuffer");J5=PNe});var BNe,Yg,Q9=I(()=>{"use strict";ul();BNe=Ei.Uint8Array,Yg=BNe});function FNe(t){var e=new t.constructor(t.byteLength);return new Yg(e).set(new Yg(t)),e}var jg,ek=I(()=>{"use strict";Q9();o(FNe,"cloneArrayBuffer");jg=FNe});function $Ne(t,e){var r=e?jg(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var tk,Z9=I(()=>{"use strict";ek();o($Ne,"cloneTypedArray");tk=$Ne});function zNe(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";o(zNe,"copyArray");rk=zNe});var bte,GNe,Tte,wte=I(()=>{"use strict";Oo();bte=Object.create,GNe=(function(){function t(){}return o(t,"object"),function(e){if(!In(e))return{};if(bte)return bte(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),Tte=GNe});function VNe(t,e){return function(r){return t(e(r))}}var nk,eN=I(()=>{"use strict";o(VNe,"overArg");nk=VNe});var qNe,Xg,ik=I(()=>{"use strict";eN();qNe=nk(Object.getPrototypeOf,Object),Xg=qNe});function WNe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||UNe;return t===r}var UNe,Jc,Kg=I(()=>{"use strict";UNe=Object.prototype;o(WNe,"isPrototype");Jc=WNe});function HNe(t){return typeof t.constructor=="function"&&!Jc(t)?Tte(Xg(t)):{}}var ak,tN=I(()=>{"use strict";wte();ik();Kg();o(HNe,"initCloneObject");ak=HNe});function YNe(t){return t!=null&&typeof t=="object"}var gi,fl=I(()=>{"use strict";o(YNe,"isObjectLike");gi=YNe});function XNe(t){return gi(t)&&Ma(t)==jNe}var jNe,rN,kte=I(()=>{"use strict";yh();fl();jNe="[object Arguments]";o(XNe,"baseIsArguments");rN=XNe});var Ste,KNe,QNe,ZNe,oc,Qg=I(()=>{"use strict";kte();fl();Ste=Object.prototype,KNe=Ste.hasOwnProperty,QNe=Ste.propertyIsEnumerable,ZNe=rN((function(){return arguments})())?rN:function(t){return gi(t)&&KNe.call(t,"callee")&&!QNe.call(t,"callee")},oc=ZNe});var JNe,zt,ni=I(()=>{"use strict";JNe=Array.isArray,zt=JNe});function tMe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=eMe}var eMe,Zg,sk=I(()=>{"use strict";eMe=9007199254740991;o(tMe,"isLength");Zg=tMe});function rMe(t){return t!=null&&Zg(t.length)&&!$i(t)}var Ci,dl=I(()=>{"use strict";_x();sk();o(rMe,"isArrayLike");Ci=rMe});function nMe(t){return gi(t)&&Ci(t)}var a0,ok=I(()=>{"use strict";dl();fl();o(nMe,"isArrayLikeObject");a0=nMe});function iMe(){return!1}var Ete,Cte=I(()=>{"use strict";o(iMe,"stubFalse");Ete=iMe});var Dte,Ate,aMe,_te,sMe,oMe,lc,Jg=I(()=>{"use strict";ul();Cte();Dte=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ate=Dte&&typeof module=="object"&&module&&!module.nodeType&&module,aMe=Ate&&Ate.exports===Dte,_te=aMe?Ei.Buffer:void 0,sMe=_te?_te.isBuffer:void 0,oMe=sMe||Ete,lc=oMe});function dMe(t){if(!gi(t)||Ma(t)!=lMe)return!1;var e=Xg(t);if(e===null)return!0;var r=hMe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Rte.call(r)==fMe}var lMe,cMe,uMe,Rte,hMe,fMe,Lte,Nte=I(()=>{"use strict";yh();ik();fl();lMe="[object Object]",cMe=Function.prototype,uMe=Object.prototype,Rte=cMe.toString,hMe=uMe.hasOwnProperty,fMe=Rte.call(Object);o(dMe,"isPlainObject");Lte=dMe});function FMe(t){return gi(t)&&Zg(t.length)&&!!Kn[Ma(t)]}var pMe,mMe,gMe,yMe,vMe,xMe,bMe,TMe,wMe,kMe,SMe,EMe,CMe,AMe,_Me,DMe,RMe,LMe,NMe,MMe,IMe,OMe,PMe,BMe,Kn,Mte,Ite=I(()=>{"use strict";yh();sk();fl();pMe="[object Arguments]",mMe="[object Array]",gMe="[object Boolean]",yMe="[object Date]",vMe="[object Error]",xMe="[object Function]",bMe="[object Map]",TMe="[object Number]",wMe="[object Object]",kMe="[object RegExp]",SMe="[object Set]",EMe="[object String]",CMe="[object WeakMap]",AMe="[object ArrayBuffer]",_Me="[object DataView]",DMe="[object Float32Array]",RMe="[object Float64Array]",LMe="[object Int8Array]",NMe="[object Int16Array]",MMe="[object Int32Array]",IMe="[object Uint8Array]",OMe="[object Uint8ClampedArray]",PMe="[object Uint16Array]",BMe="[object Uint32Array]",Kn={};Kn[DMe]=Kn[RMe]=Kn[LMe]=Kn[NMe]=Kn[MMe]=Kn[IMe]=Kn[OMe]=Kn[PMe]=Kn[BMe]=!0;Kn[pMe]=Kn[mMe]=Kn[AMe]=Kn[gMe]=Kn[_Me]=Kn[yMe]=Kn[vMe]=Kn[xMe]=Kn[bMe]=Kn[TMe]=Kn[wMe]=Kn[kMe]=Kn[SMe]=Kn[EMe]=Kn[CMe]=!1;o(FMe,"baseIsTypedArray");Mte=FMe});function $Me(t){return function(e){return t(e)}}var pl,s0=I(()=>{"use strict";o($Me,"baseUnary");pl=$Me});var Ote,Ox,zMe,nN,GMe,ml,Px=I(()=>{"use strict";q9();Ote=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ox=Ote&&typeof module=="object"&&module&&!module.nodeType&&module,zMe=Ox&&Ox.exports===Ote,nN=zMe&&j5.process,GMe=(function(){try{var t=Ox&&Ox.require&&Ox.require("util").types;return t||nN&&nN.binding&&nN.binding("util")}catch{}})(),ml=GMe});var Pte,VMe,Ff,Bx=I(()=>{"use strict";Ite();s0();Px();Pte=ml&&ml.isTypedArray,VMe=Pte?pl(Pte):Mte,Ff=VMe});function qMe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Fx,iN=I(()=>{"use strict";o(qMe,"safeGet");Fx=qMe});function HMe(t,e,r){var n=t[e];(!(WMe.call(t,e)&&hl(n,r))||r===void 0&&!(e in t))&&Zc(t,e,r)}var UMe,WMe,eu,e1=I(()=>{"use strict";Wg();n0();UMe=Object.prototype,WMe=UMe.hasOwnProperty;o(HMe,"assignValue");eu=HMe});function YMe(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";e1();Wg();o(YMe,"copyObject");gl=YMe});function jMe(t,e){for(var r=-1,n=Array(t);++r{"use strict";o(jMe,"baseTimes");Bte=jMe});function QMe(t,e){var r=typeof t;return e=e??XMe,!!e&&(r=="number"||r!="symbol"&&KMe.test(t))&&t>-1&&t%1==0&&t{"use strict";XMe=9007199254740991,KMe=/^(?:0|[1-9]\d*)$/;o(QMe,"isIndex");$f=QMe});function eIe(t,e){var r=zt(t),n=!r&&oc(t),i=!r&&!n&&lc(t),a=!r&&!n&&!i&&Ff(t),s=r||n||i||a,l=s?Bte(t.length,String):[],u=l.length;for(var h in t)(e||JMe.call(t,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||$f(h,u)))&&l.push(h);return l}var ZMe,JMe,lk,aN=I(()=>{"use strict";Fte();Qg();ni();Jg();$x();Bx();ZMe=Object.prototype,JMe=ZMe.hasOwnProperty;o(eIe,"arrayLikeKeys");lk=eIe});function tIe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var $te,zte=I(()=>{"use strict";o(tIe,"nativeKeysIn");$te=tIe});function iIe(t){if(!In(t))return $te(t);var e=Jc(t),r=[];for(var n in t)n=="constructor"&&(e||!nIe.call(t,n))||r.push(n);return r}var rIe,nIe,Gte,Vte=I(()=>{"use strict";Oo();Kg();zte();rIe=Object.prototype,nIe=rIe.hasOwnProperty;o(iIe,"baseKeysIn");Gte=iIe});function aIe(t){return Ci(t)?lk(t,!0):Gte(t)}var Js,zf=I(()=>{"use strict";aN();Vte();dl();o(aIe,"keysIn");Js=aIe});function sIe(t){return gl(t,Js(t))}var qte,Ute=I(()=>{"use strict";o0();zf();o(sIe,"toPlainObject");qte=sIe});function oIe(t,e,r,n,i,a,s){var l=Fx(t,r),u=Fx(e,r),h=s.get(u);if(h){Ix(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=zt(u),m=!p&&lc(u),g=!p&&!m&&Ff(u);f=u,p||m||g?zt(l)?f=l:a0(l)?f=rk(l):m?(d=!1,f=J5(u,!0)):g?(d=!1,f=tk(u,!0)):f=[]:Lte(u)||oc(u)?(f=l,oc(l)?f=qte(l):(!In(l)||$i(l))&&(f=ak(u))):d=!1}d&&(s.set(u,f),i(f,u,n,a,s),s.delete(u)),Ix(t,r,f)}var Wte,Hte=I(()=>{"use strict";X9();K9();Z9();J9();tN();Qg();ni();ok();Jg();_x();Oo();Nte();Bx();iN();Ute();o(oIe,"baseMergeDeep");Wte=oIe});function Yte(t,e,r,n,i){t!==e&&Hg(e,function(a,s){if(i||(i=new Qc),In(a))Wte(t,e,s,r,Yte,n,i);else{var l=n?n(Fx(t,s),a,s+"",t,e,i):void 0;l===void 0&&(l=a),Ix(t,s,l)}},Js)}var jte,Xte=I(()=>{"use strict";Mx();X9();Z5();Hte();Oo();zf();iN();o(Yte,"baseMerge");jte=Yte});function lIe(t){return t}var pa,bh=I(()=>{"use strict";o(lIe,"identity");pa=lIe});function cIe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var Kte,Qte=I(()=>{"use strict";o(cIe,"apply");Kte=cIe});function uIe(t,e,r){return e=Zte(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=Zte(n.length-e,0),s=Array(a);++i{"use strict";Qte();Zte=Math.max;o(uIe,"overRest");ck=uIe});function hIe(t){return function(){return t}}var eo,oN=I(()=>{"use strict";o(hIe,"constant");eo=hIe});var fIe,Jte,ere=I(()=>{"use strict";oN();j9();bh();fIe=Ug?function(t,e){return Ug(t,"toString",{configurable:!0,enumerable:!1,value:eo(e),writable:!0})}:pa,Jte=fIe});function gIe(t){var e=0,r=0;return function(){var n=mIe(),i=pIe-(n-r);if(r=n,i>0){if(++e>=dIe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var dIe,pIe,mIe,tre,rre=I(()=>{"use strict";dIe=800,pIe=16,mIe=Date.now;o(gIe,"shortOut");tre=gIe});var yIe,uk,lN=I(()=>{"use strict";ere();rre();yIe=tre(Jte),uk=yIe});function vIe(t,e){return uk(ck(t,e,pa),t+"")}var tu,t1=I(()=>{"use strict";bh();sN();lN();o(vIe,"baseRest");tu=vIe});function xIe(t,e,r){if(!In(r))return!1;var n=typeof e;return(n=="number"?Ci(r)&&$f(e,r.length):n=="string"&&e in r)?hl(r[e],t):!1}var Po,l0=I(()=>{"use strict";n0();dl();$x();Oo();o(xIe,"isIterateeCall");Po=xIe});function bIe(t){return tu(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&Po(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";t1();l0();o(bIe,"createAssigner");hk=bIe});var TIe,Gf,uN=I(()=>{"use strict";Xte();cN();TIe=hk(function(t,e,r){jte(t,e,r)}),Gf=TIe});function dN(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return wIe[r]??e}function CIe(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,are.sanitizeUrl)(r):r}function lre(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function _Ie(t){let e,r=0;t.forEach(i=>{r+=lre(i,e),e=i});let n=r/2;return pN(t,n)}function DIe(t){return t.length===1?t[0]:_Ie(t)}function LIe(t,e,r){let n=structuredClone(r);X.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=pN(n,i),s=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2),u}function mN(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function NIe(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;iMath.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}var are,fN,wIe,kIe,SIe,sre,ore,EIe,AIe,nre,pN,RIe,ire,gN,yN,MIe,IIe,vN,OIe,xN,hN,fk,PIe,BIe,ru,jt,cre,ga,nu,sr=I(()=>{"use strict";are=Aa(Fg(),1);kr();wr();e_();gt();Op();tg();Y9();uN();ww();fN="\u200B",wIe={curveBasis:cl,curveBasisClosed:I5,curveBasisOpen:O5,curveBumpX:fx,curveBumpY:dx,curveBundle:R9,curveCardinalClosed:L9,curveCardinalOpen:M9,curveCardinal:yx,curveCatmullRomClosed:O9,curveCatmullRomOpen:P9,curveCatmullRom:bx,curveLinear:mh,curveLinearClosed:z5,curveMonotoneX:Tx,curveMonotoneY:wx,curveNatural:Pg,curveStep:Bg,curveStepAfter:Sx,curveStepBefore:kx},kIe=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,SIe=o(function(t,e){let r=sre(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let s=r.map(l=>l.args);ng(s),n=$n(n,[...s])}else n=r.args;if(!n)return;let i=hg(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),sre=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${kIe.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),X.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=Ip.exec(t))!==null;)if(n.index===Ip.lastIndex&&Ip.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return X.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),ore=o(function(t){return t.replace(Ip,"")},"removeDirectives"),EIe=o(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");o(dN,"interpolateToCurve");o(CIe,"formatUrl");AIe=o((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),pN=o((t,e)=>{let r,n=e;for(let i of t){if(r){let a=lre(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:nre((1-s)*r.x+s*i.x,5),y:nre((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),RIe=o((t,e,r)=>{X.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=pN(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+i.x)/2,l.y=-Math.cos(s)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");o(LIe,"calcTerminalLabelPosition");o(mN,"getStylesFromArray");ire=0,gN=o(()=>(ire++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ire),"generateId");o(NIe,"makeRandomHex");yN=o(t=>NIe(t.length),"random"),MIe=o(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),IIe=o(function(t,e){let r=e.text.replace(nt.lineBreakRegex," "),[,n]=ru(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),vN=Vg((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),nt.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((s,l)=>{let u=ma(`${s} `,r),h=ma(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=OIe(s,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),OIe=Vg((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],s="";return i.forEach((l,u)=>{let h=`${s}${l}`;if(ma(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);o(dk,"calculateTextHeight");o(ma,"calculateTextWidth");xN=Vg((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=ru(r),s=["sans-serif",n],l=t.split(nt.lineBreakRegex),u=[],h=He("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=MIe();v.text=y||fN;let x=IIe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),hN=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},PIe=o(function(t){return fk=fk||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),fk.innerHTML=t,unescape(fk.textContent)},"entityDecode");o(bN,"isDetailedError");BIe=o((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),ru=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(Qn,"cleanAndMerge");jt={assignWithDepth:$n,wrapLabel:vN,calculateTextHeight:dk,calculateTextWidth:ma,calculateTextDimensions:xN,cleanAndMerge:Qn,detectInit:SIe,detectDirective:sre,isSubstringInArray:EIe,interpolateToCurve:dN,calcLabelPosition:DIe,calcCardinalityPosition:RIe,calcTerminalLabelPosition:LIe,formatUrl:CIe,getStylesFromArray:mN,generateId:gN,random:yN,runFunc:AIe,entityDecode:PIe,insertTitle:BIe,isLabelCoordinateInPath:FIe,parseFontSize:ru,InitIDGenerator:hN},cre=o(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),ga=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),nu=o((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");o(On,"handleUndefinedAttr");o(FIe,"isLabelCoordinateInPath")});function cc(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=vN(e[t].text,i,n),e[t].textLines=e[t].text.split(nt.lineBreakRegex).length,e[t].width=i,e[t].height=dk(e[t].text,n);else{let a=e[t].text.split(nt.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(ma(l,n),e[t].width),s=dk(l,n),e[t].height=e[t].height+s}}function pre(t,e,r,n,i){let a=new yk(i);a.data.widthLimit=r.data.widthLimit/Math.min(TN,n.length);for(let[s,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&Xt.wrap,f=pk(Xt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",cc("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=pk(Xt);cc("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=pk(Xt);g.fontSize=g.fontSize-2,cc("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%TN===0){let g=r.data.startx+Xt.diagramMarginX,y=r.data.stopy+Xt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Xt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&dre(a,t,d,p),e=l.alias;let m=i.db.getBoundaries(e);m.length>0&&pre(t,e,a,m,i),l.alias!=="global"&&fre(t,l,a),r.data.stopy=Math.max(a.data.stopy+Xt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Xt.c4ShapeMargin,r.data.stopx),mk=Math.max(mk,r.data.stopx),gk=Math.max(gk,r.data.stopy)}}var mk,gk,hre,TN,Xt,yk,wN,zx,pk,$Ie,fre,dre,to,ure,zIe,GIe,VIe,kN,mre=I(()=>{"use strict";kr();uee();gt();sD();wr();gD();Qt();tg();sr();Fi();mk=0,gk=0,hre=4,TN=2;E2.yy=L2;Xt={},yk=class{static{o(this,"Bounds")}constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,wN(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>hre)&&(r=this.nextData.startx+e.margin+Xt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},wN(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},wN=o(function(t){$n(Xt,t),t.fontFamily&&(Xt.personFontFamily=Xt.systemFontFamily=Xt.messageFontFamily=t.fontFamily),t.fontSize&&(Xt.personFontSize=Xt.systemFontSize=Xt.messageFontSize=t.fontSize),t.fontWeight&&(Xt.personFontWeight=Xt.systemFontWeight=Xt.messageFontWeight=t.fontWeight)},"setConf"),zx=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),pk=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),$Ie=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(cc,"calcC4ShapeTextWH");fre=o(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=Xt.c4ShapeMargin-35;let n=e.wrap&&Xt.wrap,i=pk(Xt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=ma(e.label.text,i);cc("label",e,n,i,a),sc.drawBoundary(t,e,Xt)},"drawBoundary"),dre=o(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],l=zx(Xt,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=ma("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=Xt.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let u=s.wrap&&Xt.wrap,h=Xt.width-Xt.c4ShapePadding*2,f=zx(Xt,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",cc("label",s,u,f,h),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=zx(Xt,s.typeC4Shape.text);cc("type",s,u,m,h),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let m=zx(Xt,s.techn.text);cc("techn",s,u,m,h),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=zx(Xt,s.typeC4Shape.text);cc("descr",s,u,m,h),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}p=p+Xt.c4ShapePadding,s.width=Math.max(s.width||Xt.width,p,Xt.width),s.height=Math.max(s.height||Xt.height,d,Xt.height),s.margin=s.margin||Xt.c4ShapeMargin,t.insert(s),sc.drawC4Shape(e,s,Xt)}t.bumpLastMargin(Xt.c4ShapeMargin)},"drawC4ShapeArray"),to=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},ure=o(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new to(r,l):r==i&&na&&(p=new to(s,n)),r>i&&n=f?p=new to(r,l+f*t.width/2):p=new to(s-u/h*t.height/2,n+t.height):r=f?p=new to(r+t.width,l+f*t.width/2):p=new to(s+u/h*t.height/2,n+t.height):ra?d>=f?p=new to(r+t.width,l-f*t.width/2):p=new to(s+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new to(r,l-t.width/2*f):p=new to(s-t.height/2*u/h,n)),p},"getIntersectPoint"),zIe=o(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=ure(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=ure(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),GIe=o(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Xt.wrap,l=$Ie(Xt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=ma(a.label.text,l);cc("label",a,s,l,h),a.techn&&a.techn.text!==""&&(h=ma(a.techn.text,l),cc("techn",a,s,l,h)),a.descr&&a.descr.text!==""&&(h=ma(a.descr.text,l),cc("descr",a,s,l,h));let f=r(a.from),d=r(a.to),p=zIe(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}sc.drawRels(t,e,Xt)},"drawRels");o(pre,"drawInsideBoundary");VIe=o(function(t,e,r,n){Xt=xe().c4;let i=xe().securityLevel,a;i==="sandbox"&&(a=He("#i"+e));let s=i==="sandbox"?He(a.nodes()[0].contentDocument.body):He("body"),l=n.db;n.db.setWrap(Xt.wrap),hre=l.getC4ShapeInRow(),TN=l.getC4BoundaryInRow(),X.debug(`C:${JSON.stringify(Xt,null,2)}`);let u=i==="sandbox"?s.select(`[id="${e}"]`):He(`[id="${e}"]`);sc.insertComputerIcon(u),sc.insertDatabaseIcon(u),sc.insertClockIcon(u);let h=new yk(n);h.setData(Xt.diagramMarginX,Xt.diagramMarginX,Xt.diagramMarginY,Xt.diagramMarginY),h.data.widthLimit=screen.availWidth,mk=Xt.diagramMarginX,gk=Xt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundaries("");pre(u,"",h,d,n),sc.insertArrowHead(u),sc.insertArrowEnd(u),sc.insertArrowCrossHead(u),sc.insertArrowFilledHead(u),GIe(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=mk,h.data.stopy=gk;let p=h.data,g=p.stopy-p.starty+2*Xt.diagramMarginY,v=p.stopx-p.startx+2*Xt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*Xt.diagramMarginX).attr("y",p.starty+Xt.diagramMarginY),Sn(u,g,v,Xt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-Xt.diagramMarginX+" -"+(Xt.diagramMarginY+x)+" "+v+" "+(g+x)),X.debug("models:",p)},"draw"),kN={drawPersonOrSystemArray:dre,drawBoundary:fre,setConf:wN,draw:VIe}});var qIe,gre,yre=I(()=>{"use strict";qIe=o(t=>`.person { +`},"getStyles"),SX=o((t,e)=>{e!==void 0&&(Pw[t]=e)},"addStylesForDiagram"),CX=q8e});var $2={};vr($2,{clear:()=>_r,getAccDescription:()=>Br,getAccTitle:()=>Or,getDiagramTitle:()=>Fr,setAccDescription:()=>Pr,setAccTitle:()=>Lr,setDiagramTitle:()=>zr});var kD,ED,SD,CD,_r,Lr,Or,Pr,Br,zr,Fr,si=O(()=>{"use strict";Ur();$r();kD="",ED="",SD="",CD=o(t=>wr(t,Zt()),"sanitizeText"),_r=o(()=>{kD="",SD="",ED=""},"clear"),Lr=o(t=>{kD=CD(t).replace(/^\s+/g,"")},"setAccTitle"),Or=o(()=>kD,"getAccTitle"),Pr=o(t=>{SD=CD(t).replace(/\n\s+/g,` +`)},"setAccDescription"),Br=o(()=>SD,"getAccDescription"),zr=o(t=>{ED=CD(t)},"setDiagramTitle"),Fr=o(()=>ED,"getDiagramTitle")});var AX,U8e,ve,z2,Fw,G2,_D,W8e,Bw,$p,V2,AD,jt=O(()=>{"use strict";Fp();xt();$r();Ur();Ti();wD();si();AX=K,U8e=h2,ve=Zt,z2=ew,Fw=vf,G2=o(t=>wr(t,ve()),"sanitizeText"),_D=Kc,W8e=o(()=>$2,"getCommonDb"),Bw={},$p=o((t,e,r)=>{Bw[t]&&AX.warn(`Diagram with id ${t} already registered. Overwriting.`),Bw[t]=e,r&&bD(t,r),SX(t,e.styles),e.injectUtils?.(AX,U8e,ve,G2,_D,W8e(),()=>{})},"registerDiagram"),V2=o(t=>{if(t in Bw)return Bw[t];throw new AD(t)},"getDiagram"),AD=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var ec,Ef,As,Jl,Qc,q2,DD,RD,$w,zw,_X,H8e,Y8e,j8e,X8e,K8e,Q8e,Z8e,J8e,eDe,tDe,rDe,nDe,iDe,aDe,sDe,oDe,lDe,DX,cDe,uDe,RX,hDe,fDe,dDe,pDe,Sf,mDe,gDe,yDe,vDe,xDe,U2,LD=O(()=>{"use strict";jt();Ur();si();ec=[],Ef=[""],As="global",Jl="",Qc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],q2=[],DD="",RD=!1,$w=4,zw=2,H8e=o(function(){return _X},"getC4Type"),Y8e=o(function(t){_X=wr(t,ve())},"setC4Type"),j8e=o(function(t,e,r,n,i,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=q2.find(d=>d.from===e&&d.to===r);if(f?h=f:q2.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=Sf()},"addRel"),X8e=o(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let l={},u=ec.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,ec.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=As,l.wrap=Sf()},"addPersonOrSystem"),K8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ec.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ec.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=Sf(),u.typeC4Shape={text:t},u.parentBoundary=As},"addContainer"),Q8e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ec.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ec.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=Sf(),u.typeC4Shape={text:t},u.parentBoundary=As},"addComponent"),Z8e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=Qc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,Qc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=As,a.wrap=Sf(),Jl=As,As=t,Ef.push(Jl)},"addPersonOrSystemBoundary"),J8e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=Qc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,Qc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=As,a.wrap=Sf(),Jl=As,As=t,Ef.push(Jl)},"addContainerBoundary"),eDe=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=Qc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Qc.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=As,u.wrap=Sf(),Jl=As,As=e,Ef.push(Jl)},"addDeploymentNode"),tDe=o(function(){As=Jl,Ef.pop(),Jl=Ef.pop(),Ef.push(Jl)},"popBoundaryParseStack"),rDe=o(function(t,e,r,n,i,a,s,l,u,h,f){let d=ec.find(p=>p.alias===e);if(!(d===void 0&&(d=Qc.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),nDe=o(function(t,e,r,n,i,a,s){let l=q2.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),iDe=o(function(t,e,r){let n=$w,i=zw;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&($w=n),i>=1&&(zw=i)},"updateLayoutConfig"),aDe=o(function(){return $w},"getC4ShapeInRow"),sDe=o(function(){return zw},"getC4BoundaryInRow"),oDe=o(function(){return As},"getCurrentBoundaryParse"),lDe=o(function(){return Jl},"getParentBoundaryParse"),DX=o(function(t){return t==null?ec:ec.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),cDe=o(function(t){return ec.find(e=>e.alias===t)},"getC4Shape"),uDe=o(function(t){return Object.keys(DX(t))},"getC4ShapeKeys"),RX=o(function(t){return t==null?Qc:Qc.filter(e=>e.parentBoundary===t)},"getBoundaries"),hDe=RX,fDe=o(function(){return q2},"getRels"),dDe=o(function(){return DD},"getTitle"),pDe=o(function(t){RD=t},"setWrap"),Sf=o(function(){return RD},"autoWrap"),mDe=o(function(){ec=[],Qc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Jl="",As="global",Ef=[""],q2=[],Ef=[""],DD="",RD=!1,$w=4,zw=2},"clear"),gDe={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},yDe={FILLED:0,OPEN:1},vDe={LEFTOF:0,RIGHTOF:1,OVER:2},xDe=o(function(t){DD=wr(t,ve())},"setTitle"),U2={addPersonOrSystem:X8e,addPersonOrSystemBoundary:Z8e,addContainer:K8e,addContainerBoundary:J8e,addComponent:Q8e,addDeploymentNode:eDe,popBoundaryParseStack:tDe,addRel:j8e,updateElStyle:rDe,updateRelStyle:nDe,updateLayoutConfig:iDe,autoWrap:Sf,setWrap:pDe,getC4ShapeArray:DX,getC4Shape:cDe,getC4ShapeKeys:uDe,getBoundaries:RX,getBoundarys:hDe,getCurrentBoundaryParse:oDe,getParentBoundaryParse:lDe,getRels:fDe,getTitle:dDe,getC4Type:H8e,getC4ShapeInRow:aDe,getC4BoundaryInRow:sDe,setAccTitle:Lr,getAccTitle:Or,getAccDescription:Br,setAccDescription:Pr,getConfig:o(()=>ve().c4,"getConfig"),clear:mDe,LINETYPE:gDe,ARROWTYPE:yDe,PLACEMENT:vDe,setTitle:xDe,setC4Type:Y8e}});function zp(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var ND=O(()=>{"use strict";o(zp,"ascending")});function MD(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var LX=O(()=>{"use strict";o(MD,"descending")});function Gp(t){let e,r,n;t.length!==2?(e=zp,r=o((l,u)=>zp(t(l),u),"compare2"),n=o((l,u)=>t(l)-u,"delta")):(e=t===zp||t===MD?t:bDe,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return o(s,"center"),{left:i,center:s,right:a}}function bDe(){return 0}var ID=O(()=>{"use strict";ND();LX();o(Gp,"bisector");o(bDe,"zero")});function OD(t){return t===null?NaN:+t}var NX=O(()=>{"use strict";o(OD,"number")});var MX,IX,TDe,wDe,PD,OX=O(()=>{"use strict";ND();ID();NX();MX=Gp(zp),IX=MX.right,TDe=MX.left,wDe=Gp(OD).center,PD=IX});function PX({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function kDe({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function EDe({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function SDe(t){return t!==null&&typeof t=="object"?t.valueOf():t}var xg,BX=O(()=>{"use strict";xg=class extends Map{static{o(this,"InternMap")}constructor(e,r=SDe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(PX(this,e))}has(e){return super.has(PX(this,e))}set(e,r){return super.set(kDe(this,e),r)}delete(e){return super.delete(EDe(this,e))}};o(PX,"intern_get");o(kDe,"intern_set");o(EDe,"intern_delete");o(SDe,"keyof")});function Gw(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=CDe?10:a>=ADe?5:a>=_De?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(s<0)for(let h=0;h{"use strict";CDe=Math.sqrt(50),ADe=Math.sqrt(10),_De=Math.sqrt(2);o(Gw,"tickSpec");o(Vw,"ticks");o(W2,"tickIncrement");o(bg,"tickStep")});function qw(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var $X=O(()=>{"use strict";o(qw,"max")});function Uw(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var zX=O(()=>{"use strict";o(Uw,"min")});function Ww(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";o(Ww,"range")});var Cf=O(()=>{"use strict";OX();ID();$X();zX();GX();FX();BX()});function BD(t){return t}var VX=O(()=>{"use strict";o(BD,"default")});function DDe(t){return"translate("+t+",0)"}function RDe(t){return"translate(0,"+t+")"}function LDe(t){return e=>+t(e)}function NDe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function MDe(){return!this.__axis}function UX(t,e){var r=[],n=null,i=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===Yw||t===Hw?-1:1,f=t===Hw||t===FD?"x":"y",d=t===Yw||t===$D?DDe:RDe;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):BD),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,T=+x[x.length-1]+u,E=(e.bandwidth?NDe:LDe)(e.copy(),u),w=m.selection?m.selection():m,k=w.selectAll(".domain").data([null]),S=w.selectAll(".tick").data(g,e).order(),A=S.exit(),L=S.enter().append("g").attr("class","tick"),I=S.select("line"),N=S.select("text");k=k.merge(k.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),S=S.merge(L),I=I.merge(L.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),N=N.merge(L.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===Yw?"0em":t===$D?"0.71em":"0.32em")),m!==w&&(k=k.transition(m),S=S.transition(m),I=I.transition(m),N=N.transition(m),A=A.transition(m).attr("opacity",qX).attr("transform",function(C){return isFinite(C=E(C))?d(C+u):this.getAttribute("transform")}),L.attr("opacity",qX).attr("transform",function(C){var _=this.parentNode.__axis;return d((_&&isFinite(_=_(C))?_:E(C))+u)})),A.remove(),k.attr("d",t===Hw||t===FD?s?"M"+h*s+","+b+"H"+u+"V"+T+"H"+h*s:"M"+u+","+b+"V"+T:s?"M"+b+","+h*s+"V"+u+"H"+T+"V"+h*s:"M"+b+","+u+"H"+T),S.attr("opacity",1).attr("transform",function(C){return d(E(C)+u)}),I.attr(f+"2",h*a),N.attr(f,h*v).text(y),w.filter(MDe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===FD?"start":t===Hw?"end":"middle"),w.each(function(){this.__axis=E})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function zD(t){return UX(Yw,t)}function GD(t){return UX($D,t)}var Yw,FD,$D,Hw,qX,WX=O(()=>{"use strict";VX();Yw=1,FD=2,$D=3,Hw=4,qX=1e-6;o(DDe,"translateX");o(RDe,"translateY");o(LDe,"number");o(NDe,"center");o(MDe,"entering");o(UX,"axis");o(zD,"axisTop");o(GD,"axisBottom")});var HX=O(()=>{"use strict";WX()});function jX(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}function PDe(t,e){for(var r=0,n=t.length,i;r{"use strict";IDe={value:o(()=>{},"value")};o(jX,"dispatch");o(jw,"Dispatch");o(ODe,"parseTypenames");jw.prototype=jX.prototype={constructor:jw,on:o(function(t,e){var r=this._,n=ODe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";XX()});var Xw,UD,WD=O(()=>{"use strict";Xw="http://www.w3.org/1999/xhtml",UD={svg:"http://www.w3.org/2000/svg",xhtml:Xw,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function Zc(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),UD.hasOwnProperty(e)?{space:UD[e],local:t}:t}var Kw=O(()=>{"use strict";WD();o(Zc,"default")});function BDe(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===Xw&&e.documentElement.namespaceURI===Xw?e.createElement(t):e.createElementNS(r,t)}}function FDe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function H2(t){var e=Zc(t);return(e.local?FDe:BDe)(e)}var HD=O(()=>{"use strict";Kw();WD();o(BDe,"creatorInherit");o(FDe,"creatorFixed");o(H2,"default")});function $De(){}function Af(t){return t==null?$De:function(){return this.querySelector(t)}}var Qw=O(()=>{"use strict";o($De,"none");o(Af,"default")});function YD(t){typeof t!="function"&&(t=Af(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";tc();Qw();o(YD,"default")});function jD(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var QX=O(()=>{"use strict";o(jD,"array")});function zDe(){return[]}function Tg(t){return t==null?zDe:function(){return this.querySelectorAll(t)}}var XD=O(()=>{"use strict";o(zDe,"empty");o(Tg,"default")});function GDe(t){return function(){return jD(t.apply(this,arguments))}}function KD(t){typeof t=="function"?t=GDe(t):t=Tg(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";tc();QX();XD();o(GDe,"arrayAll");o(KD,"default")});function wg(t){return function(){return this.matches(t)}}function Zw(t){return function(e){return e.matches(t)}}var Y2=O(()=>{"use strict";o(wg,"default");o(Zw,"childMatcher")});function qDe(t){return function(){return VDe.call(this.children,t)}}function UDe(){return this.firstElementChild}function QD(t){return this.select(t==null?UDe:qDe(typeof t=="function"?t:Zw(t)))}var VDe,JX=O(()=>{"use strict";Y2();VDe=Array.prototype.find;o(qDe,"childFind");o(UDe,"childFirst");o(QD,"default")});function HDe(){return Array.from(this.children)}function YDe(t){return function(){return WDe.call(this.children,t)}}function ZD(t){return this.selectAll(t==null?HDe:YDe(typeof t=="function"?t:Zw(t)))}var WDe,eK=O(()=>{"use strict";Y2();WDe=Array.prototype.filter;o(HDe,"children");o(YDe,"childrenFilter");o(ZD,"default")});function JD(t){typeof t!="function"&&(t=wg(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";tc();Y2();o(JD,"default")});function j2(t){return new Array(t.length)}var eR=O(()=>{"use strict";o(j2,"default")});function tR(){return new Di(this._enter||this._groups.map(j2),this._parents)}function X2(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var rR=O(()=>{"use strict";eR();tc();o(tR,"default");o(X2,"EnterNode");X2.prototype={constructor:X2,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function nR(t){return function(){return t}}var rK=O(()=>{"use strict";o(nR,"default")});function jDe(t,e,r,n,i,a){for(var s=0,l,u=e.length,h=a.length;s=T&&(T=b+1);!(w=v[T])&&++T{"use strict";tc();rR();rK();o(jDe,"bindIndex");o(XDe,"bindKey");o(KDe,"datum");o(iR,"default");o(QDe,"arraylike")});function aR(){return new Di(this._exit||this._groups.map(j2),this._parents)}var iK=O(()=>{"use strict";eR();tc();o(aR,"default")});function sR(t,e,r){var n=this.enter(),i=this,a=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?a.remove():r(a),n&&i?n.merge(i).order():i}var aK=O(()=>{"use strict";o(sR,"default")});function oR(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,s=Math.min(i,a),l=new Array(i),u=0;u{"use strict";tc();o(oR,"default")});function lR(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var oK=O(()=>{"use strict";o(lR,"default")});function cR(t){t||(t=ZDe);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var lK=O(()=>{"use strict";tc();o(cR,"default");o(ZDe,"ascending")});function uR(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var cK=O(()=>{"use strict";o(uR,"default")});function hR(){return Array.from(this)}var uK=O(()=>{"use strict";o(hR,"default")});function fR(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(fR,"default")});function dR(){let t=0;for(let e of this)++t;return t}var fK=O(()=>{"use strict";o(dR,"default")});function pR(){return!this.node()}var dK=O(()=>{"use strict";o(pR,"default")});function mR(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";o(mR,"default")});function JDe(t){return function(){this.removeAttribute(t)}}function eRe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function tRe(t,e){return function(){this.setAttribute(t,e)}}function rRe(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function nRe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function iRe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function gR(t,e){var r=Zc(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?eRe:JDe:typeof e=="function"?r.local?iRe:nRe:r.local?rRe:tRe)(r,e))}var mK=O(()=>{"use strict";Kw();o(JDe,"attrRemove");o(eRe,"attrRemoveNS");o(tRe,"attrConstant");o(rRe,"attrConstantNS");o(nRe,"attrFunction");o(iRe,"attrFunctionNS");o(gR,"default")});function K2(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var yR=O(()=>{"use strict";o(K2,"default")});function aRe(t){return function(){this.style.removeProperty(t)}}function sRe(t,e,r){return function(){this.style.setProperty(t,e,r)}}function oRe(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function vR(t,e,r){return arguments.length>1?this.each((e==null?aRe:typeof e=="function"?oRe:sRe)(t,e,r??"")):_f(this.node(),t)}function _f(t,e){return t.style.getPropertyValue(e)||K2(t).getComputedStyle(t,null).getPropertyValue(e)}var xR=O(()=>{"use strict";yR();o(aRe,"styleRemove");o(sRe,"styleConstant");o(oRe,"styleFunction");o(vR,"default");o(_f,"styleValue")});function lRe(t){return function(){delete this[t]}}function cRe(t,e){return function(){this[t]=e}}function uRe(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function bR(t,e){return arguments.length>1?this.each((e==null?lRe:typeof e=="function"?uRe:cRe)(t,e)):this.node()[t]}var gK=O(()=>{"use strict";o(lRe,"propertyRemove");o(cRe,"propertyConstant");o(uRe,"propertyFunction");o(bR,"default")});function yK(t){return t.trim().split(/^|\s+/)}function TR(t){return t.classList||new vK(t)}function vK(t){this._node=t,this._names=yK(t.getAttribute("class")||"")}function xK(t,e){for(var r=TR(t),n=-1,i=e.length;++n{"use strict";o(yK,"classArray");o(TR,"classList");o(vK,"ClassList");vK.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o(xK,"classedAdd");o(bK,"classedRemove");o(hRe,"classedTrue");o(fRe,"classedFalse");o(dRe,"classedFunction");o(wR,"default")});function pRe(){this.textContent=""}function mRe(t){return function(){this.textContent=t}}function gRe(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function kR(t){return arguments.length?this.each(t==null?pRe:(typeof t=="function"?gRe:mRe)(t)):this.node().textContent}var wK=O(()=>{"use strict";o(pRe,"textRemove");o(mRe,"textConstant");o(gRe,"textFunction");o(kR,"default")});function yRe(){this.innerHTML=""}function vRe(t){return function(){this.innerHTML=t}}function xRe(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function ER(t){return arguments.length?this.each(t==null?yRe:(typeof t=="function"?xRe:vRe)(t)):this.node().innerHTML}var kK=O(()=>{"use strict";o(yRe,"htmlRemove");o(vRe,"htmlConstant");o(xRe,"htmlFunction");o(ER,"default")});function bRe(){this.nextSibling&&this.parentNode.appendChild(this)}function SR(){return this.each(bRe)}var EK=O(()=>{"use strict";o(bRe,"raise");o(SR,"default")});function TRe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function CR(){return this.each(TRe)}var SK=O(()=>{"use strict";o(TRe,"lower");o(CR,"default")});function AR(t){var e=typeof t=="function"?t:H2(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var CK=O(()=>{"use strict";HD();o(AR,"default")});function wRe(){return null}function _R(t,e){var r=typeof t=="function"?t:H2(t),n=e==null?wRe:typeof e=="function"?e:Af(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var AK=O(()=>{"use strict";HD();Qw();o(wRe,"constantNull");o(_R,"default")});function kRe(){var t=this.parentNode;t&&t.removeChild(this)}function DR(){return this.each(kRe)}var _K=O(()=>{"use strict";o(kRe,"remove");o(DR,"default")});function ERe(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function SRe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function RR(t){return this.select(t?SRe:ERe)}var DK=O(()=>{"use strict";o(ERe,"selection_cloneShallow");o(SRe,"selection_cloneDeep");o(RR,"default")});function LR(t){return arguments.length?this.property("__data__",t):this.node().__data__}var RK=O(()=>{"use strict";o(LR,"default")});function CRe(t){return function(e){t.call(this,e,this.__data__)}}function ARe(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function _Re(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";o(CRe,"contextListener");o(ARe,"parseTypenames");o(_Re,"onRemove");o(DRe,"onAdd");o(NR,"default")});function NK(t,e,r){var n=K2(t),i=n.CustomEvent;typeof i=="function"?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function RRe(t,e){return function(){return NK(this,t,e)}}function LRe(t,e){return function(){return NK(this,t,e.apply(this,arguments))}}function MR(t,e){return this.each((typeof e=="function"?LRe:RRe)(t,e))}var MK=O(()=>{"use strict";yR();o(NK,"dispatchEvent");o(RRe,"dispatchConstant");o(LRe,"dispatchFunction");o(MR,"default")});function*IR(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(IR,"default")});function Di(t,e){this._groups=t,this._parents=e}function OK(){return new Di([[document.documentElement]],OR)}function NRe(){return this}var OR,hh,tc=O(()=>{"use strict";KX();ZX();JX();eK();tK();nK();rR();iK();aK();sK();oK();lK();cK();uK();hK();fK();dK();pK();mK();xR();gK();TK();wK();kK();EK();SK();CK();AK();_K();DK();RK();LK();MK();IK();OR=[null];o(Di,"Selection");o(OK,"selection");o(NRe,"selection_selection");Di.prototype=OK.prototype={constructor:Di,select:YD,selectAll:KD,selectChild:QD,selectChildren:ZD,filter:JD,data:iR,enter:tR,exit:aR,join:sR,merge:oR,selection:NRe,order:lR,sort:cR,call:uR,nodes:hR,node:fR,size:dR,empty:pR,each:mR,attr:gR,style:vR,property:bR,classed:wR,text:kR,html:ER,raise:SR,lower:CR,append:AR,insert:_R,remove:DR,clone:RR,datum:LR,on:NR,dispatch:MR,[Symbol.iterator]:IR};hh=OK});function je(t){return typeof t=="string"?new Di([[document.querySelector(t)]],[document.documentElement]):new Di([[t]],OR)}var PK=O(()=>{"use strict";tc();o(je,"default")});var rc=O(()=>{"use strict";Y2();Kw();PK();tc();Qw();XD();xR()});var BK=O(()=>{"use strict"});function Df(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function kg(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var PR=O(()=>{"use strict";o(Df,"default");o(kg,"extend")});function Rf(){}function $K(){return this.rgb().formatHex()}function zRe(){return this.rgb().formatHex8()}function GRe(){return HK(this).formatHsl()}function zK(){return this.rgb().formatRgb()}function ic(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=MRe.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?GK(e):r===3?new Na(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Jw(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Jw(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=IRe.exec(t))?new Na(e[1],e[2],e[3],1):(e=ORe.exec(t))?new Na(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=PRe.exec(t))?Jw(e[1],e[2],e[3],e[4]):(e=BRe.exec(t))?Jw(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=FRe.exec(t))?UK(e[1],e[2]/100,e[3]/100,1):(e=$Re.exec(t))?UK(e[1],e[2]/100,e[3]/100,e[4]):FK.hasOwnProperty(t)?GK(FK[t]):t==="transparent"?new Na(NaN,NaN,NaN,0):null}function GK(t){return new Na(t>>16&255,t>>8&255,t&255,1)}function Jw(t,e,r,n){return n<=0&&(t=e=r=NaN),new Na(t,e,r,n)}function FR(t){return t instanceof Rf||(t=ic(t)),t?(t=t.rgb(),new Na(t.r,t.g,t.b,t.opacity)):new Na}function Sg(t,e,r,n){return arguments.length===1?FR(t):new Na(t,e,r,n??1)}function Na(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function VK(){return`#${Vp(this.r)}${Vp(this.g)}${Vp(this.b)}`}function VRe(){return`#${Vp(this.r)}${Vp(this.g)}${Vp(this.b)}${Vp((isNaN(this.opacity)?1:this.opacity)*255)}`}function qK(){let t=r5(this.opacity);return`${t===1?"rgb(":"rgba("}${qp(this.r)}, ${qp(this.g)}, ${qp(this.b)}${t===1?")":`, ${t})`}`}function r5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function qp(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Vp(t){return t=qp(t),(t<16?"0":"")+t.toString(16)}function UK(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new nc(t,e,r,n)}function HK(t){if(t instanceof nc)return new nc(t.h,t.s,t.l,t.opacity);if(t instanceof Rf||(t=ic(t)),!t)return new nc;if(t instanceof nc)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,l=a-i,u=(a+i)/2;return l?(e===a?s=(r-n)/l+(r0&&u<1?0:s,new nc(s,l,u,t.opacity)}function YK(t,e,r,n){return arguments.length===1?HK(t):new nc(t,e,r,n??1)}function nc(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function WK(t){return t=(t||0)%360,t<0?t+360:t}function e5(t){return Math.max(0,Math.min(1,t||0))}function BR(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var Q2,t5,Eg,Z2,Jc,MRe,IRe,ORe,PRe,BRe,FRe,$Re,FK,$R=O(()=>{"use strict";PR();o(Rf,"Color");Q2=.7,t5=1/Q2,Eg="\\s*([+-]?\\d+)\\s*",Z2="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Jc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",MRe=/^#([0-9a-f]{3,8})$/,IRe=new RegExp(`^rgb\\(${Eg},${Eg},${Eg}\\)$`),ORe=new RegExp(`^rgb\\(${Jc},${Jc},${Jc}\\)$`),PRe=new RegExp(`^rgba\\(${Eg},${Eg},${Eg},${Z2}\\)$`),BRe=new RegExp(`^rgba\\(${Jc},${Jc},${Jc},${Z2}\\)$`),FRe=new RegExp(`^hsl\\(${Z2},${Jc},${Jc}\\)$`),$Re=new RegExp(`^hsla\\(${Z2},${Jc},${Jc},${Z2}\\)$`),FK={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Df(Rf,ic,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:$K,formatHex:$K,formatHex8:zRe,formatHsl:GRe,formatRgb:zK,toString:zK});o($K,"color_formatHex");o(zRe,"color_formatHex8");o(GRe,"color_formatHsl");o(zK,"color_formatRgb");o(ic,"color");o(GK,"rgbn");o(Jw,"rgba");o(FR,"rgbConvert");o(Sg,"rgb");o(Na,"Rgb");Df(Na,Sg,kg(Rf,{brighter(t){return t=t==null?t5:Math.pow(t5,t),new Na(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Q2:Math.pow(Q2,t),new Na(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Na(qp(this.r),qp(this.g),qp(this.b),r5(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:VK,formatHex:VK,formatHex8:VRe,formatRgb:qK,toString:qK}));o(VK,"rgb_formatHex");o(VRe,"rgb_formatHex8");o(qK,"rgb_formatRgb");o(r5,"clampa");o(qp,"clampi");o(Vp,"hex");o(UK,"hsla");o(HK,"hslConvert");o(YK,"hsl");o(nc,"Hsl");Df(nc,YK,kg(Rf,{brighter(t){return t=t==null?t5:Math.pow(t5,t),new nc(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Q2:Math.pow(Q2,t),new nc(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Na(BR(t>=240?t-240:t+120,i,n),BR(t,i,n),BR(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new nc(WK(this.h),e5(this.s),e5(this.l),r5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=r5(this.opacity);return`${t===1?"hsl(":"hsla("}${WK(this.h)}, ${e5(this.s)*100}%, ${e5(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(WK,"clamph");o(e5,"clampt");o(BR,"hsl2rgb")});var jK,XK,KK=O(()=>{"use strict";jK=Math.PI/180,XK=180/Math.PI});function rQ(t){if(t instanceof eu)return new eu(t.l,t.a,t.b,t.opacity);if(t instanceof fh)return nQ(t);t instanceof Na||(t=FR(t));var e=qR(t.r),r=qR(t.g),n=qR(t.b),i=zR((.2225045*e+.7168786*r+.0606169*n)/ZK),a,s;return e===r&&r===n?a=s=i:(a=zR((.4360747*e+.3850649*r+.1430804*n)/QK),s=zR((.0139322*e+.0971045*r+.7141733*n)/JK)),new eu(116*i-16,500*(a-i),200*(i-s),t.opacity)}function UR(t,e,r,n){return arguments.length===1?rQ(t):new eu(t,e,r,n??1)}function eu(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function zR(t){return t>qRe?Math.pow(t,1/3):t/tQ+eQ}function GR(t){return t>Cg?t*t*t:tQ*(t-eQ)}function VR(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function qR(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function URe(t){if(t instanceof fh)return new fh(t.h,t.c,t.l,t.opacity);if(t instanceof eu||(t=rQ(t)),t.a===0&&t.b===0)return new fh(NaN,0{"use strict";PR();$R();KK();n5=18,QK=.96422,ZK=1,JK=.82521,eQ=4/29,Cg=6/29,tQ=3*Cg*Cg,qRe=Cg*Cg*Cg;o(rQ,"labConvert");o(UR,"lab");o(eu,"Lab");Df(eu,UR,kg(Rf,{brighter(t){return new eu(this.l+n5*(t??1),this.a,this.b,this.opacity)},darker(t){return new eu(this.l-n5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=QK*GR(e),t=ZK*GR(t),r=JK*GR(r),new Na(VR(3.1338561*e-1.6168667*t-.4906146*r),VR(-.9787684*e+1.9161415*t+.033454*r),VR(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(zR,"xyz2lab");o(GR,"lab2xyz");o(VR,"lrgb2rgb");o(qR,"rgb2lrgb");o(URe,"hclConvert");o(J2,"hcl");o(fh,"Hcl");o(nQ,"hcl2lab");Df(fh,J2,kg(Rf,{brighter(t){return new fh(this.h,this.c,this.l+n5*(t??1),this.opacity)},darker(t){return new fh(this.h,this.c,this.l-n5*(t??1),this.opacity)},rgb(){return nQ(this).rgb()}}))});var Ag=O(()=>{"use strict";$R();iQ()});function WR(t,e,r,n,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*n+s*i)/6}function HR(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,l=n{"use strict";o(WR,"basis");o(HR,"default")});function jR(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],s=t[(n+1)%e],l=t[(n+2)%e];return WR((r-n/e)*e,i,a,s,l)}}var aQ=O(()=>{"use strict";YR();o(jR,"default")});var _g,XR=O(()=>{"use strict";_g=o(t=>()=>t,"default")});function sQ(t,e){return function(r){return t+r*e}}function WRe(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function oQ(t,e){var r=e-t;return r?sQ(t,r>180||r<-180?r-360*Math.round(r/360):r):_g(isNaN(t)?e:t)}function lQ(t){return(t=+t)==1?dh:function(e,r){return r-e?WRe(e,r,t):_g(isNaN(e)?r:e)}}function dh(t,e){var r=e-t;return r?sQ(t,r):_g(isNaN(t)?e:t)}var KR=O(()=>{"use strict";XR();o(sQ,"linear");o(WRe,"exponential");o(oQ,"hue");o(lQ,"gamma");o(dh,"nogamma")});function cQ(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";Ag();YR();aQ();KR();Up=o((function t(e){var r=lQ(e);function n(i,a){var s=r((i=Sg(i)).r,(a=Sg(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=dh(i.opacity,a.opacity);return function(f){return i.r=s(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return o(n,"rgb"),n.gamma=t,n}),"rgbGamma")(1);o(cQ,"rgbSpline");HRe=cQ(HR),YRe=cQ(jR)});function ZR(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";o(ZR,"default");o(uQ,"isNumberArray")});function fQ(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),s;for(s=0;s{"use strict";i5();o(fQ,"genericArray")});function JR(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var pQ=O(()=>{"use strict";o(JR,"default")});function da(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var ex=O(()=>{"use strict";o(da,"default")});function eL(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=Lf(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var mQ=O(()=>{"use strict";i5();o(eL,"default")});function jRe(t){return function(){return t}}function XRe(t){return function(e){return t(e)+""}}function Dg(t,e){var r=rL.lastIndex=tL.lastIndex=0,n,i,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(n=rL.exec(t))&&(i=tL.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(n=n[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,u.push({i:s,x:da(n,i)})),r=tL.lastIndex;return r{"use strict";ex();rL=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tL=new RegExp(rL.source,"g");o(jRe,"zero");o(XRe,"one");o(Dg,"default")});function Lf(t,e){var r=typeof e,n;return e==null||r==="boolean"?_g(e):(r==="number"?da:r==="string"?(n=ic(e))?(e=n,Up):Dg:e instanceof ic?Up:e instanceof Date?JR:uQ(e)?ZR:Array.isArray(e)?fQ:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?eL:da)(t,e)}var i5=O(()=>{"use strict";Ag();QR();dQ();pQ();ex();mQ();nL();XR();hQ();o(Lf,"default")});function a5(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var gQ=O(()=>{"use strict";o(a5,"default")});function o5(t,e,r,n,i,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";yQ=180/Math.PI,s5={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(o5,"default")});function xQ(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?s5:o5(e.a,e.b,e.c,e.d,e.e,e.f)}function bQ(t){return t==null?s5:(l5||(l5=document.createElementNS("http://www.w3.org/2000/svg","g")),l5.setAttribute("transform",t),(t=l5.transform.baseVal.consolidate())?(t=t.matrix,o5(t.a,t.b,t.c,t.d,t.e,t.f)):s5)}var l5,TQ=O(()=>{"use strict";vQ();o(xQ,"parseCss");o(bQ,"parseSvg")});function wQ(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}o(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:da(h,d)},{i:y-2,x:da(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:da(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:da(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:da(h,d)},{i:y-2,x:da(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";ex();TQ();o(wQ,"interpolateTransform");iL=wQ(xQ,"px, ","px)","deg)"),aL=wQ(bQ,", ",")",")")});function EQ(t){return function(e,r){var n=t((e=J2(e)).h,(r=J2(r)).h),i=dh(e.c,r.c),a=dh(e.l,r.l),s=dh(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=s(l),e+""}}}var sL,KRe,SQ=O(()=>{"use strict";Ag();KR();o(EQ,"hcl");sL=EQ(oQ),KRe=EQ(dh)});var Rg=O(()=>{"use strict";i5();ex();gQ();nL();kQ();QR();SQ()});function sx(){return Wp||(_Q(QRe),Wp=ix.now()+h5)}function QRe(){Wp=0}function ax(){this._call=this._time=this._next=null}function f5(t,e,r){var n=new ax;return n.restart(t,e,r),n}function DQ(){sx(),++Lg;for(var t=c5,e;t;)(e=Wp-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Lg}function CQ(){Wp=(u5=ix.now())+h5,Lg=rx=0;try{DQ()}finally{Lg=0,JRe(),Wp=0}}function ZRe(){var t=ix.now(),e=t-u5;e>AQ&&(h5-=e,u5=t)}function JRe(){for(var t,e=c5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:c5=r);nx=t,oL(n)}function oL(t){if(!Lg){rx&&(rx=clearTimeout(rx));var e=t-Wp;e>24?(t<1/0&&(rx=setTimeout(CQ,t-ix.now()-h5)),tx&&(tx=clearInterval(tx))):(tx||(u5=ix.now(),tx=setInterval(ZRe,AQ)),Lg=1,_Q(CQ))}}var Lg,rx,tx,AQ,c5,nx,u5,Wp,h5,ix,_Q,lL=O(()=>{"use strict";Lg=0,rx=0,tx=0,AQ=1e3,u5=0,Wp=0,h5=0,ix=typeof performance=="object"&&performance.now?performance:Date,_Q=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(sx,"now");o(QRe,"clearNow");o(ax,"Timer");ax.prototype=f5.prototype={constructor:ax,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?sx():+r)+(e==null?0:+e),!this._next&&nx!==this&&(nx?nx._next=this:c5=this,nx=this),this._call=t,this._time=r,oL()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,oL())},"stop")};o(f5,"timer");o(DQ,"timerFlush");o(CQ,"wake");o(ZRe,"poke");o(JRe,"nap");o(oL,"sleep")});function ox(t,e,r){var n=new ax;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var RQ=O(()=>{"use strict";lL();o(ox,"default")});var d5=O(()=>{"use strict";lL();RQ()});function ph(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;rLe(t,r,{name:e,index:n,group:i,on:eLe,tween:tLe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:MQ})}function cx(t,e){var r=ta(t,e);if(r.state>MQ)throw new Error("too late; already scheduled");return r}function Ma(t,e){var r=ta(t,e);if(r.state>p5)throw new Error("too late; already running");return r}function ta(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function rLe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=f5(a,0,r.time);function a(h){r.state=LQ,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==LQ)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===p5)return ox(s);m.state===NQ?(m.state=lx,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";qD();d5();eLe=VD("start","end","cancel","interrupt"),tLe=[],MQ=0,LQ=1,m5=2,p5=3,NQ=4,g5=5,lx=6;o(ph,"default");o(cx,"init");o(Ma,"set");o(ta,"get");o(rLe,"create")});function ux(t,e){var r=t.__transition,n,i,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((n=r[s]).name!==e){a=!1;continue}i=n.state>m5&&n.state{"use strict";to();o(ux,"default")});function cL(t){return this.each(function(){ux(this,t)})}var OQ=O(()=>{"use strict";IQ();o(cL,"default")});function nLe(t,e){var r,n;return function(){var i=Ma(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,l=n.length;s{"use strict";to();o(nLe,"tweenRemove");o(iLe,"tweenFunction");o(uL,"default");o(Ng,"tweenValue")});function fx(t,e){var r;return(typeof e=="number"?da:e instanceof ic?Up:(r=ic(e))?(e=r,Up):Dg)(t,e)}var hL=O(()=>{"use strict";Ag();Rg();o(fx,"default")});function aLe(t){return function(){this.removeAttribute(t)}}function sLe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function oLe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttribute(t);return s===i?null:s===n?a:a=e(n=s,r)}}function lLe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===n?a:a=e(n=s,r)}}function cLe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function uLe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function fL(t,e){var r=Zc(t),n=r==="transform"?aL:fx;return this.attrTween(t,typeof e=="function"?(r.local?uLe:cLe)(r,n,Ng(this,"attr."+t,e)):e==null?(r.local?sLe:aLe)(r):(r.local?lLe:oLe)(r,n,e))}var PQ=O(()=>{"use strict";Rg();rc();hx();hL();o(aLe,"attrRemove");o(sLe,"attrRemoveNS");o(oLe,"attrConstant");o(lLe,"attrConstantNS");o(cLe,"attrFunction");o(uLe,"attrFunctionNS");o(fL,"default")});function hLe(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function fLe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function dLe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&fLe(t,a)),r}return o(i,"tween"),i._value=e,i}function pLe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&hLe(t,a)),r}return o(i,"tween"),i._value=e,i}function dL(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=Zc(t);return this.tween(r,(n.local?dLe:pLe)(n,e))}var BQ=O(()=>{"use strict";rc();o(hLe,"attrInterpolate");o(fLe,"attrInterpolateNS");o(dLe,"attrTweenNS");o(pLe,"attrTween");o(dL,"default")});function mLe(t,e){return function(){cx(this,t).delay=+e.apply(this,arguments)}}function gLe(t,e){return e=+e,function(){cx(this,t).delay=e}}function pL(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?mLe:gLe)(e,t)):ta(this.node(),e).delay}var FQ=O(()=>{"use strict";to();o(mLe,"delayFunction");o(gLe,"delayConstant");o(pL,"default")});function yLe(t,e){return function(){Ma(this,t).duration=+e.apply(this,arguments)}}function vLe(t,e){return e=+e,function(){Ma(this,t).duration=e}}function mL(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?yLe:vLe)(e,t)):ta(this.node(),e).duration}var $Q=O(()=>{"use strict";to();o(yLe,"durationFunction");o(vLe,"durationConstant");o(mL,"default")});function xLe(t,e){if(typeof e!="function")throw new Error;return function(){Ma(this,t).ease=e}}function gL(t){var e=this._id;return arguments.length?this.each(xLe(e,t)):ta(this.node(),e).ease}var zQ=O(()=>{"use strict";to();o(xLe,"easeConstant");o(gL,"default")});function bLe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;Ma(this,t).ease=r}}function yL(t){if(typeof t!="function")throw new Error;return this.each(bLe(this._id,t))}var GQ=O(()=>{"use strict";to();o(bLe,"easeVarying");o(yL,"default")});function vL(t){typeof t!="function"&&(t=wg(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";rc();Hp();o(vL,"default")});function xL(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),s=new Array(n),l=0;l{"use strict";Hp();o(xL,"default")});function TLe(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function wLe(t,e,r){var n,i,a=TLe(e)?cx:Ma;return function(){var s=a(this,t),l=s.on;l!==n&&(i=(n=l).copy()).on(e,r),s.on=i}}function bL(t,e){var r=this._id;return arguments.length<2?ta(this.node(),r).on.on(t):this.each(wLe(r,t,e))}var UQ=O(()=>{"use strict";to();o(TLe,"start");o(wLe,"onFunction");o(bL,"default")});function kLe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function TL(){return this.on("end.remove",kLe(this._id))}var WQ=O(()=>{"use strict";o(kLe,"removeFunction");o(TL,"default")});function wL(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Af(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s{"use strict";rc();Hp();to();o(wL,"default")});function kL(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Tg(t));for(var n=this._groups,i=n.length,a=[],s=[],l=0;l{"use strict";rc();Hp();to();o(kL,"default")});function EL(){return new ELe(this._groups,this._parents)}var ELe,jQ=O(()=>{"use strict";rc();ELe=hh.prototype.constructor;o(EL,"default")});function SLe(t,e){var r,n,i;return function(){var a=_f(this,t),s=(this.style.removeProperty(t),_f(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function XQ(t){return function(){this.style.removeProperty(t)}}function CLe(t,e,r){var n,i=r+"",a;return function(){var s=_f(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function ALe(t,e,r){var n,i,a;return function(){var s=_f(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),_f(this,t))),s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l))}}function _Le(t,e){var r,n,i,a="style."+e,s="end."+a,l;return function(){var u=Ma(this,t),h=u.on,f=u.value[a]==null?l||(l=XQ(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(s,i=f),u.on=n}}function SL(t,e,r){var n=(t+="")=="transform"?iL:fx;return e==null?this.styleTween(t,SLe(t,n)).on("end.style."+t,XQ(t)):typeof e=="function"?this.styleTween(t,ALe(t,n,Ng(this,"style."+t,e))).each(_Le(this._id,t)):this.styleTween(t,CLe(t,n,e),r).on("end.style."+t,null)}var KQ=O(()=>{"use strict";Rg();rc();to();hx();hL();o(SLe,"styleNull");o(XQ,"styleRemove");o(CLe,"styleConstant");o(ALe,"styleFunction");o(_Le,"styleMaybeRemove");o(SL,"default")});function DLe(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function RLe(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&DLe(t,s,r)),n}return o(a,"tween"),a._value=e,a}function CL(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,RLe(t,e,r??""))}var QQ=O(()=>{"use strict";o(DLe,"styleInterpolate");o(RLe,"styleTween");o(CL,"default")});function LLe(t){return function(){this.textContent=t}}function NLe(t){return function(){var e=t(this);this.textContent=e??""}}function AL(t){return this.tween("text",typeof t=="function"?NLe(Ng(this,"text",t)):LLe(t==null?"":t+""))}var ZQ=O(()=>{"use strict";hx();o(LLe,"textConstant");o(NLe,"textFunction");o(AL,"default")});function MLe(t){return function(e){this.textContent=t.call(this,e)}}function ILe(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&MLe(i)),e}return o(n,"tween"),n._value=t,n}function _L(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,ILe(t))}var JQ=O(()=>{"use strict";o(MLe,"textInterpolate");o(ILe,"textTween");o(_L,"default")});function DL(){for(var t=this._name,e=this._id,r=y5(),n=this._groups,i=n.length,a=0;a{"use strict";Hp();to();o(DL,"default")});function RL(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--i===0&&a()},"value")};r.each(function(){var h=Ma(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var tZ=O(()=>{"use strict";to();o(RL,"default")});function _s(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function rZ(t){return hh().transition(t)}function y5(){return++OLe}var OLe,mh,Hp=O(()=>{"use strict";rc();PQ();BQ();FQ();$Q();zQ();GQ();VQ();qQ();UQ();WQ();HQ();YQ();jQ();KQ();QQ();ZQ();JQ();eZ();hx();tZ();OLe=0;o(_s,"Transition");o(rZ,"transition");o(y5,"newId");mh=hh.prototype;_s.prototype=rZ.prototype={constructor:_s,select:wL,selectAll:kL,selectChild:mh.selectChild,selectChildren:mh.selectChildren,filter:vL,merge:xL,selection:EL,transition:DL,call:mh.call,nodes:mh.nodes,node:mh.node,size:mh.size,empty:mh.empty,each:mh.each,on:bL,attr:fL,attrTween:dL,style:SL,styleTween:CL,text:AL,textTween:_L,remove:TL,tween:uL,delay:pL,duration:mL,ease:gL,easeVarying:yL,end:RL,[Symbol.iterator]:mh[Symbol.iterator]}});function v5(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var nZ=O(()=>{"use strict";o(v5,"cubicInOut")});var LL=O(()=>{"use strict";nZ()});function BLe(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function NL(t){var e,r;t instanceof _s?(e=t._id,t=t._name):(e=y5(),(r=PLe).time=sx(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";Hp();to();LL();d5();PLe={time:null,delay:0,duration:250,ease:v5};o(BLe,"inherit");o(NL,"default")});var aZ=O(()=>{"use strict";rc();OQ();iZ();hh.prototype.interrupt=cL;hh.prototype.transition=NL});var x5=O(()=>{"use strict";aZ()});var sZ=O(()=>{"use strict"});var oZ=O(()=>{"use strict"});var lZ=O(()=>{"use strict"});function cZ(t){return[+t[0],+t[1]]}function FLe(t){return[cZ(t[0]),cZ(t[1])]}function ML(t){return{type:t}}var akt,skt,okt,lkt,ckt,ukt,uZ=O(()=>{"use strict";x5();sZ();oZ();lZ();({abs:akt,max:skt,min:okt}=Math);o(cZ,"number1");o(FLe,"number2");lkt={name:"x",handles:["w","e"].map(ML),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},ckt={name:"y",handles:["n","s"].map(ML),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},ukt={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(ML),input:o(function(t){return t==null?null:FLe(t)},"input"),output:o(function(t){return t},"output")};o(ML,"type")});var hZ=O(()=>{"use strict";uZ()});function fZ(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return fZ;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";IL=Math.PI,OL=2*IL,Yp=1e-6,$Le=OL-Yp;o(fZ,"append");o(zLe,"appendRound");jp=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?fZ:zLe(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,s){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,l=this._y1,u=n-e,h=i-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>Yp)if(!(Math.abs(d*u-h*f)>Yp)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-s,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),T=a*Math.tan((IL-Math.acos((y+p-v)/(2*x*b)))/2),E=T/b,w=T/x;Math.abs(E-1)>Yp&&this._append`L${e+E*f},${r+E*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+w*u},${this._y1=r+w*h}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^s,p=s?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>Yp||Math.abs(this._y1-f)>Yp)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%OL+OL),p>$Le?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>Yp&&this._append`A${n},${n},0,${+(p>=IL)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};o(dZ,"path");dZ.prototype=jp.prototype});var PL=O(()=>{"use strict";pZ()});var mZ=O(()=>{"use strict"});var gZ=O(()=>{"use strict"});var yZ=O(()=>{"use strict"});var vZ=O(()=>{"use strict"});var xZ=O(()=>{"use strict"});var bZ=O(()=>{"use strict"});var TZ=O(()=>{"use strict"});function BL(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Xp(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var dx=O(()=>{"use strict";o(BL,"default");o(Xp,"formatDecimalParts")});function ac(t){return t=Xp(Math.abs(t)),t?t[1]:NaN}var px=O(()=>{"use strict";dx();o(ac,"default")});function FL(t,e){return function(r,n){for(var i=r.length,a=[],s=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var wZ=O(()=>{"use strict";o(FL,"default")});function $L(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var kZ=O(()=>{"use strict";o($L,"default")});function Nf(t){if(!(e=GLe.exec(t)))throw new Error("invalid format: "+t);var e;return new b5({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function b5(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}var GLe,zL=O(()=>{"use strict";GLe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(Nf,"formatSpecifier");Nf.prototype=b5.prototype;o(b5,"FormatSpecifier");b5.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 GL(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var EZ=O(()=>{"use strict";o(GL,"default")});function qL(t,e){var r=Xp(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(VL=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Xp(t,Math.max(0,e+a-1))[0]}var VL,UL=O(()=>{"use strict";dx();o(qL,"default")});function T5(t,e){var r=Xp(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}var SZ=O(()=>{"use strict";dx();o(T5,"default")});var WL,CZ=O(()=>{"use strict";dx();UL();SZ();WL={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:BL,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>T5(t*100,e),"p"),r:T5,s:qL,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function w5(t){return t}var AZ=O(()=>{"use strict";o(w5,"default")});function HL(t){var e=t.grouping===void 0||t.thousands===void 0?w5:FL(_Z.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?w5:$L(_Z.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Nf(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,T=d.precision,E=d.trim,w=d.type;w==="n"?(b=!0,w="g"):WL[w]||(T===void 0&&(T=12),E=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var k=y==="$"?r:y==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",S=y==="$"?n:/[%p]/.test(w)?s:"",A=WL[w],L=/[defgprs%]/.test(w);T=T===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function I(N){var C=k,_=S,D,M,R;if(w==="c")_=A(N)+_,N="";else{N=+N;var P=N<0||1/N<0;if(N=isNaN(N)?u:A(Math.abs(N),T),E&&(N=GL(N)),P&&+N==0&&g!=="+"&&(P=!1),C=(P?g==="("?g:l:g==="-"||g==="("?"":g)+C,_=(w==="s"?DZ[8+VL/3]:"")+_+(P&&g==="("?")":""),L){for(D=-1,M=N.length;++DR||R>57){_=(R===46?i+N.slice(D+1):N.slice(D))+_,N=N.slice(0,D);break}}}b&&!v&&(N=e(N,1/0));var B=C.length+N.length+_.length,F=B>1)+C+N+_+F.slice(B);break;default:N=F+C+N+_;break}return a(N)}return o(I,"format"),I.toString=function(){return d+""},I}o(h,"newFormat");function f(d,p){var m=h((d=Nf(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(ac(p)/3)))*3,y=Math.pow(10,-g),v=DZ[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var _Z,DZ,RZ=O(()=>{"use strict";px();wZ();kZ();zL();EZ();CZ();UL();AZ();_Z=Array.prototype.map,DZ=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(HL,"default")});function YL(t){return k5=HL(t),tu=k5.format,E5=k5.formatPrefix,k5}var k5,tu,E5,LZ=O(()=>{"use strict";RZ();YL({thousands:",",grouping:[3],currency:["$",""]});o(YL,"defaultLocale")});function S5(t){return Math.max(0,-ac(Math.abs(t)))}var NZ=O(()=>{"use strict";px();o(S5,"default")});function C5(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ac(e)/3)))*3-ac(Math.abs(t)))}var MZ=O(()=>{"use strict";px();o(C5,"default")});function A5(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ac(e)-ac(t))+1}var IZ=O(()=>{"use strict";px();o(A5,"default")});var jL=O(()=>{"use strict";LZ();zL();NZ();MZ();IZ()});var OZ=O(()=>{"use strict"});function VLe(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function XL(){return this.eachAfter(VLe)}var PZ=O(()=>{"use strict";o(VLe,"count");o(XL,"default")});function KL(t,e){let r=-1;for(let n of this)t.call(e,n,++r,this);return this}var BZ=O(()=>{"use strict";o(KL,"default")});function QL(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}var FZ=O(()=>{"use strict";o(QL,"default")});function ZL(t,e){for(var r=this,n=[r],i=[],a,s,l,u=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,l=a.length;s{"use strict";o(ZL,"default")});function JL(t,e){let r=-1;for(let n of this)if(t.call(e,n,++r,this))return n}var zZ=O(()=>{"use strict";o(JL,"default")});function e9(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r})}var GZ=O(()=>{"use strict";o(e9,"default")});function t9(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}var VZ=O(()=>{"use strict";o(t9,"default")});function r9(t){for(var e=this,r=qLe(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function qLe(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}var qZ=O(()=>{"use strict";o(r9,"default");o(qLe,"leastCommonAncestor")});function n9(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}var UZ=O(()=>{"use strict";o(n9,"default")});function i9(){return Array.from(this)}var WZ=O(()=>{"use strict";o(i9,"default")});function a9(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}var HZ=O(()=>{"use strict";o(a9,"default")});function s9(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}var YZ=O(()=>{"use strict";o(s9,"default")});function*o9(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i{"use strict";o(o9,"default")});function Mg(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=HLe)):e===void 0&&(e=WLe);for(var r=new mx(t),n,i=[r],a,s,l,u;n=i.pop();)if((s=e(n.data))&&(u=(s=Array.from(s)).length))for(n.children=s,l=u-1;l>=0;--l)i.push(a=s[l]=new mx(s[l])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(jLe)}function ULe(){return Mg(this).eachBefore(YLe)}function WLe(t){return t.children}function HLe(t){return Array.isArray(t)?t[1]:null}function YLe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function jLe(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function mx(t){this.data=t,this.depth=this.height=0,this.parent=null}var XZ=O(()=>{"use strict";PZ();BZ();FZ();$Z();zZ();GZ();VZ();qZ();UZ();WZ();HZ();YZ();jZ();o(Mg,"hierarchy");o(ULe,"node_copy");o(WLe,"objectChildren");o(HLe,"mapChildren");o(YLe,"copyData");o(jLe,"computeHeight");o(mx,"Node");mx.prototype=Mg.prototype={constructor:mx,count:XL,each:KL,eachAfter:ZL,eachBefore:QL,find:JL,sum:e9,sort:t9,path:r9,ancestors:n9,descendants:i9,leaves:a9,links:s9,copy:ULe,[Symbol.iterator]:o9}});function KZ(t){if(typeof t!="function")throw new Error;return t}var QZ=O(()=>{"use strict";o(KZ,"required")});function Ig(){return 0}function Kp(t){return function(){return t}}var ZZ=O(()=>{"use strict";o(Ig,"constantZero");o(Kp,"default")});function l9(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}var JZ=O(()=>{"use strict";o(l9,"default")});function c9(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(n-e)/t.value;++l{"use strict";o(c9,"default")});function u9(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(i-r)/t.value;++l{"use strict";o(u9,"default")});function KLe(t,e,r,n,i,a){for(var s=[],l=e.children,u,h,f=0,d=0,p=l.length,m,g,y=e.value,v,x,b,T,E,w,k;fb&&(b=h),k=v*v*w,T=Math.max(b/k,k/x),T>E){v-=h;break}E=T}s.push(u={value:v,dice:m{"use strict";eJ();tJ();XLe=(1+Math.sqrt(5))/2;o(KLe,"squarifyRatio");rJ=o((function t(e){function r(n,i,a,s,l){KLe(e,n,i,a,s,l)}return o(r,"squarify"),r.ratio=function(n){return t((n=+n)>1?n:1)},r}),"custom")(XLe)});function _5(){var t=rJ,e=!1,r=1,n=1,i=[0],a=Ig,s=Ig,l=Ig,u=Ig,h=Ig;function f(p){return p.x0=p.y0=0,p.x1=r,p.y1=n,p.eachBefore(d),i=[0],e&&p.eachBefore(l9),p}o(f,"treemap");function d(p){var m=i[p.depth],g=p.x0+m,y=p.y0+m,v=p.x1-m,x=p.y1-m;v{"use strict";JZ();nJ();QZ();ZZ();o(_5,"default")});var aJ=O(()=>{"use strict";XZ();iJ()});var sJ=O(()=>{"use strict"});var oJ=O(()=>{"use strict"});function Mf(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var gx=O(()=>{"use strict";o(Mf,"initRange")});function Fo(){var t=new xg,e=[],r=[],n=h9;function i(a){let s=t.get(a);if(s===void 0){if(n!==h9)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new xg;for(let s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return Fo(e,r).unknown(n)},Mf.apply(i,arguments),i}var h9,f9=O(()=>{"use strict";Cf();gx();h9=Symbol("implicit");o(Fo,"ordinal")});function Og(){var t=Fo().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";Cf();gx();f9();o(Og,"band")});function d9(t){return function(){return t}}var cJ=O(()=>{"use strict";o(d9,"constants")});function p9(t){return+t}var uJ=O(()=>{"use strict";o(p9,"number")});function Pg(t){return t}function m9(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:d9(isNaN(e)?NaN:.5)}function QLe(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function ZLe(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?JLe:ZLe,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(s(p)))}return o(d,"scale"),d.invert=function(p){return s(i((h||(h=l(e,t.map(n),da)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,p9),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=a5,f()},d.clamp=function(p){return arguments.length?(s=p?!0:Pg,f()):s!==Pg},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function yx(){return e9e()(Pg,Pg)}var hJ,g9=O(()=>{"use strict";Cf();Rg();cJ();uJ();hJ=[0,1];o(Pg,"identity");o(m9,"normalize");o(QLe,"clamper");o(ZLe,"bimap");o(JLe,"polymap");o(D5,"copy");o(e9e,"transformer");o(yx,"continuous")});function y9(t,e,r,n){var i=bg(t,e,r),a;switch(n=Nf(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=C5(i,s))&&(n.precision=a),E5(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=A5(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=S5(i))&&(n.precision=a-(n.type==="%")*2);break}}return tu(n)}var fJ=O(()=>{"use strict";Cf();jL();o(y9,"tickFormat")});function t9e(t){var e=t.domain;return t.ticks=function(r){var n=e();return Vw(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return y9(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],l=n[a],u,h,f=10;for(l0;){if(h=W2(s,l,r),h===u)return n[i]=s,n[a]=l,e(n);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function sc(){var t=yx();return t.copy=function(){return D5(t,sc())},Mf.apply(t,arguments),t9e(t)}var dJ=O(()=>{"use strict";Cf();g9();gx();fJ();o(t9e,"linearish");o(sc,"linear")});function v9(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a{"use strict";o(v9,"nice")});function In(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let s=i(a),l=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hIn(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(x9.setTime(+a),b9.setTime(+s),t(x9),t(b9),Math.floor(r(x9,b9))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}var x9,b9,gh=O(()=>{"use strict";x9=new Date,b9=new Date;o(In,"timeInterval")});var ru,mJ,T9=O(()=>{"use strict";gh();ru=In(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);ru.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?In(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):ru);mJ=ru.range});var $o,gJ,w9=O(()=>{"use strict";gh();$o=In(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),gJ=$o.range});var yh,r9e,R5,n9e,k9=O(()=>{"use strict";gh();yh=In(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),r9e=yh.range,R5=In(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),n9e=R5.range});var vh,i9e,L5,a9e,E9=O(()=>{"use strict";gh();vh=In(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),i9e=vh.range,L5=In(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),a9e=L5.range});var gl,s9e,xx,o9e,N5,l9e,S9=O(()=>{"use strict";gh();gl=In(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),s9e=gl.range,xx=In(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),o9e=xx.range,N5=In(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),l9e=N5.range});function Jp(t){return In(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function e0(t){return In(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var oc,If,M5,I5,iu,O5,P5,vJ,c9e,u9e,h9e,f9e,d9e,p9e,t0,Bg,xJ,bJ,Of,TJ,wJ,kJ,m9e,g9e,y9e,v9e,x9e,b9e,C9=O(()=>{"use strict";gh();o(Jp,"timeWeekday");oc=Jp(0),If=Jp(1),M5=Jp(2),I5=Jp(3),iu=Jp(4),O5=Jp(5),P5=Jp(6),vJ=oc.range,c9e=If.range,u9e=M5.range,h9e=I5.range,f9e=iu.range,d9e=O5.range,p9e=P5.range;o(e0,"utcWeekday");t0=e0(0),Bg=e0(1),xJ=e0(2),bJ=e0(3),Of=e0(4),TJ=e0(5),wJ=e0(6),kJ=t0.range,m9e=Bg.range,g9e=xJ.range,y9e=bJ.range,v9e=Of.range,x9e=TJ.range,b9e=wJ.range});var xh,T9e,B5,w9e,A9=O(()=>{"use strict";gh();xh=In(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()),T9e=xh.range,B5=In(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()),w9e=B5.range});var zo,k9e,lc,E9e,_9=O(()=>{"use strict";gh();zo=In(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());zo.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:In(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});k9e=zo.range,lc=In(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());lc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:In(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});E9e=lc.range});function SJ(t,e,r,n,i,a){let s=[[$o,1,1e3],[$o,5,5*1e3],[$o,15,15*1e3],[$o,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(bg(h/31536e6,f/31536e6,d));if(m===0)return ru.every(Math.max(bg(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";Cf();T9();w9();k9();E9();S9();C9();A9();_9();o(SJ,"ticker");[C9e,A9e]=SJ(lc,B5,t0,N5,L5,R5),[D9,R9]=SJ(zo,xh,oc,gl,vh,yh)});var F5=O(()=>{"use strict";T9();w9();k9();E9();S9();C9();A9();_9();CJ()});function L9(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function N9(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function bx(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function M9(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=Tx(i),f=wx(i),d=Tx(a),p=wx(a),m=Tx(s),g=wx(s),y=Tx(l),v=wx(l),x=Tx(u),b=wx(u),T={a:P,A:B,b:F,B:G,c:null,d:NJ,e:NJ,f:K9e,g:sNe,G:lNe,H:Y9e,I:j9e,j:X9e,L:BJ,m:Q9e,M:Z9e,p:$,q:V,Q:OJ,s:PJ,S:J9e,u:eNe,U:tNe,V:rNe,w:nNe,W:iNe,x:null,X:null,y:aNe,Y:oNe,Z:cNe,"%":IJ},E={a:X,A:Q,b:H,B:ie,c:null,d:MJ,e:MJ,f:dNe,g:kNe,G:SNe,H:uNe,I:hNe,j:fNe,L:$J,m:pNe,M:mNe,p:Y,q:le,Q:OJ,s:PJ,S:gNe,u:yNe,U:vNe,V:xNe,w:bNe,W:TNe,x:null,X:null,y:wNe,Y:ENe,Z:CNe,"%":IJ},w={a:I,A:N,b:C,B:_,c:D,d:RJ,e:RJ,f:q9e,g:DJ,G:_J,H:LJ,I:LJ,j:$9e,L:V9e,m:F9e,M:z9e,p:L,q:B9e,Q:W9e,s:H9e,S:G9e,u:N9e,U:M9e,V:I9e,w:L9e,W:O9e,x:M,X:R,y:DJ,Y:_J,Z:P9e,"%":U9e};T.x=k(r,T),T.X=k(n,T),T.c=k(e,T),E.x=k(r,E),E.X=k(n,E),E.c=k(e,E);function k(ee,J){return function(te){var Z=[],xe=-1,de=0,Se=ee.length,Me,ke,we;for(te instanceof Date||(te=new Date(+te));++xe53)return null;"w"in Z||(Z.w=1),"Z"in Z?(de=N9(bx(Z.y,0,1)),Se=de.getUTCDay(),de=Se>4||Se===0?Bg.ceil(de):Bg(de),de=xx.offset(de,(Z.V-1)*7),Z.y=de.getUTCFullYear(),Z.m=de.getUTCMonth(),Z.d=de.getUTCDate()+(Z.w+6)%7):(de=L9(bx(Z.y,0,1)),Se=de.getDay(),de=Se>4||Se===0?If.ceil(de):If(de),de=gl.offset(de,(Z.V-1)*7),Z.y=de.getFullYear(),Z.m=de.getMonth(),Z.d=de.getDate()+(Z.w+6)%7)}else("W"in Z||"U"in Z)&&("w"in Z||(Z.w="u"in Z?Z.u%7:"W"in Z?1:0),Se="Z"in Z?N9(bx(Z.y,0,1)).getUTCDay():L9(bx(Z.y,0,1)).getDay(),Z.m=0,Z.d="W"in Z?(Z.w+6)%7+Z.W*7-(Se+5)%7:Z.w+Z.U*7-(Se+6)%7);return"Z"in Z?(Z.H+=Z.Z/100|0,Z.M+=Z.Z%100,N9(Z)):L9(Z)}}o(S,"newParse");function A(ee,J,te,Z){for(var xe=0,de=J.length,Se=te.length,Me,ke;xe=Se)return-1;if(Me=J.charCodeAt(xe++),Me===37){if(Me=J.charAt(xe++),ke=w[Me in AJ?J.charAt(xe++):Me],!ke||(Z=ke(ee,te,Z))<0)return-1}else if(Me!=te.charCodeAt(Z++))return-1}return Z}o(A,"parseSpecifier");function L(ee,J,te){var Z=h.exec(J.slice(te));return Z?(ee.p=f.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(L,"parsePeriod");function I(ee,J,te){var Z=m.exec(J.slice(te));return Z?(ee.w=g.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(I,"parseShortWeekday");function N(ee,J,te){var Z=d.exec(J.slice(te));return Z?(ee.w=p.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(N,"parseWeekday");function C(ee,J,te){var Z=x.exec(J.slice(te));return Z?(ee.m=b.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(C,"parseShortMonth");function _(ee,J,te){var Z=y.exec(J.slice(te));return Z?(ee.m=v.get(Z[0].toLowerCase()),te+Z[0].length):-1}o(_,"parseMonth");function D(ee,J,te){return A(ee,e,J,te)}o(D,"parseLocaleDateTime");function M(ee,J,te){return A(ee,r,J,te)}o(M,"parseLocaleDate");function R(ee,J,te){return A(ee,n,J,te)}o(R,"parseLocaleTime");function P(ee){return s[ee.getDay()]}o(P,"formatShortWeekday");function B(ee){return a[ee.getDay()]}o(B,"formatWeekday");function F(ee){return u[ee.getMonth()]}o(F,"formatShortMonth");function G(ee){return l[ee.getMonth()]}o(G,"formatMonth");function $(ee){return i[+(ee.getHours()>=12)]}o($,"formatPeriod");function V(ee){return 1+~~(ee.getMonth()/3)}o(V,"formatQuarter");function X(ee){return s[ee.getUTCDay()]}o(X,"formatUTCShortWeekday");function Q(ee){return a[ee.getUTCDay()]}o(Q,"formatUTCWeekday");function H(ee){return u[ee.getUTCMonth()]}o(H,"formatUTCShortMonth");function ie(ee){return l[ee.getUTCMonth()]}o(ie,"formatUTCMonth");function Y(ee){return i[+(ee.getUTCHours()>=12)]}o(Y,"formatUTCPeriod");function le(ee){return 1+~~(ee.getUTCMonth()/3)}return o(le,"formatUTCQuarter"),{format:o(function(ee){var J=k(ee+="",T);return J.toString=function(){return ee},J},"format"),parse:o(function(ee){var J=S(ee+="",!1);return J.toString=function(){return ee},J},"parse"),utcFormat:o(function(ee){var J=k(ee+="",E);return J.toString=function(){return ee},J},"utcFormat"),utcParse:o(function(ee){var J=S(ee+="",!0);return J.toString=function(){return ee},J},"utcParse")}}function hn(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function L9e(t,e,r){var n=pa.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function N9e(t,e,r){var n=pa.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function M9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function I9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function O9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function _J(t,e,r){var n=pa.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function DJ(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function P9e(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function B9e(t,e,r){var n=pa.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function F9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function RJ(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $9e(t,e,r){var n=pa.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function LJ(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function z9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function G9e(t,e,r){var n=pa.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function V9e(t,e,r){var n=pa.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function q9e(t,e,r){var n=pa.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U9e(t,e,r){var n=_9e.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function W9e(t,e,r){var n=pa.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function H9e(t,e,r){var n=pa.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function NJ(t,e){return hn(t.getDate(),e,2)}function Y9e(t,e){return hn(t.getHours(),e,2)}function j9e(t,e){return hn(t.getHours()%12||12,e,2)}function X9e(t,e){return hn(1+gl.count(zo(t),t),e,3)}function BJ(t,e){return hn(t.getMilliseconds(),e,3)}function K9e(t,e){return BJ(t,e)+"000"}function Q9e(t,e){return hn(t.getMonth()+1,e,2)}function Z9e(t,e){return hn(t.getMinutes(),e,2)}function J9e(t,e){return hn(t.getSeconds(),e,2)}function eNe(t){var e=t.getDay();return e===0?7:e}function tNe(t,e){return hn(oc.count(zo(t)-1,t),e,2)}function FJ(t){var e=t.getDay();return e>=4||e===0?iu(t):iu.ceil(t)}function rNe(t,e){return t=FJ(t),hn(iu.count(zo(t),t)+(zo(t).getDay()===4),e,2)}function nNe(t){return t.getDay()}function iNe(t,e){return hn(If.count(zo(t)-1,t),e,2)}function aNe(t,e){return hn(t.getFullYear()%100,e,2)}function sNe(t,e){return t=FJ(t),hn(t.getFullYear()%100,e,2)}function oNe(t,e){return hn(t.getFullYear()%1e4,e,4)}function lNe(t,e){var r=t.getDay();return t=r>=4||r===0?iu(t):iu.ceil(t),hn(t.getFullYear()%1e4,e,4)}function cNe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+hn(e/60|0,"0",2)+hn(e%60,"0",2)}function MJ(t,e){return hn(t.getUTCDate(),e,2)}function uNe(t,e){return hn(t.getUTCHours(),e,2)}function hNe(t,e){return hn(t.getUTCHours()%12||12,e,2)}function fNe(t,e){return hn(1+xx.count(lc(t),t),e,3)}function $J(t,e){return hn(t.getUTCMilliseconds(),e,3)}function dNe(t,e){return $J(t,e)+"000"}function pNe(t,e){return hn(t.getUTCMonth()+1,e,2)}function mNe(t,e){return hn(t.getUTCMinutes(),e,2)}function gNe(t,e){return hn(t.getUTCSeconds(),e,2)}function yNe(t){var e=t.getUTCDay();return e===0?7:e}function vNe(t,e){return hn(t0.count(lc(t)-1,t),e,2)}function zJ(t){var e=t.getUTCDay();return e>=4||e===0?Of(t):Of.ceil(t)}function xNe(t,e){return t=zJ(t),hn(Of.count(lc(t),t)+(lc(t).getUTCDay()===4),e,2)}function bNe(t){return t.getUTCDay()}function TNe(t,e){return hn(Bg.count(lc(t)-1,t),e,2)}function wNe(t,e){return hn(t.getUTCFullYear()%100,e,2)}function kNe(t,e){return t=zJ(t),hn(t.getUTCFullYear()%100,e,2)}function ENe(t,e){return hn(t.getUTCFullYear()%1e4,e,4)}function SNe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Of(t):Of.ceil(t),hn(t.getUTCFullYear()%1e4,e,4)}function CNe(){return"+0000"}function IJ(){return"%"}function OJ(t){return+t}function PJ(t){return Math.floor(+t/1e3)}var AJ,pa,_9e,D9e,GJ=O(()=>{"use strict";F5();o(L9,"localDate");o(N9,"utcDate");o(bx,"newDate");o(M9,"formatLocale");AJ={"-":"",_:" ",0:"0"},pa=/^\s*\d+/,_9e=/^%/,D9e=/[\\^$*+?|[\]().{}]/g;o(hn,"pad");o(R9e,"requote");o(Tx,"formatRe");o(wx,"formatLookup");o(L9e,"parseWeekdayNumberSunday");o(N9e,"parseWeekdayNumberMonday");o(M9e,"parseWeekNumberSunday");o(I9e,"parseWeekNumberISO");o(O9e,"parseWeekNumberMonday");o(_J,"parseFullYear");o(DJ,"parseYear");o(P9e,"parseZone");o(B9e,"parseQuarter");o(F9e,"parseMonthNumber");o(RJ,"parseDayOfMonth");o($9e,"parseDayOfYear");o(LJ,"parseHour24");o(z9e,"parseMinutes");o(G9e,"parseSeconds");o(V9e,"parseMilliseconds");o(q9e,"parseMicroseconds");o(U9e,"parseLiteralPercent");o(W9e,"parseUnixTimestamp");o(H9e,"parseUnixTimestampSeconds");o(NJ,"formatDayOfMonth");o(Y9e,"formatHour24");o(j9e,"formatHour12");o(X9e,"formatDayOfYear");o(BJ,"formatMilliseconds");o(K9e,"formatMicroseconds");o(Q9e,"formatMonthNumber");o(Z9e,"formatMinutes");o(J9e,"formatSeconds");o(eNe,"formatWeekdayNumberMonday");o(tNe,"formatWeekNumberSunday");o(FJ,"dISO");o(rNe,"formatWeekNumberISO");o(nNe,"formatWeekdayNumberSunday");o(iNe,"formatWeekNumberMonday");o(aNe,"formatYear");o(sNe,"formatYearISO");o(oNe,"formatFullYear");o(lNe,"formatFullYearISO");o(cNe,"formatZone");o(MJ,"formatUTCDayOfMonth");o(uNe,"formatUTCHour24");o(hNe,"formatUTCHour12");o(fNe,"formatUTCDayOfYear");o($J,"formatUTCMilliseconds");o(dNe,"formatUTCMicroseconds");o(pNe,"formatUTCMonthNumber");o(mNe,"formatUTCMinutes");o(gNe,"formatUTCSeconds");o(yNe,"formatUTCWeekdayNumberMonday");o(vNe,"formatUTCWeekNumberSunday");o(zJ,"UTCdISO");o(xNe,"formatUTCWeekNumberISO");o(bNe,"formatUTCWeekdayNumberSunday");o(TNe,"formatUTCWeekNumberMonday");o(wNe,"formatUTCYear");o(kNe,"formatUTCYearISO");o(ENe,"formatUTCFullYear");o(SNe,"formatUTCFullYearISO");o(CNe,"formatUTCZone");o(IJ,"formatLiteralPercent");o(OJ,"formatUnixTimestamp");o(PJ,"formatUnixTimestampSeconds")});function I9(t){return Fg=M9(t),r0=Fg.format,VJ=Fg.parse,qJ=Fg.utcFormat,UJ=Fg.utcParse,Fg}var Fg,r0,VJ,qJ,UJ,WJ=O(()=>{"use strict";GJ();I9({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});o(I9,"defaultLocale")});var O9=O(()=>{"use strict";WJ()});function ANe(t){return new Date(t)}function _Ne(t){return t instanceof Date?+t:+new Date(+t)}function HJ(t,e,r,n,i,a,s,l,u,h){var f=yx(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),T=h("%B"),E=h("%Y");function w(k){return(u(k){"use strict";F5();O9();g9();gx();pJ();o(ANe,"date");o(_Ne,"number");o(HJ,"calendar");o($5,"time")});var jJ=O(()=>{"use strict";lJ();dJ();f9();YJ()});function P9(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";o(P9,"default")});var B9,KJ=O(()=>{"use strict";XJ();B9=P9("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var QJ=O(()=>{"use strict";KJ()});function ei(t){return o(function(){return t},"constant")}var z5=O(()=>{"use strict";o(ei,"default")});function JJ(t){return t>1?0:t<-1?$g:Math.acos(t)}function $9(t){return t>=1?kx:t<=-1?-kx:Math.asin(t)}var F9,Ia,Pf,ZJ,G5,cc,n0,ma,$g,kx,zg,V5=O(()=>{"use strict";F9=Math.abs,Ia=Math.atan2,Pf=Math.cos,ZJ=Math.max,G5=Math.min,cc=Math.sin,n0=Math.sqrt,ma=1e-12,$g=Math.PI,kx=$g/2,zg=2*$g;o(JJ,"acos");o($9,"asin")});function q5(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new jp(e)}var z9=O(()=>{"use strict";PL();o(q5,"withPath")});function DNe(t){return t.innerRadius}function RNe(t){return t.outerRadius}function LNe(t){return t.startAngle}function NNe(t){return t.endAngle}function MNe(t){return t&&t.padAngle}function INe(t,e,r,n,i,a,s,l){var u=r-t,h=n-e,f=s-i,d=l-a,p=d*u-f*h;if(!(p*pD*D+M*M&&(A=I,L=N),{cx:A,cy:L,x01:-f,y01:-d,x11:A*(i/w-1),y11:L*(i/w-1)}}function uc(){var t=DNe,e=RNe,r=ei(0),n=null,i=LNe,a=NNe,s=MNe,l=null,u=q5(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-kx,y=a.apply(this,arguments)-kx,v=F9(y-g),x=y>g;if(l||(l=f=u()),mma))l.moveTo(0,0);else if(v>zg-ma)l.moveTo(m*Pf(g),m*cc(g)),l.arc(0,0,m,g,y,!x),p>ma&&(l.moveTo(p*Pf(y),p*cc(y)),l.arc(0,0,p,y,g,x));else{var b=g,T=y,E=g,w=y,k=v,S=v,A=s.apply(this,arguments)/2,L=A>ma&&(n?+n.apply(this,arguments):n0(p*p+m*m)),I=G5(F9(m-p)/2,+r.apply(this,arguments)),N=I,C=I,_,D;if(L>ma){var M=$9(L/p*cc(A)),R=$9(L/m*cc(A));(k-=M*2)>ma?(M*=x?1:-1,E+=M,w-=M):(k=0,E=w=(g+y)/2),(S-=R*2)>ma?(R*=x?1:-1,b+=R,T-=R):(S=0,b=T=(g+y)/2)}var P=m*Pf(b),B=m*cc(b),F=p*Pf(w),G=p*cc(w);if(I>ma){var $=m*Pf(T),V=m*cc(T),X=p*Pf(E),Q=p*cc(E),H;if(v<$g)if(H=INe(P,B,X,Q,$,V,F,G)){var ie=P-H[0],Y=B-H[1],le=$-H[0],ee=V-H[1],J=1/cc(JJ((ie*le+Y*ee)/(n0(ie*ie+Y*Y)*n0(le*le+ee*ee)))/2),te=n0(H[0]*H[0]+H[1]*H[1]);N=G5(I,(p-te)/(J-1)),C=G5(I,(m-te)/(J+1))}else N=C=0}S>ma?C>ma?(_=U5(X,Q,P,B,m,C,x),D=U5($,V,F,G,m,C,x),l.moveTo(_.cx+_.x01,_.cy+_.y01),Cma)||!(k>ma)?l.lineTo(F,G):N>ma?(_=U5(F,G,$,V,p,-N,x),D=U5(P,B,X,Q,p,-N,x),l.lineTo(_.cx+_.x01,_.cy+_.y01),N{"use strict";z5();V5();z9();o(DNe,"arcInnerRadius");o(RNe,"arcOuterRadius");o(LNe,"arcStartAngle");o(NNe,"arcEndAngle");o(MNe,"arcPadAngle");o(INe,"intersect");o(U5,"cornerTangents");o(uc,"default")});function Ex(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var j6t,G9=O(()=>{"use strict";j6t=Array.prototype.slice;o(Ex,"default")});function tee(t){this._context=t}function au(t){return new tee(t)}var V9=O(()=>{"use strict";o(tee,"Linear");tee.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}},"point")};o(au,"default")});function ree(t){return t[0]}function nee(t){return t[1]}var iee=O(()=>{"use strict";o(ree,"x");o(nee,"y")});function hc(t,e){var r=ei(!0),n=null,i=au,a=null,s=q5(l);t=typeof t=="function"?t:t===void 0?ree:ei(t),e=typeof e=="function"?e:e===void 0?nee:ei(e);function l(u){var h,f=(u=Ex(u)).length,d,p=!1,m;for(n==null&&(a=i(m=s())),h=0;h<=f;++h)!(h{"use strict";G9();z5();V9();z9();iee();o(hc,"default")});function q9(t,e){return et?1:e>=t?0:NaN}var see=O(()=>{"use strict";o(q9,"default")});function U9(t){return t}var oee=O(()=>{"use strict";o(U9,"default")});function W5(){var t=U9,e=q9,r=null,n=ei(0),i=ei(zg),a=ei(0);function s(l){var u,h=(l=Ex(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(zg,Math.max(-zg,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),T=b*(v<0?-1:1),E;for(u=0;u0&&(p+=E);for(e!=null?m.sort(function(w,k){return e(g[w],g[k])}):r!=null&&m.sort(function(w,k){return r(l[w],l[k])}),u=0,d=p?(v-h*T)/p:0;u0?E*d:0)+T,g[f]={data:l[f],index:u,value:E,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:ei(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:ei(+l),s):n},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:ei(+l),s):i},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:ei(+l),s):a},s}var lee=O(()=>{"use strict";G9();z5();see();oee();V5();o(W5,"default")});function Sx(t){return new H5(t,!0)}function Cx(t){return new H5(t,!1)}var H5,cee=O(()=>{"use strict";H5=class{static{o(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};o(Sx,"bumpX");o(Cx,"bumpY")});function Go(){}var Ax=O(()=>{"use strict";o(Go,"default")});function Gg(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function _x(t){this._context=t}function fc(t){return new _x(t)}var Dx=O(()=>{"use strict";o(Gg,"point");o(_x,"Basis");_x.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:Gg(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Gg(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(fc,"default")});function uee(t){this._context=t}function Y5(t){return new uee(t)}var hee=O(()=>{"use strict";Ax();Dx();o(uee,"BasisClosed");uee.prototype={areaStart:Go,areaEnd:Go,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Gg(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(Y5,"default")});function fee(t){this._context=t}function j5(t){return new fee(t)}var dee=O(()=>{"use strict";Dx();o(fee,"BasisOpen");fee.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Gg(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(j5,"default")});function pee(t,e){this._basis=new _x(t),this._beta=e}var W9,mee=O(()=>{"use strict";Dx();o(pee,"Bundle");pee.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};W9=o((function t(e){function r(n){return e===1?new _x(n):new pee(n,e)}return o(r,"bundle"),r.beta=function(n){return t(+n)},r}),"custom")(.85)});function Vg(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function X5(t,e){this._context=t,this._k=(1-e)/6}var Rx,Lx=O(()=>{"use strict";o(Vg,"point");o(X5,"Cardinal");X5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Vg(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Vg(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};Rx=o((function t(e){function r(n){return new X5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function K5(t,e){this._context=t,this._k=(1-e)/6}var H9,Y9=O(()=>{"use strict";Ax();Lx();o(K5,"CardinalClosed");K5.prototype={areaStart:Go,areaEnd:Go,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Vg(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};H9=o((function t(e){function r(n){return new K5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function Q5(t,e){this._context=t,this._k=(1-e)/6}var j9,X9=O(()=>{"use strict";Lx();o(Q5,"CardinalOpen");Q5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Vg(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};j9=o((function t(e){function r(n){return new Q5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r}),"custom")(0)});function Nx(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>ma){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>ma){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function gee(t,e){this._context=t,this._alpha=e}var Mx,Z5=O(()=>{"use strict";V5();Lx();o(Nx,"point");o(gee,"CatmullRom");gee.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Nx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};Mx=o((function t(e){function r(n){return e?new gee(n,e):new X5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function yee(t,e){this._context=t,this._alpha=e}var K9,vee=O(()=>{"use strict";Y9();Ax();Z5();o(yee,"CatmullRomClosed");yee.prototype={areaStart:Go,areaEnd:Go,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Nx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};K9=o((function t(e){function r(n){return e?new yee(n,e):new K5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function xee(t,e){this._context=t,this._alpha=e}var Q9,bee=O(()=>{"use strict";X9();Z5();o(xee,"CatmullRomOpen");xee.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Nx(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};Q9=o((function t(e){function r(n){return e?new xee(n,e):new Q5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r}),"custom")(.5)});function Tee(t){this._context=t}function J5(t){return new Tee(t)}var wee=O(()=>{"use strict";Ax();o(Tee,"LinearClosed");Tee.prototype={areaStart:Go,areaEnd:Go,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(J5,"default")});function kee(t){return t<0?-1:1}function Eee(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),l=(a*i+s*n)/(n+i);return(kee(a)+kee(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function See(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Z9(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,s-l*r,a,s)}function ek(t){this._context=t}function Cee(t){this._context=new Aee(t)}function Aee(t){this._context=t}function Ix(t){return new ek(t)}function Ox(t){return new Cee(t)}var _ee=O(()=>{"use strict";o(kee,"sign");o(Eee,"slope3");o(See,"slope2");o(Z9,"point");o(ek,"MonotoneX");ek.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Z9(this,this._t0,See(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Z9(this,See(this,r=Eee(this,t,e)),r);break;default:Z9(this,this._t0,r=Eee(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(Cee,"MonotoneY");(Cee.prototype=Object.create(ek.prototype)).point=function(t,e){ek.prototype.point.call(this,e,t)};o(Aee,"ReflectContext");Aee.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};o(Ix,"monotoneX");o(Ox,"monotoneY")});function Ree(t){this._context=t}function Dee(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";o(Ree,"Natural");Ree.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=Dee(t),i=Dee(e),a=0,s=1;s{"use strict";o(tk,"Step");tk.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e},"point")};o(Ug,"default");o(Px,"stepBefore");o(Bx,"stepAfter")});var Mee=O(()=>{"use strict";eee();aee();lee();hee();dee();Dx();cee();mee();Y9();X9();Lx();vee();bee();Z5();wee();V9();_ee();Lee();Nee()});var Iee=O(()=>{"use strict"});var Oee=O(()=>{"use strict"});function Bf(t,e,r){this.k=t,this.x=e,this.y=r}function eN(t){for(;!t.__zoom;)if(!(t=t.parentNode))return J9;return t.__zoom}var J9,tN=O(()=>{"use strict";o(Bf,"Transform");Bf.prototype={constructor:Bf,scale:o(function(t){return t===1?this:new Bf(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Bf(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};J9=new Bf(1,0,0);eN.prototype=Bf.prototype;o(eN,"transform")});var Pee=O(()=>{"use strict"});var Bee=O(()=>{"use strict";x5();Iee();Oee();tN();Pee()});var Fee=O(()=>{"use strict";Bee();tN()});var Ar=O(()=>{"use strict";Cf();HX();hZ();mZ();Ag();gZ();yZ();qD();BK();vZ();LL();xZ();TZ();jL();OZ();aJ();Rg();PL();sJ();bZ();oJ();jJ();QJ();rc();Mee();F5();O9();d5();x5();Fee()});var $ee=nr(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.BLANK_URL=ga.relativeFirstCharacters=ga.whitespaceEscapeCharsRegex=ga.urlSchemeRegex=ga.ctrlCharactersRegex=ga.htmlCtrlEntityRegex=ga.htmlEntitiesRegex=ga.invalidProtocolRegex=void 0;ga.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;ga.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;ga.htmlCtrlEntityRegex=/&(newline|tab);/gi;ga.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;ga.urlSchemeRegex=/^.+(:|:)/gim;ga.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;ga.relativeFirstCharacters=[".","/"];ga.BLANK_URL="about:blank"});var Wg=nr(rk=>{"use strict";Object.defineProperty(rk,"__esModule",{value:!0});rk.sanitizeUrl=void 0;var Ja=$ee();function ONe(t){return Ja.relativeFirstCharacters.indexOf(t[0])>-1}o(ONe,"isRelativeUrlWithoutProtocol");function PNe(t){var e=t.replace(Ja.ctrlCharactersRegex,"");return e.replace(Ja.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}o(PNe,"decodeHtmlCharacters");function BNe(t){return URL.canParse(t)}o(BNe,"isValidUrl");function zee(t){try{return decodeURIComponent(t)}catch{return t}}o(zee,"decodeURI");function FNe(t){if(!t)return Ja.BLANK_URL;var e,r=zee(t.trim());do r=PNe(r).replace(Ja.htmlCtrlEntityRegex,"").replace(Ja.ctrlCharactersRegex,"").replace(Ja.whitespaceEscapeCharsRegex,"").trim(),r=zee(r),e=r.match(Ja.ctrlCharactersRegex)||r.match(Ja.htmlEntitiesRegex)||r.match(Ja.htmlCtrlEntityRegex)||r.match(Ja.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Ja.BLANK_URL;if(ONe(n))return n;var i=n.trimStart(),a=i.match(Ja.urlSchemeRegex);if(!a)return n;var s=a[0].toLowerCase().trim();if(Ja.invalidProtocolRegex.test(s))return Ja.BLANK_URL;var l=i.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!BNe(l))return Ja.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(FNe,"sanitizeUrl");rk.sanitizeUrl=FNe});var rN,i0,nk,Gee,ik,ak,Oa,Fx,sk,a0=O(()=>{"use strict";rN=Ra(Wg(),1);Ar();Ur();i0=o((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),nk=o((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};i0(t,r).lower()},"drawBackgroundRect"),Gee=o((t,e)=>{let r=e.text.replace(Ip," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),ik=o((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,rN.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),ak=o((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,rN.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),Oa=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Fx=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),sk=o(()=>{let t=je(".mermaidTooltip");return t.empty()&&(t=je("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")});var Vee,nN,qee,$Ne,zNe,GNe,VNe,qNe,UNe,WNe,HNe,YNe,jNe,XNe,KNe,bh,dc,Uee=O(()=>{"use strict";Ur();a0();Vee=Ra(Wg(),1),nN=o(function(t,e){return i0(t,e)},"drawRect"),qee=o(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,Vee.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),$Ne=o((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();bh(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:s},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),bh(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},d))}},"drawRels"),zNe=o(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};nN(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,bh(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,bh(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,bh(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),GNe=o(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=Oa();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},nN(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let h=KNe(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":qee(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,bh(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?bh(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&bh(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,bh(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),VNe=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),qNe=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),UNe=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),WNe=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),HNe=o(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),YNe=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),jNe=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),XNe=o(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),KNe=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),bh=(function(){function t(i,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split(st.lineBreakRegex);for(let v=0;v{"use strict";QNe=typeof global=="object"&&global&&global.Object===Object&&global,lk=QNe});var ZNe,JNe,Ri,yl=O(()=>{"use strict";iN();ZNe=typeof self=="object"&&self&&self.Object===Object&&self,JNe=lk||ZNe||Function("return this")(),Ri=JNe});var eMe,ya,s0=O(()=>{"use strict";yl();eMe=Ri.Symbol,ya=eMe});function nMe(t){var e=tMe.call(t,$x),r=t[$x];try{t[$x]=void 0;var n=!0}catch{}var i=rMe.call(t);return n&&(e?t[$x]=r:delete t[$x]),i}var Wee,tMe,rMe,$x,Hee,Yee=O(()=>{"use strict";s0();Wee=Object.prototype,tMe=Wee.hasOwnProperty,rMe=Wee.toString,$x=ya?ya.toStringTag:void 0;o(nMe,"getRawTag");Hee=nMe});function sMe(t){return aMe.call(t)}var iMe,aMe,jee,Xee=O(()=>{"use strict";iMe=Object.prototype,aMe=iMe.toString;o(sMe,"objectToString");jee=sMe});function cMe(t){return t==null?t===void 0?lMe:oMe:Kee&&Kee in Object(t)?Hee(t):jee(t)}var oMe,lMe,Kee,Pa,Th=O(()=>{"use strict";s0();Yee();Xee();oMe="[object Null]",lMe="[object Undefined]",Kee=ya?ya.toStringTag:void 0;o(cMe,"baseGetTag");Pa=cMe});function uMe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var On,Vo=O(()=>{"use strict";o(uMe,"isObject");On=uMe});function mMe(t){if(!On(t))return!1;var e=Pa(t);return e==fMe||e==dMe||e==hMe||e==pMe}var hMe,fMe,dMe,pMe,Vi,zx=O(()=>{"use strict";Th();Vo();hMe="[object AsyncFunction]",fMe="[object Function]",dMe="[object GeneratorFunction]",pMe="[object Proxy]";o(mMe,"isFunction");Vi=mMe});var gMe,ck,Qee=O(()=>{"use strict";yl();gMe=Ri["__core-js_shared__"],ck=gMe});function yMe(t){return!!Zee&&Zee in t}var Zee,Jee,ete=O(()=>{"use strict";Qee();Zee=(function(){var t=/[^.]+$/.exec(ck&&ck.keys&&ck.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();o(yMe,"isMasked");Jee=yMe});function bMe(t){if(t!=null){try{return xMe.call(t)}catch{}try{return t+""}catch{}}return""}var vMe,xMe,wh,aN=O(()=>{"use strict";vMe=Function.prototype,xMe=vMe.toString;o(bMe,"toSource");wh=bMe});function _Me(t){if(!On(t)||Jee(t))return!1;var e=Vi(t)?AMe:wMe;return e.test(wh(t))}var TMe,wMe,kMe,EMe,SMe,CMe,AMe,tte,rte=O(()=>{"use strict";zx();ete();Vo();aN();TMe=/[\\^$.*+?()[\]{}|]/g,wMe=/^\[object .+?Constructor\]$/,kMe=Function.prototype,EMe=Object.prototype,SMe=kMe.toString,CMe=EMe.hasOwnProperty,AMe=RegExp("^"+SMe.call(CMe).replace(TMe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(_Me,"baseIsNative");tte=_Me});function DMe(t,e){return t?.[e]}var nte,ite=O(()=>{"use strict";o(DMe,"getValue");nte=DMe});function RMe(t,e){var r=nte(t,e);return tte(r)?r:void 0}var ro,Ff=O(()=>{"use strict";rte();ite();o(RMe,"getNative");ro=RMe});var LMe,kh,Gx=O(()=>{"use strict";Ff();LMe=ro(Object,"create"),kh=LMe});function NMe(){this.__data__=kh?kh(null):{},this.size=0}var ate,ste=O(()=>{"use strict";Gx();o(NMe,"hashClear");ate=NMe});function MMe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var ote,lte=O(()=>{"use strict";o(MMe,"hashDelete");ote=MMe});function BMe(t){var e=this.__data__;if(kh){var r=e[t];return r===IMe?void 0:r}return PMe.call(e,t)?e[t]:void 0}var IMe,OMe,PMe,cte,ute=O(()=>{"use strict";Gx();IMe="__lodash_hash_undefined__",OMe=Object.prototype,PMe=OMe.hasOwnProperty;o(BMe,"hashGet");cte=BMe});function zMe(t){var e=this.__data__;return kh?e[t]!==void 0:$Me.call(e,t)}var FMe,$Me,hte,fte=O(()=>{"use strict";Gx();FMe=Object.prototype,$Me=FMe.hasOwnProperty;o(zMe,"hashHas");hte=zMe});function VMe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=kh&&e===void 0?GMe:e,this}var GMe,dte,pte=O(()=>{"use strict";Gx();GMe="__lodash_hash_undefined__";o(VMe,"hashSet");dte=VMe});function Hg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";ste();lte();ute();fte();pte();o(Hg,"Hash");Hg.prototype.clear=ate;Hg.prototype.delete=ote;Hg.prototype.get=cte;Hg.prototype.has=hte;Hg.prototype.set=dte;sN=Hg});function qMe(){this.__data__=[],this.size=0}var gte,yte=O(()=>{"use strict";o(qMe,"listCacheClear");gte=qMe});function UMe(t,e){return t===e||t!==t&&e!==e}var vl,o0=O(()=>{"use strict";o(UMe,"eq");vl=UMe});function WMe(t,e){for(var r=t.length;r--;)if(vl(t[r][0],e))return r;return-1}var $f,Vx=O(()=>{"use strict";o0();o(WMe,"assocIndexOf");$f=WMe});function jMe(t){var e=this.__data__,r=$f(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():YMe.call(e,r,1),--this.size,!0}var HMe,YMe,vte,xte=O(()=>{"use strict";Vx();HMe=Array.prototype,YMe=HMe.splice;o(jMe,"listCacheDelete");vte=jMe});function XMe(t){var e=this.__data__,r=$f(e,t);return r<0?void 0:e[r][1]}var bte,Tte=O(()=>{"use strict";Vx();o(XMe,"listCacheGet");bte=XMe});function KMe(t){return $f(this.__data__,t)>-1}var wte,kte=O(()=>{"use strict";Vx();o(KMe,"listCacheHas");wte=KMe});function QMe(t,e){var r=this.__data__,n=$f(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Ete,Ste=O(()=>{"use strict";Vx();o(QMe,"listCacheSet");Ete=QMe});function Yg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";yte();xte();Tte();kte();Ste();o(Yg,"ListCache");Yg.prototype.clear=gte;Yg.prototype.delete=vte;Yg.prototype.get=bte;Yg.prototype.has=wte;Yg.prototype.set=Ete;zf=Yg});var ZMe,Gf,uk=O(()=>{"use strict";Ff();yl();ZMe=ro(Ri,"Map"),Gf=ZMe});function JMe(){this.size=0,this.__data__={hash:new sN,map:new(Gf||zf),string:new sN}}var Cte,Ate=O(()=>{"use strict";mte();qx();uk();o(JMe,"mapCacheClear");Cte=JMe});function eIe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var _te,Dte=O(()=>{"use strict";o(eIe,"isKeyable");_te=eIe});function tIe(t,e){var r=t.__data__;return _te(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Vf,Ux=O(()=>{"use strict";Dte();o(tIe,"getMapData");Vf=tIe});function rIe(t){var e=Vf(this,t).delete(t);return this.size-=e?1:0,e}var Rte,Lte=O(()=>{"use strict";Ux();o(rIe,"mapCacheDelete");Rte=rIe});function nIe(t){return Vf(this,t).get(t)}var Nte,Mte=O(()=>{"use strict";Ux();o(nIe,"mapCacheGet");Nte=nIe});function iIe(t){return Vf(this,t).has(t)}var Ite,Ote=O(()=>{"use strict";Ux();o(iIe,"mapCacheHas");Ite=iIe});function aIe(t,e){var r=Vf(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var Pte,Bte=O(()=>{"use strict";Ux();o(aIe,"mapCacheSet");Pte=aIe});function jg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";Ate();Lte();Mte();Ote();Bte();o(jg,"MapCache");jg.prototype.clear=Cte;jg.prototype.delete=Rte;jg.prototype.get=Nte;jg.prototype.has=Ite;jg.prototype.set=Pte;l0=jg});function oN(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(sIe);var r=o(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(oN.Cache||l0),r}var sIe,Xg,lN=O(()=>{"use strict";hk();sIe="Expected a function";o(oN,"memoize");oN.Cache=l0;Xg=oN});function oIe(){this.__data__=new zf,this.size=0}var Fte,$te=O(()=>{"use strict";qx();o(oIe,"stackClear");Fte=oIe});function lIe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var zte,Gte=O(()=>{"use strict";o(lIe,"stackDelete");zte=lIe});function cIe(t){return this.__data__.get(t)}var Vte,qte=O(()=>{"use strict";o(cIe,"stackGet");Vte=cIe});function uIe(t){return this.__data__.has(t)}var Ute,Wte=O(()=>{"use strict";o(uIe,"stackHas");Ute=uIe});function fIe(t,e){var r=this.__data__;if(r instanceof zf){var n=r.__data__;if(!Gf||n.length{"use strict";qx();uk();hk();hIe=200;o(fIe,"stackSet");Hte=fIe});function Kg(t){var e=this.__data__=new zf(t);this.size=e.size}var su,Wx=O(()=>{"use strict";qx();$te();Gte();qte();Wte();Yte();o(Kg,"Stack");Kg.prototype.clear=Fte;Kg.prototype.delete=zte;Kg.prototype.get=Vte;Kg.prototype.has=Ute;Kg.prototype.set=Hte;su=Kg});var dIe,Qg,cN=O(()=>{"use strict";Ff();dIe=(function(){try{var t=ro(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Qg=dIe});function pIe(t,e,r){e=="__proto__"&&Qg?Qg(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var ou,Zg=O(()=>{"use strict";cN();o(pIe,"baseAssignValue");ou=pIe});function mIe(t,e,r){(r!==void 0&&!vl(t[e],r)||r===void 0&&!(e in t))&&ou(t,e,r)}var Hx,uN=O(()=>{"use strict";Zg();o0();o(mIe,"assignMergeValue");Hx=mIe});function gIe(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),l=s.length;l--;){var u=s[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var jte,Xte=O(()=>{"use strict";o(gIe,"createBaseFor");jte=gIe});var yIe,Jg,fk=O(()=>{"use strict";Xte();yIe=jte(),Jg=yIe});function xIe(t,e){if(e)return t.slice();var r=t.length,n=Zte?Zte(r):new t.constructor(r);return t.copy(n),n}var Jte,Kte,vIe,Qte,Zte,dk,hN=O(()=>{"use strict";yl();Jte=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Kte=Jte&&typeof module=="object"&&module&&!module.nodeType&&module,vIe=Kte&&Kte.exports===Jte,Qte=vIe?Ri.Buffer:void 0,Zte=Qte?Qte.allocUnsafe:void 0;o(xIe,"cloneBuffer");dk=xIe});var bIe,e1,fN=O(()=>{"use strict";yl();bIe=Ri.Uint8Array,e1=bIe});function TIe(t){var e=new t.constructor(t.byteLength);return new e1(e).set(new e1(t)),e}var t1,pk=O(()=>{"use strict";fN();o(TIe,"cloneArrayBuffer");t1=TIe});function wIe(t,e){var r=e?t1(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var mk,dN=O(()=>{"use strict";pk();o(wIe,"cloneTypedArray");mk=wIe});function kIe(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";o(kIe,"copyArray");gk=kIe});var ere,EIe,tre,rre=O(()=>{"use strict";Vo();ere=Object.create,EIe=(function(){function t(){}return o(t,"object"),function(e){if(!On(e))return{};if(ere)return ere(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),tre=EIe});function SIe(t,e){return function(r){return t(e(r))}}var yk,mN=O(()=>{"use strict";o(SIe,"overArg");yk=SIe});var CIe,r1,vk=O(()=>{"use strict";mN();CIe=yk(Object.getPrototypeOf,Object),r1=CIe});function _Ie(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||AIe;return t===r}var AIe,lu,n1=O(()=>{"use strict";AIe=Object.prototype;o(_Ie,"isPrototype");lu=_Ie});function DIe(t){return typeof t.constructor=="function"&&!lu(t)?tre(r1(t)):{}}var xk,gN=O(()=>{"use strict";rre();vk();n1();o(DIe,"initCloneObject");xk=DIe});function RIe(t){return t!=null&&typeof t=="object"}var wi,xl=O(()=>{"use strict";o(RIe,"isObjectLike");wi=RIe});function NIe(t){return wi(t)&&Pa(t)==LIe}var LIe,yN,nre=O(()=>{"use strict";Th();xl();LIe="[object Arguments]";o(NIe,"baseIsArguments");yN=NIe});var ire,MIe,IIe,OIe,pc,i1=O(()=>{"use strict";nre();xl();ire=Object.prototype,MIe=ire.hasOwnProperty,IIe=ire.propertyIsEnumerable,OIe=yN((function(){return arguments})())?yN:function(t){return wi(t)&&MIe.call(t,"callee")&&!IIe.call(t,"callee")},pc=OIe});var PIe,zt,oi=O(()=>{"use strict";PIe=Array.isArray,zt=PIe});function FIe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=BIe}var BIe,a1,bk=O(()=>{"use strict";BIe=9007199254740991;o(FIe,"isLength");a1=FIe});function $Ie(t){return t!=null&&a1(t.length)&&!Vi(t)}var Li,bl=O(()=>{"use strict";zx();bk();o($Ie,"isArrayLike");Li=$Ie});function zIe(t){return wi(t)&&Li(t)}var c0,Tk=O(()=>{"use strict";bl();xl();o(zIe,"isArrayLikeObject");c0=zIe});function GIe(){return!1}var are,sre=O(()=>{"use strict";o(GIe,"stubFalse");are=GIe});var cre,ore,VIe,lre,qIe,UIe,mc,s1=O(()=>{"use strict";yl();sre();cre=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ore=cre&&typeof module=="object"&&module&&!module.nodeType&&module,VIe=ore&&ore.exports===cre,lre=VIe?Ri.Buffer:void 0,qIe=lre?lre.isBuffer:void 0,UIe=qIe||are,mc=UIe});function KIe(t){if(!wi(t)||Pa(t)!=WIe)return!1;var e=r1(t);if(e===null)return!0;var r=jIe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&ure.call(r)==XIe}var WIe,HIe,YIe,ure,jIe,XIe,hre,fre=O(()=>{"use strict";Th();vk();xl();WIe="[object Object]",HIe=Function.prototype,YIe=Object.prototype,ure=HIe.toString,jIe=YIe.hasOwnProperty,XIe=ure.call(Object);o(KIe,"isPlainObject");hre=KIe});function TOe(t){return wi(t)&&a1(t.length)&&!!ti[Pa(t)]}var QIe,ZIe,JIe,eOe,tOe,rOe,nOe,iOe,aOe,sOe,oOe,lOe,cOe,uOe,hOe,fOe,dOe,pOe,mOe,gOe,yOe,vOe,xOe,bOe,ti,dre,pre=O(()=>{"use strict";Th();bk();xl();QIe="[object Arguments]",ZIe="[object Array]",JIe="[object Boolean]",eOe="[object Date]",tOe="[object Error]",rOe="[object Function]",nOe="[object Map]",iOe="[object Number]",aOe="[object Object]",sOe="[object RegExp]",oOe="[object Set]",lOe="[object String]",cOe="[object WeakMap]",uOe="[object ArrayBuffer]",hOe="[object DataView]",fOe="[object Float32Array]",dOe="[object Float64Array]",pOe="[object Int8Array]",mOe="[object Int16Array]",gOe="[object Int32Array]",yOe="[object Uint8Array]",vOe="[object Uint8ClampedArray]",xOe="[object Uint16Array]",bOe="[object Uint32Array]",ti={};ti[fOe]=ti[dOe]=ti[pOe]=ti[mOe]=ti[gOe]=ti[yOe]=ti[vOe]=ti[xOe]=ti[bOe]=!0;ti[QIe]=ti[ZIe]=ti[uOe]=ti[JIe]=ti[hOe]=ti[eOe]=ti[tOe]=ti[rOe]=ti[nOe]=ti[iOe]=ti[aOe]=ti[sOe]=ti[oOe]=ti[lOe]=ti[cOe]=!1;o(TOe,"baseIsTypedArray");dre=TOe});function wOe(t){return function(e){return t(e)}}var Tl,u0=O(()=>{"use strict";o(wOe,"baseUnary");Tl=wOe});var mre,Yx,kOe,vN,EOe,wl,jx=O(()=>{"use strict";iN();mre=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Yx=mre&&typeof module=="object"&&module&&!module.nodeType&&module,kOe=Yx&&Yx.exports===mre,vN=kOe&&lk.process,EOe=(function(){try{var t=Yx&&Yx.require&&Yx.require("util").types;return t||vN&&vN.binding&&vN.binding("util")}catch{}})(),wl=EOe});var gre,SOe,qf,Xx=O(()=>{"use strict";pre();u0();jx();gre=wl&&wl.isTypedArray,SOe=gre?Tl(gre):dre,qf=SOe});function COe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Kx,xN=O(()=>{"use strict";o(COe,"safeGet");Kx=COe});function DOe(t,e,r){var n=t[e];(!(_Oe.call(t,e)&&vl(n,r))||r===void 0&&!(e in t))&&ou(t,e,r)}var AOe,_Oe,cu,o1=O(()=>{"use strict";Zg();o0();AOe=Object.prototype,_Oe=AOe.hasOwnProperty;o(DOe,"assignValue");cu=DOe});function ROe(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";o1();Zg();o(ROe,"copyObject");kl=ROe});function LOe(t,e){for(var r=-1,n=Array(t);++r{"use strict";o(LOe,"baseTimes");yre=LOe});function IOe(t,e){var r=typeof t;return e=e??NOe,!!e&&(r=="number"||r!="symbol"&&MOe.test(t))&&t>-1&&t%1==0&&t{"use strict";NOe=9007199254740991,MOe=/^(?:0|[1-9]\d*)$/;o(IOe,"isIndex");Uf=IOe});function BOe(t,e){var r=zt(t),n=!r&&pc(t),i=!r&&!n&&mc(t),a=!r&&!n&&!i&&qf(t),s=r||n||i||a,l=s?yre(t.length,String):[],u=l.length;for(var h in t)(e||POe.call(t,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Uf(h,u)))&&l.push(h);return l}var OOe,POe,wk,bN=O(()=>{"use strict";vre();i1();oi();s1();Qx();Xx();OOe=Object.prototype,POe=OOe.hasOwnProperty;o(BOe,"arrayLikeKeys");wk=BOe});function FOe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var xre,bre=O(()=>{"use strict";o(FOe,"nativeKeysIn");xre=FOe});function GOe(t){if(!On(t))return xre(t);var e=lu(t),r=[];for(var n in t)n=="constructor"&&(e||!zOe.call(t,n))||r.push(n);return r}var $Oe,zOe,Tre,wre=O(()=>{"use strict";Vo();n1();bre();$Oe=Object.prototype,zOe=$Oe.hasOwnProperty;o(GOe,"baseKeysIn");Tre=GOe});function VOe(t){return Li(t)?wk(t,!0):Tre(t)}var no,Wf=O(()=>{"use strict";bN();wre();bl();o(VOe,"keysIn");no=VOe});function qOe(t){return kl(t,no(t))}var kre,Ere=O(()=>{"use strict";h0();Wf();o(qOe,"toPlainObject");kre=qOe});function UOe(t,e,r,n,i,a,s){var l=Kx(t,r),u=Kx(e,r),h=s.get(u);if(h){Hx(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=zt(u),m=!p&&mc(u),g=!p&&!m&&qf(u);f=u,p||m||g?zt(l)?f=l:c0(l)?f=gk(l):m?(d=!1,f=dk(u,!0)):g?(d=!1,f=mk(u,!0)):f=[]:hre(u)||pc(u)?(f=l,pc(l)?f=kre(l):(!On(l)||Vi(l))&&(f=xk(u))):d=!1}d&&(s.set(u,f),i(f,u,n,a,s),s.delete(u)),Hx(t,r,f)}var Sre,Cre=O(()=>{"use strict";uN();hN();dN();pN();gN();i1();oi();Tk();s1();zx();Vo();fre();Xx();xN();Ere();o(UOe,"baseMergeDeep");Sre=UOe});function Are(t,e,r,n,i){t!==e&&Jg(e,function(a,s){if(i||(i=new su),On(a))Sre(t,e,s,r,Are,n,i);else{var l=n?n(Kx(t,s),a,s+"",t,e,i):void 0;l===void 0&&(l=a),Hx(t,s,l)}},no)}var _re,Dre=O(()=>{"use strict";Wx();uN();fk();Cre();Vo();Wf();xN();o(Are,"baseMerge");_re=Are});function WOe(t){return t}var va,Eh=O(()=>{"use strict";o(WOe,"identity");va=WOe});function HOe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var Rre,Lre=O(()=>{"use strict";o(HOe,"apply");Rre=HOe});function YOe(t,e,r){return e=Nre(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=Nre(n.length-e,0),s=Array(a);++i{"use strict";Lre();Nre=Math.max;o(YOe,"overRest");kk=YOe});function jOe(t){return function(){return t}}var io,wN=O(()=>{"use strict";o(jOe,"constant");io=jOe});var XOe,Mre,Ire=O(()=>{"use strict";wN();cN();Eh();XOe=Qg?function(t,e){return Qg(t,"toString",{configurable:!0,enumerable:!1,value:io(e),writable:!0})}:va,Mre=XOe});function JOe(t){var e=0,r=0;return function(){var n=ZOe(),i=QOe-(n-r);if(r=n,i>0){if(++e>=KOe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var KOe,QOe,ZOe,Ore,Pre=O(()=>{"use strict";KOe=800,QOe=16,ZOe=Date.now;o(JOe,"shortOut");Ore=JOe});var ePe,Ek,kN=O(()=>{"use strict";Ire();Pre();ePe=Ore(Mre),Ek=ePe});function tPe(t,e){return Ek(kk(t,e,va),t+"")}var uu,l1=O(()=>{"use strict";Eh();TN();kN();o(tPe,"baseRest");uu=tPe});function rPe(t,e,r){if(!On(r))return!1;var n=typeof e;return(n=="number"?Li(r)&&Uf(e,r.length):n=="string"&&e in r)?vl(r[e],t):!1}var qo,f0=O(()=>{"use strict";o0();bl();Qx();Vo();o(rPe,"isIterateeCall");qo=rPe});function nPe(t){return uu(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&qo(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";l1();f0();o(nPe,"createAssigner");Sk=nPe});var iPe,Hf,SN=O(()=>{"use strict";Dre();EN();iPe=Sk(function(t,e,r){_re(t,e,r)}),Hf=iPe});function _N(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return aPe[r]??e}function cPe(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,$re.sanitizeUrl)(r):r}function Vre(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function hPe(t){let e,r=0;t.forEach(i=>{r+=Vre(i,e),e=i});let n=r/2;return DN(t,n)}function fPe(t){return t.length===1?t[0]:hPe(t)}function pPe(t,e,r){let n=structuredClone(r);K.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=DN(n,i),s=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2),u}function RN(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function mPe(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;iMath.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}var $re,AN,aPe,sPe,oPe,zre,Gre,lPe,uPe,Bre,DN,dPe,Fre,LN,NN,gPe,yPe,MN,vPe,IN,CN,Ck,xPe,bPe,Uo,Xt,qre,ao,hu,ar=O(()=>{"use strict";$re=Ra(Wg(),1);Ar();Ur();p8();xt();Fp();sg();lN();SN();Ow();AN="\u200B",aPe={curveBasis:fc,curveBasisClosed:Y5,curveBasisOpen:j5,curveBumpX:Sx,curveBumpY:Cx,curveBundle:W9,curveCardinalClosed:H9,curveCardinalOpen:j9,curveCardinal:Rx,curveCatmullRomClosed:K9,curveCatmullRomOpen:Q9,curveCatmullRom:Mx,curveLinear:au,curveLinearClosed:J5,curveMonotoneX:Ix,curveMonotoneY:Ox,curveNatural:qg,curveStep:Ug,curveStepAfter:Bx,curveStepBefore:Px},sPe=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,oPe=o(function(t,e){let r=zre(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let s=r.map(l=>l.args);cg(s),n=Vn(n,[...s])}else n=r.args;if(!n)return;let i=vg(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),zre=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${sPe.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),K.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=Bp.exec(t))!==null;)if(n.index===Bp.lastIndex&&Bp.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return K.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),Gre=o(function(t){return t.replace(Bp,"")},"removeDirectives"),lPe=o(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");o(_N,"interpolateToCurve");o(cPe,"formatUrl");uPe=o((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),DN=o((t,e)=>{let r,n=e;for(let i of t){if(r){let a=Vre(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:Bre((1-s)*r.x+s*i.x,5),y:Bre((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),dPe=o((t,e,r)=>{K.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=DN(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+i.x)/2,l.y=-Math.cos(s)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");o(pPe,"calcTerminalLabelPosition");o(RN,"getStylesFromArray");Fre=0,LN=o(()=>(Fre++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Fre),"generateId");o(mPe,"makeRandomHex");NN=o(t=>mPe(t.length),"random"),gPe=o(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),yPe=o(function(t,e){let r=e.text.replace(st.lineBreakRegex," "),[,n]=Uo(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),MN=Xg((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),st.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((s,l)=>{let u=xa(`${s} `,r),h=xa(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=vPe(s,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),vPe=Xg((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],s="";return i.forEach((l,u)=>{let h=`${s}${l}`;if(xa(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);o(Ak,"calculateTextHeight");o(xa,"calculateTextWidth");IN=Xg((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=Uo(r),s=["sans-serif",n],l=t.split(st.lineBreakRegex),u=[],h=je("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=gPe();v.text=y||AN;let x=yPe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),CN=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},xPe=o(function(t){return Ck=Ck||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Ck.innerHTML=t,unescape(Ck.textContent)},"entityDecode");o(ON,"isDetailedError");bPe=o((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),Uo=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(Pn,"cleanAndMerge");Xt={assignWithDepth:Vn,wrapLabel:MN,calculateTextHeight:Ak,calculateTextWidth:xa,calculateTextDimensions:IN,cleanAndMerge:Pn,detectInit:oPe,detectDirective:zre,isSubstringInArray:lPe,interpolateToCurve:_N,calcLabelPosition:fPe,calcCardinalityPosition:dPe,calcTerminalLabelPosition:pPe,formatUrl:cPe,getStylesFromArray:RN,generateId:LN,random:NN,runFunc:uPe,entityDecode:xPe,insertTitle:bPe,isLabelCoordinateInPath:TPe,parseFontSize:Uo,InitIDGenerator:CN},qre=o(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),ao=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),hu=o((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");o(Bn,"handleUndefinedAttr");o(TPe,"isLabelCoordinateInPath")});function gc(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=MN(e[t].text,i,n),e[t].textLines=e[t].text.split(st.lineBreakRegex).length,e[t].width=i,e[t].height=Ak(e[t].text,n);else{let a=e[t].text.split(st.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(xa(l,n),e[t].width),s=Ak(l,n),e[t].height=e[t].height+s}}function jre(t,e,r,n,i){let a=new Lk(i);a.data.widthLimit=r.data.widthLimit/Math.min(PN,n.length);for(let[s,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&Jt.wrap,f=_k(Jt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",gc("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=_k(Jt);gc("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=_k(Jt);g.fontSize=g.fontSize-2,gc("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%PN===0){let g=r.data.startx+Jt.diagramMarginX,y=r.data.stopy+Jt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Jt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&Yre(a,t,d,p),e=l.alias;let m=i.db.getBoundaries(e);m.length>0&&jre(t,e,a,m,i),l.alias!=="global"&&Hre(t,l,a),r.data.stopy=Math.max(a.data.stopy+Jt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Jt.c4ShapeMargin,r.data.stopx),Dk=Math.max(Dk,r.data.stopx),Rk=Math.max(Rk,r.data.stopy)}}var Dk,Rk,Wre,PN,Jt,Lk,BN,Zx,_k,wPe,Hre,Yre,so,Ure,kPe,EPe,SPe,FN,Xre=O(()=>{"use strict";Ar();Uee();xt();TD();Ur();LD();jt();sg();ar();Ti();Dk=0,Rk=0,Wre=4,PN=2;F2.yy=U2;Jt={},Lk=class{static{o(this,"Bounds")}constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,BN(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Wre)&&(r=this.nextData.startx+e.margin+Jt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},BN(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},BN=o(function(t){Vn(Jt,t),t.fontFamily&&(Jt.personFontFamily=Jt.systemFontFamily=Jt.messageFontFamily=t.fontFamily),t.fontSize&&(Jt.personFontSize=Jt.systemFontSize=Jt.messageFontSize=t.fontSize),t.fontWeight&&(Jt.personFontWeight=Jt.systemFontWeight=Jt.messageFontWeight=t.fontWeight)},"setConf"),Zx=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),_k=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),wPe=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(gc,"calcC4ShapeTextWH");Hre=o(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=Jt.c4ShapeMargin-35;let n=e.wrap&&Jt.wrap,i=_k(Jt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=xa(e.label.text,i);gc("label",e,n,i,a),dc.drawBoundary(t,e,Jt)},"drawBoundary"),Yre=o(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],l=Zx(Jt,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=xa("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=Jt.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let u=s.wrap&&Jt.wrap,h=Jt.width-Jt.c4ShapePadding*2,f=Zx(Jt,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",gc("label",s,u,f,h),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=Zx(Jt,s.typeC4Shape.text);gc("type",s,u,m,h),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let m=Zx(Jt,s.techn.text);gc("techn",s,u,m,h),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=Zx(Jt,s.typeC4Shape.text);gc("descr",s,u,m,h),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}p=p+Jt.c4ShapePadding,s.width=Math.max(s.width||Jt.width,p,Jt.width),s.height=Math.max(s.height||Jt.height,d,Jt.height),s.margin=s.margin||Jt.c4ShapeMargin,t.insert(s),dc.drawC4Shape(e,s,Jt)}t.bumpLastMargin(Jt.c4ShapeMargin)},"drawC4ShapeArray"),so=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},Ure=o(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new so(r,l):r==i&&na&&(p=new so(s,n)),r>i&&n=f?p=new so(r,l+f*t.width/2):p=new so(s-u/h*t.height/2,n+t.height):r=f?p=new so(r+t.width,l+f*t.width/2):p=new so(s+u/h*t.height/2,n+t.height):ra?d>=f?p=new so(r+t.width,l-f*t.width/2):p=new so(s+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new so(r,l-t.width/2*f):p=new so(s-t.height/2*u/h,n)),p},"getIntersectPoint"),kPe=o(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=Ure(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=Ure(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),EPe=o(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Jt.wrap,l=wPe(Jt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=xa(a.label.text,l);gc("label",a,s,l,h),a.techn&&a.techn.text!==""&&(h=xa(a.techn.text,l),gc("techn",a,s,l,h)),a.descr&&a.descr.text!==""&&(h=xa(a.descr.text,l),gc("descr",a,s,l,h));let f=r(a.from),d=r(a.to),p=kPe(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}dc.drawRels(t,e,Jt)},"drawRels");o(jre,"drawInsideBoundary");SPe=o(function(t,e,r,n){Jt=ve().c4;let i=ve().securityLevel,a;i==="sandbox"&&(a=je("#i"+e));let s=i==="sandbox"?je(a.nodes()[0].contentDocument.body):je("body"),l=n.db;n.db.setWrap(Jt.wrap),Wre=l.getC4ShapeInRow(),PN=l.getC4BoundaryInRow(),K.debug(`C:${JSON.stringify(Jt,null,2)}`);let u=i==="sandbox"?s.select(`[id="${e}"]`):je(`[id="${e}"]`);dc.insertComputerIcon(u),dc.insertDatabaseIcon(u),dc.insertClockIcon(u);let h=new Lk(n);h.setData(Jt.diagramMarginX,Jt.diagramMarginX,Jt.diagramMarginY,Jt.diagramMarginY),h.data.widthLimit=screen.availWidth,Dk=Jt.diagramMarginX,Rk=Jt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundaries("");jre(u,"",h,d,n),dc.insertArrowHead(u),dc.insertArrowEnd(u),dc.insertArrowCrossHead(u),dc.insertArrowFilledHead(u),EPe(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=Dk,h.data.stopy=Rk;let p=h.data,g=p.stopy-p.starty+2*Jt.diagramMarginY,v=p.stopx-p.startx+2*Jt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*Jt.diagramMarginX).attr("y",p.starty+Jt.diagramMarginY),Zr(u,g,v,Jt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-Jt.diagramMarginX+" -"+(Jt.diagramMarginY+x)+" "+v+" "+(g+x)),K.debug("models:",p)},"draw"),FN={drawPersonOrSystemArray:Yre,drawBoundary:Hre,setConf:BN,draw:SPe}});var CPe,Kre,Qre=O(()=>{"use strict";CPe=o(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } -`,"getStyles"),gre=qIe});var vre={};vr(vre,{diagram:()=>UIe});var UIe,xre=I(()=>{"use strict";sD();gD();mre();yre();UIe={parser:Uj,db:L2,renderer:kN,styles:gre,init:o(({c4:t,wrap:e})=>{kN.setConf(t),L2.setWrap(e)},"init")}});function Pre(t){return typeof t>"u"||t===null}function jIe(t){return typeof t=="object"&&t!==null}function XIe(t){return Array.isArray(t)?t:Pre(t)?[]:[t]}function KIe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rAPe});var APe,Jre=O(()=>{"use strict";TD();LD();Xre();Qre();APe={parser:EX,db:U2,renderer:FN,styles:Kre,init:o(({c4:t,wrap:e})=>{FN.setConf(t),U2.setWrap(e)},"init")}});function gne(t){return typeof t>"u"||t===null}function LPe(t){return typeof t=="object"&&t!==null}function NPe(t){return Array.isArray(t)?t:gne(t)?[]:[t]}function MPe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rl&&(a=" ... ",e=n-l+a.length),r-n>l&&(s=" ...",r=n+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:n-e+a.length}}function EN(t,e){return Qi.repeat(" ",e-t.length)+t}function aOe(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=SN(t.buffer,n[s-u],i[s-u],t.position-(n[s]-n[s-u]),d),l=Qi.repeat(" ",e.indent)+EN((t.line-u+1).toString(),f)+" | "+h.str+` -`+l;for(h=SN(t.buffer,n[s],i[s],t.position,d),l+=Qi.repeat(" ",e.indent)+EN((t.line+1).toString(),f)+" | "+h.str+` -`,l+=Qi.repeat("-",e.indent+f+3+h.pos)+`^ -`,u=1;u<=e.linesAfter&&!(s+u>=i.length);u++)h=SN(t.buffer,n[s+u],i[s+u],t.position-(n[s]-n[s+u]),d),l+=Qi.repeat(" ",e.indent)+EN((t.line+u+1).toString(),f)+" | "+h.str+` -`;return l.replace(/\n$/,"")}function cOe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}function uOe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(oOe.indexOf(r)===-1)throw new ro('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=cOe(e.styleAliases||null),lOe.indexOf(this.kind)===-1)throw new ro('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function Tre(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}function hOe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(o(n,"collectType"),e=0,r=arguments.length;e=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}function POe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Qi.isNegativeZero(t))return"-0.0";return r=t.toString(10),OOe.test(r)?r.replace("e",".e"):r}function BOe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Qi.isNegativeZero(t))}function zOe(t){return t===null?!1:$re.exec(t)!==null||zre.exec(t)!==null}function GOe(t){var e,r,n,i,a,s,l,u=0,h=null,f,d,p;if(e=$re.exec(t),e===null&&(e=zre.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}function VOe(t){return t.toISOString()}function UOe(t){return t==="<<"||t===null}function HOe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=NN;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}function YOe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=NN,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}function jOe(t){var e="",r=0,n,i,a=t.length,s=NN;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}function XOe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function JOe(t){if(t===null)return!0;var e=[],r,n,i,a,s,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}function vPe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Gre,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function jre(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=sOe(r),new ro(e,r)}function rr(t,e){throw jre(t,e)}function bk(t,e){t.onWarning&&t.onWarning.call(null,jre(t,e))}function Vf(t,e,r,n){var i,a,s,l;if(e1&&(t.result+=Qi.repeat(` -`,e-1))}function xPe(t,e,r){var n,i,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),no(m)||n1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),no(i)||r&&n1(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),no(i)||r&&n1(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),no(n))break}else{if(t.position===t.lineStart&&kk(t)||r&&n1(m))break;if(iu(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,zi(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Vf(t,a,s,!1),IN(t,t.line-u),a=s=t.position,l=!1),u0(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return Vf(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}function bPe(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Vf(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else iu(r)?(Vf(t,n,i,!0),IN(t,zi(t,!1,e)),n=i=t.position):t.position===t.lineStart&&kk(t)?rr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);rr(t,"unexpected end of the stream within a single quoted scalar")}function TPe(t,e){var r,n,i,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Vf(t,r,t.position,!0),t.position++,!0;if(l===92){if(Vf(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),iu(l))zi(t,!1,e);else if(l<256&&Hre[l])t.result+=Yre[l],t.position++;else if((s=mPe(l))>0){for(i=s,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(s=pPe(l))>=0?a=(a<<4)+s:rr(t,"expected hexadecimal character");t.result+=yPe(a),t.position++}else rr(t,"unknown escape sequence");r=n=t.position}else iu(l)?(Vf(t,r,n,!0),IN(t,zi(t,!1,e)),r=n=t.position):t.position===t.lineStart&&kk(t)?rr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}rr(t,"unexpected end of the stream within a double quoted scalar")}function wPe(t,e){var r=!0,n,i,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(zi(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&rr(t,"expected the node content, but found ','"):rr(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),no(h)&&(d=p=!0,t.position++,zi(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,a1(t,e,vk,!1,!0),v=t.tag,y=t.result,zi(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),zi(t,!0,e),a1(t,e,vk,!1,!0),x=t.result),m?i1(t,l,g,v,y,x,n,i,a):d?l.push(i1(t,null,g,v,y,x,n,i,a)):l.push(y),zi(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}rr(t,"unexpected end of the stream within a flow collection")}function kPe(t,e){var r,n,i=CN,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)CN===i?i=d===43?wre:uPe:rr(t,"repeat of a chomping mode identifier");else if((f=gPe(d))>=0)f===0?rr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?rr(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(u0(d)){do d=t.input.charCodeAt(++t.position);while(u0(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!iu(d)&&d!==0)}for(;d!==0;){for(MN(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),iu(d)){u++;continue}if(t.lineIndente)&&u!==0)rr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),a1(t,e,xk,!0,i)&&(v?g=t.result:y=t.result),v||(i1(t,d,p,m,g,y,s,l,u),m=g=y=null),zi(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)rr(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&rr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):rr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}function _Pe(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(zi(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!no(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&rr(t,"directive name must not be less than one character in length");s!==0;){for(;u0(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!iu(s));break}if(iu(s))break;for(r=t.position;s!==0&&!no(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&MN(t),qf.call(Ere,n)?Ere[n](t,n,i):bk(t,'unknown document directive "'+n+'"')}if(zi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,zi(t,!0,-1)):a&&rr(t,"directives end mark is expected"),a1(t,t.lineIndent-1,xk,!1,!0),zi(t,!0,-1),t.checkLineBreaks&&fPe.test(t.input.slice(e,t.position))&&bk(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&kk(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,zi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=Xre(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;il&&(a=" ... ",e=n-l+a.length),r-n>l&&(s=" ...",r=n+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:n-e+a.length}}function zN(t,e){return ra.repeat(" ",e-t.length)+t}function VPe(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=$N(t.buffer,n[s-u],i[s-u],t.position-(n[s]-n[s-u]),d),l=ra.repeat(" ",e.indent)+zN((t.line-u+1).toString(),f)+" | "+h.str+` +`+l;for(h=$N(t.buffer,n[s],i[s],t.position,d),l+=ra.repeat(" ",e.indent)+zN((t.line+1).toString(),f)+" | "+h.str+` +`,l+=ra.repeat("-",e.indent+f+3+h.pos)+`^ +`,u=1;u<=e.linesAfter&&!(s+u>=i.length);u++)h=$N(t.buffer,n[s+u],i[s+u],t.position-(n[s]-n[s+u]),d),l+=ra.repeat(" ",e.indent)+zN((t.line+u+1).toString(),f)+" | "+h.str+` +`;return l.replace(/\n$/,"")}function HPe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}function YPe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(UPe.indexOf(r)===-1)throw new oo('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=HPe(e.styleAliases||null),WPe.indexOf(this.kind)===-1)throw new oo('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function tne(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}function jPe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(o(n,"collectType"),e=0,r=arguments.length;e=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}function xBe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ra.isNegativeZero(t))return"-0.0";return r=t.toString(10),vBe.test(r)?r.replace("e",".e"):r}function bBe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ra.isNegativeZero(t))}function kBe(t){return t===null?!1:xne.exec(t)!==null||bne.exec(t)!==null}function EBe(t){var e,r,n,i,a,s,l,u=0,h=null,f,d,p;if(e=xne.exec(t),e===null&&(e=bne.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}function SBe(t){return t.toISOString()}function ABe(t){return t==="<<"||t===null}function DBe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=YN;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}function RBe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=YN,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}function LBe(t){var e="",r=0,n,i,a=t.length,s=YN;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}function NBe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function PBe(t){if(t===null)return!0;var e=[],r,n,i,a,s,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}function Cne(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}function tFe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Tne,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Dne(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=qPe(r),new oo(e,r)}function sr(t,e){throw Dne(t,e)}function Ik(t,e){t.onWarning&&t.onWarning.call(null,Dne(t,e))}function Yf(t,e,r,n){var i,a,s,l;if(e1&&(t.result+=ra.repeat(` +`,e-1))}function rFe(t,e,r){var n,i,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),lo(m)||u1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),lo(i)||r&&u1(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),lo(i)||r&&u1(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),lo(n))break}else{if(t.position===t.lineStart&&Bk(t)||r&&u1(m))break;if(fu(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,qi(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Yf(t,a,s,!1),XN(t,t.line-u),a=s=t.position,l=!1),p0(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return Yf(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}function nFe(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Yf(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else fu(r)?(Yf(t,n,i,!0),XN(t,qi(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Bk(t)?sr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);sr(t,"unexpected end of the stream within a single quoted scalar")}function iFe(t,e){var r,n,i,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Yf(t,r,t.position,!0),t.position++,!0;if(l===92){if(Yf(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),fu(l))qi(t,!1,e);else if(l<256&&Ane[l])t.result+=_ne[l],t.position++;else if((s=ZBe(l))>0){for(i=s,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(s=QBe(l))>=0?a=(a<<4)+s:sr(t,"expected hexadecimal character");t.result+=eFe(a),t.position++}else sr(t,"unknown escape sequence");r=n=t.position}else fu(l)?(Yf(t,r,n,!0),XN(t,qi(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Bk(t)?sr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}sr(t,"unexpected end of the stream within a double quoted scalar")}function aFe(t,e){var r=!0,n,i,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(qi(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&sr(t,"expected the node content, but found ','"):sr(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),lo(h)&&(d=p=!0,t.position++,qi(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,f1(t,e,Nk,!1,!0),v=t.tag,y=t.result,qi(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),qi(t,!0,e),f1(t,e,Nk,!1,!0),x=t.result),m?h1(t,l,g,v,y,x,n,i,a):d?l.push(h1(t,null,g,v,y,x,n,i,a)):l.push(y),qi(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}sr(t,"unexpected end of the stream within a flow collection")}function sFe(t,e){var r,n,i=GN,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)GN===i?i=d===43?rne:YBe:sr(t,"repeat of a chomping mode identifier");else if((f=JBe(d))>=0)f===0?sr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?sr(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(p0(d)){do d=t.input.charCodeAt(++t.position);while(p0(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!fu(d)&&d!==0)}for(;d!==0;){for(jN(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),fu(d)){u++;continue}if(t.lineIndente)&&u!==0)sr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),f1(t,e,Mk,!0,i)&&(v?g=t.result:y=t.result),v||(h1(t,d,p,m,g,y,s,l,u),m=g=y=null),qi(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)sr(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&sr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):sr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}function hFe(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(qi(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!lo(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&sr(t,"directive name must not be less than one character in length");s!==0;){for(;p0(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!fu(s));break}if(fu(s))break;for(r=t.position;s!==0&&!lo(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&jN(t),jf.call(ane,n)?ane[n](t,n,i):Ik(t,'unknown document directive "'+n+'"')}if(qi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,qi(t,!0,-1)):a&&sr(t,"directives end mark is expected"),f1(t,t.lineIndent-1,Mk,!1,!0),qi(t,!0,-1),t.checkLineBreaks&&XBe.test(t.input.slice(e,t.position))&&Ik(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Bk(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,qi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=Rne(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function ine(t){var e=/^\n* /;return e.test(t)}function iBe(t,e,r,n,i,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=rBe(Gx(t,0))&&nBe(Gx(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=Gx(t,u),!Wx(h))return r1;y=y&&Rre(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=Gx(t,u),h===qx)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!Wx(h))return r1;y=y&&Rre(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!s&&!i(t)?ane:a===Ux?r1:RN:r>9&&ine(t)?r1:s?a===Ux?r1:RN:p?one:sne}function aBe(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===Ux?'""':"''";if(!t.noCompatMode&&(XPe.indexOf(e)!==-1||KPe.test(e)))return t.quotingType===Ux?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return tBe(t,h)}switch(o(u,"testAmbiguity"),iBe(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!n,i)){case ane:return e;case RN:return"'"+e.replace(/'/g,"''")+"'";case sne:return"|"+Lre(e,t.indent)+Nre(_re(e,a));case one:return">"+Lre(e,t.indent)+Nre(_re(sBe(e,s),a));case r1:return'"'+oBe(e)+'"';default:throw new ro("impossible error: invalid scalar style")}})()}function Lre(t,e){var r=ine(t)?String(e):"",n=t[t.length-1]===` +`&&(a+=r),a+=s;return a}function UN(t,e){return` +`+ra.repeat(" ",t.indent*e)}function FFe(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function $ne(t){var e=/^\n* /;return e.test(t)}function GFe(t,e,r,n,i,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=$Fe(Jx(t,0))&&zFe(Jx(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=Jx(t,u),!nb(h))return c1;y=y&&une(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=Jx(t,u),h===tb)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!nb(h))return c1;y=y&&une(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!s&&!i(t)?zne:a===rb?c1:WN:r>9&&$ne(t)?c1:s?a===rb?c1:WN:p?Vne:Gne}function VFe(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===rb?'""':"''";if(!t.noCompatMode&&(NFe.indexOf(e)!==-1||MFe.test(e)))return t.quotingType===rb?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return FFe(t,h)}switch(o(u,"testAmbiguity"),GFe(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!n,i)){case zne:return e;case WN:return"'"+e.replace(/'/g,"''")+"'";case Gne:return"|"+hne(e,t.indent)+fne(lne(e,a));case Vne:return">"+hne(e,t.indent)+fne(lne(qFe(e,s),a));case c1:return'"'+UFe(e)+'"';default:throw new oo("impossible error: invalid scalar style")}})()}function hne(t,e){var r=$ne(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` -`}function Nre(t){return t[t.length-1]===` -`?t.slice(0,-1):t}function sBe(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var h=t.indexOf(` -`);return h=h!==-1?h:t.length,r.lastIndex=h,Mre(t.slice(0,h),e)})(),i=t[0]===` +`}function fne(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function qFe(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,dne(t.slice(0,h),e)})(),i=t[0]===` `||t[0]===" ",a,s;s=r.exec(t);){var l=s[1],u=s[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?` -`:"")+Mre(u,e),i=a}return n}function Mre(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=s>i?s:l,u+=` +`:"")+dne(u,e),i=a}return n}function dne(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=s>i?s:l,u+=` `+t.slice(i,a),i=a+1),s=l;return u+=` `,t.length-i>e&&s>i?u+=t.slice(i,s)+` -`+t.slice(s+1):u+=t.slice(i),u.slice(1)}function oBe(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=Gx(t,i),n=es[r],!n&&Wx(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||ZPe(r);return e}function lBe(t,e,r){var n="",i=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&Th(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}function Ire(t,e,r,n){var i="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&Th(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=DN(t,e)),t.dump&&qx===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}function cBe(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Th(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}function uBe(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new ro("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&qx===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=DN(t,e)),Th(t,e+1,f,!0,d)&&(t.dump&&qx===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}function Ore(t,e,r){var n,i,a,s,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}function Th(t,e,r,n,i,a,s){t.tag=null,t.dump=r,Ore(t,r,!1)||Ore(t,r,!0);var l=Qre.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(uBe(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(cBe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?Ire(t,e-1,t.dump,i):Ire(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(lBe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&aBe(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new ro("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}function hBe(t,e){var r=[],n=[],i,a;for(LN(t,r,n),i=0,a=n.length;i{"use strict";o(Pre,"isNothing");o(jIe,"isObject");o(XIe,"toArray");o(KIe,"extend");o(QIe,"repeat");o(ZIe,"isNegativeZero");JIe=Pre,eOe=jIe,tOe=XIe,rOe=QIe,nOe=ZIe,iOe=KIe,Qi={isNothing:JIe,isObject:eOe,toArray:tOe,repeat:rOe,isNegativeZero:nOe,extend:iOe};o(Bre,"formatError");o(Vx,"YAMLException$1");Vx.prototype=Object.create(Error.prototype);Vx.prototype.constructor=Vx;Vx.prototype.toString=o(function(e){return this.name+": "+Bre(this,e)},"toString");ro=Vx;o(SN,"getLine");o(EN,"padStart");o(aOe,"makeSnippet");sOe=aOe,oOe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],lOe=["scalar","sequence","mapping"];o(cOe,"compileStyleAliases");o(uOe,"Type$1");Ja=uOe;o(Tre,"compileList");o(hOe,"compileMap");o(AN,"Schema$1");AN.prototype.extend=o(function(e){var r=[],n=[];if(e instanceof Ja)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new ro("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof Ja))throw new ro("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new ro("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new ro("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(a){if(!(a instanceof Ja))throw new ro("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(AN.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=Tre(i,"implicit"),i.compiledExplicit=Tre(i,"explicit"),i.compiledTypeMap=hOe(i.compiledImplicit,i.compiledExplicit),i},"extend");fOe=AN,dOe=new Ja("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(t){return t!==null?t:""},"construct")}),pOe=new Ja("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(t){return t!==null?t:[]},"construct")}),mOe=new Ja("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(t){return t!==null?t:{}},"construct")}),gOe=new fOe({explicit:[dOe,pOe,mOe]});o(yOe,"resolveYamlNull");o(vOe,"constructYamlNull");o(xOe,"isNull");bOe=new Ja("tag:yaml.org,2002:null",{kind:"scalar",resolve:yOe,construct:vOe,predicate:xOe,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});o(TOe,"resolveYamlBoolean");o(wOe,"constructYamlBoolean");o(kOe,"isBoolean");SOe=new Ja("tag:yaml.org,2002:bool",{kind:"scalar",resolve:TOe,construct:wOe,predicate:kOe,represent:{lowercase:o(function(t){return t?"true":"false"},"lowercase"),uppercase:o(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});o(EOe,"isHexCode");o(COe,"isOctCode");o(AOe,"isDecCode");o(_Oe,"resolveYamlInteger");o(DOe,"constructYamlInteger");o(ROe,"isInteger");LOe=new Ja("tag:yaml.org,2002:int",{kind:"scalar",resolve:_Oe,construct:DOe,predicate:ROe,represent:{binary:o(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),NOe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");o(MOe,"resolveYamlFloat");o(IOe,"constructYamlFloat");OOe=/^[-+]?[0-9]+e/;o(POe,"representYamlFloat");o(BOe,"isFloat");FOe=new Ja("tag:yaml.org,2002:float",{kind:"scalar",resolve:MOe,construct:IOe,predicate:BOe,represent:POe,defaultStyle:"lowercase"}),Fre=gOe.extend({implicit:[bOe,SOe,LOe,FOe]}),$Oe=Fre,$re=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),zre=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");o(zOe,"resolveYamlTimestamp");o(GOe,"constructYamlTimestamp");o(VOe,"representYamlTimestamp");qOe=new Ja("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:zOe,construct:GOe,instanceOf:Date,represent:VOe});o(UOe,"resolveYamlMerge");WOe=new Ja("tag:yaml.org,2002:merge",{kind:"scalar",resolve:UOe}),NN=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;o(HOe,"resolveYamlBinary");o(YOe,"constructYamlBinary");o(jOe,"representYamlBinary");o(XOe,"isBinary");KOe=new Ja("tag:yaml.org,2002:binary",{kind:"scalar",resolve:HOe,construct:YOe,predicate:XOe,represent:jOe}),QOe=Object.prototype.hasOwnProperty,ZOe=Object.prototype.toString;o(JOe,"resolveYamlOmap");o(ePe,"constructYamlOmap");tPe=new Ja("tag:yaml.org,2002:omap",{kind:"sequence",resolve:JOe,construct:ePe}),rPe=Object.prototype.toString;o(nPe,"resolveYamlPairs");o(iPe,"constructYamlPairs");aPe=new Ja("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:nPe,construct:iPe}),sPe=Object.prototype.hasOwnProperty;o(oPe,"resolveYamlSet");o(lPe,"constructYamlSet");cPe=new Ja("tag:yaml.org,2002:set",{kind:"mapping",resolve:oPe,construct:lPe}),Gre=$Oe.extend({implicit:[qOe,WOe],explicit:[KOe,tPe,aPe,cPe]}),qf=Object.prototype.hasOwnProperty,vk=1,Vre=2,qre=3,xk=4,CN=1,uPe=2,wre=3,hPe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,fPe=/[\x85\u2028\u2029]/,dPe=/[,\[\]\{\}]/,Ure=/^(?:!|!!|![a-z\-]+!)$/i,Wre=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o(kre,"_class");o(iu,"is_EOL");o(u0,"is_WHITE_SPACE");o(no,"is_WS_OR_EOL");o(n1,"is_FLOW_INDICATOR");o(pPe,"fromHexCode");o(mPe,"escapedHexLen");o(gPe,"fromDecimalCode");o(Sre,"simpleEscapeSequence");o(yPe,"charFromCodepoint");Hre=new Array(256),Yre=new Array(256);for(c0=0;c0<256;c0++)Hre[c0]=Sre(c0)?1:0,Yre[c0]=Sre(c0);o(vPe,"State$1");o(jre,"generateError");o(rr,"throwError");o(bk,"throwWarning");Ere={YAML:o(function(e,r,n){var i,a,s;e.version!==null&&rr(e,"duplication of %YAML directive"),n.length!==1&&rr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&rr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&rr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&bk(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,n){var i,a;n.length!==2&&rr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],Ure.test(i)||rr(e,"ill-formed tag handle (first argument) of the TAG directive"),qf.call(e.tagMap,i)&&rr(e,'there is a previously declared suffix for "'+i+'" tag handle'),Wre.test(a)||rr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{rr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};o(Vf,"captureSegment");o(Cre,"mergeMappings");o(i1,"storeMappingPair");o(MN,"readLineBreak");o(zi,"skipSeparationSpace");o(kk,"testDocumentSeparator");o(IN,"writeFoldedLines");o(xPe,"readPlainScalar");o(bPe,"readSingleQuotedScalar");o(TPe,"readDoubleQuotedScalar");o(wPe,"readFlowCollection");o(kPe,"readBlockScalar");o(Are,"readBlockSequence");o(SPe,"readBlockMapping");o(EPe,"readTagProperty");o(CPe,"readAnchorProperty");o(APe,"readAlias");o(a1,"composeNode");o(_Pe,"readDocument");o(Xre,"loadDocuments");o(DPe,"loadAll$1");o(RPe,"load$1");LPe=DPe,NPe=RPe,Kre={loadAll:LPe,load:NPe},Qre=Object.prototype.toString,Zre=Object.prototype.hasOwnProperty,ON=65279,MPe=9,qx=10,IPe=13,OPe=32,PPe=33,BPe=34,_N=35,FPe=37,$Pe=38,zPe=39,GPe=42,Jre=44,VPe=45,Tk=58,qPe=61,UPe=62,WPe=63,HPe=64,ene=91,tne=93,YPe=96,rne=123,jPe=124,nne=125,es={};es[0]="\\0";es[7]="\\a";es[8]="\\b";es[9]="\\t";es[10]="\\n";es[11]="\\v";es[12]="\\f";es[13]="\\r";es[27]="\\e";es[34]='\\"';es[92]="\\\\";es[133]="\\N";es[160]="\\_";es[8232]="\\L";es[8233]="\\P";XPe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],KPe=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;o(QPe,"compileStyleMap");o(ZPe,"encodeHex");JPe=1,Ux=2;o(eBe,"State");o(_re,"indentString");o(DN,"generateNextLine");o(tBe,"testImplicitResolving");o(wk,"isWhitespace");o(Wx,"isPrintable");o(Dre,"isNsCharOrWhitespace");o(Rre,"isPlainSafe");o(rBe,"isPlainSafeFirst");o(nBe,"isPlainSafeLast");o(Gx,"codePointAt");o(ine,"needIndentIndicator");ane=1,RN=2,sne=3,one=4,r1=5;o(iBe,"chooseScalarStyle");o(aBe,"writeScalar");o(Lre,"blockHeader");o(Nre,"dropEndingNewline");o(sBe,"foldString");o(Mre,"foldLine");o(oBe,"escapeString");o(lBe,"writeFlowSequence");o(Ire,"writeBlockSequence");o(cBe,"writeFlowMapping");o(uBe,"writeBlockMapping");o(Ore,"detectType");o(Th,"writeNode");o(hBe,"getDuplicateReferences");o(LN,"inspectNode");o(fBe,"dump$1");dBe=fBe,pBe={dump:dBe};o(PN,"renamed");Uf=Fre,Wf=Kre.load,RLt=Kre.loadAll,LLt=pBe.dump,NLt=PN("safeLoad","load"),MLt=PN("safeLoadAll","loadAll"),ILt=PN("safeDump","dump")});function zN(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function dne(t){f0=t}function gn(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:o((i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(As.caret,"$1"),r=r.replace(i,s),n},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return n}function au(t,e){if(e){if(As.escapeTest.test(t))return t.replace(As.escapeReplace,cne)}else if(As.escapeTestNoEncode.test(t))return t.replace(As.escapeReplaceNoEncode,cne);return t}function une(t){try{t=encodeURI(t).replace(As.percentDecode,"%")}catch{return null}return t}function hne(t,e){let r=t.replace(As.findPipe,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(As.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function fne(t,e,r,n,i){let a=e.href,s=e.title||null,l=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let u={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:l,tokens:n.inlineTokens(l)};return n.state.inLink=!1,u}function XBe(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` +`+t.slice(s+1):u+=t.slice(i),u.slice(1)}function UFe(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=Jx(t,i),n=ts[r],!n&&nb(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||OFe(r);return e}function WFe(t,e,r){var n="",i=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&Sh(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}function pne(t,e,r,n){var i="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&Sh(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=UN(t,e)),t.dump&&tb===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}function HFe(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Sh(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}function YFe(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new oo("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&tb===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=UN(t,e)),Sh(t,e+1,f,!0,d)&&(t.dump&&tb===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}function mne(t,e,r){var n,i,a,s,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}function Sh(t,e,r,n,i,a,s){t.tag=null,t.dump=r,mne(t,r,!1)||mne(t,r,!0);var l=Nne.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(YFe(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(HFe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?pne(t,e-1,t.dump,i):pne(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(WFe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&VFe(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new oo("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}function jFe(t,e){var r=[],n=[],i,a;for(HN(t,r,n),i=0,a=n.length;i{"use strict";o(gne,"isNothing");o(LPe,"isObject");o(NPe,"toArray");o(MPe,"extend");o(IPe,"repeat");o(OPe,"isNegativeZero");PPe=gne,BPe=LPe,FPe=NPe,$Pe=IPe,zPe=OPe,GPe=MPe,ra={isNothing:PPe,isObject:BPe,toArray:FPe,repeat:$Pe,isNegativeZero:zPe,extend:GPe};o(yne,"formatError");o(eb,"YAMLException$1");eb.prototype=Object.create(Error.prototype);eb.prototype.constructor=eb;eb.prototype.toString=o(function(e){return this.name+": "+yne(this,e)},"toString");oo=eb;o($N,"getLine");o(zN,"padStart");o(VPe,"makeSnippet");qPe=VPe,UPe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],WPe=["scalar","sequence","mapping"];o(HPe,"compileStyleAliases");o(YPe,"Type$1");es=YPe;o(tne,"compileList");o(jPe,"compileMap");o(VN,"Schema$1");VN.prototype.extend=o(function(e){var r=[],n=[];if(e instanceof es)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new oo("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof es))throw new oo("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new oo("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new oo("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(a){if(!(a instanceof es))throw new oo("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(VN.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=tne(i,"implicit"),i.compiledExplicit=tne(i,"explicit"),i.compiledTypeMap=jPe(i.compiledImplicit,i.compiledExplicit),i},"extend");XPe=VN,KPe=new es("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(t){return t!==null?t:""},"construct")}),QPe=new es("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(t){return t!==null?t:[]},"construct")}),ZPe=new es("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(t){return t!==null?t:{}},"construct")}),JPe=new XPe({explicit:[KPe,QPe,ZPe]});o(eBe,"resolveYamlNull");o(tBe,"constructYamlNull");o(rBe,"isNull");nBe=new es("tag:yaml.org,2002:null",{kind:"scalar",resolve:eBe,construct:tBe,predicate:rBe,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});o(iBe,"resolveYamlBoolean");o(aBe,"constructYamlBoolean");o(sBe,"isBoolean");oBe=new es("tag:yaml.org,2002:bool",{kind:"scalar",resolve:iBe,construct:aBe,predicate:sBe,represent:{lowercase:o(function(t){return t?"true":"false"},"lowercase"),uppercase:o(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});o(lBe,"isHexCode");o(cBe,"isOctCode");o(uBe,"isDecCode");o(hBe,"resolveYamlInteger");o(fBe,"constructYamlInteger");o(dBe,"isInteger");pBe=new es("tag:yaml.org,2002:int",{kind:"scalar",resolve:hBe,construct:fBe,predicate:dBe,represent:{binary:o(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),mBe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");o(gBe,"resolveYamlFloat");o(yBe,"constructYamlFloat");vBe=/^[-+]?[0-9]+e/;o(xBe,"representYamlFloat");o(bBe,"isFloat");TBe=new es("tag:yaml.org,2002:float",{kind:"scalar",resolve:gBe,construct:yBe,predicate:bBe,represent:xBe,defaultStyle:"lowercase"}),vne=JPe.extend({implicit:[nBe,oBe,pBe,TBe]}),wBe=vne,xne=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),bne=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");o(kBe,"resolveYamlTimestamp");o(EBe,"constructYamlTimestamp");o(SBe,"representYamlTimestamp");CBe=new es("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:kBe,construct:EBe,instanceOf:Date,represent:SBe});o(ABe,"resolveYamlMerge");_Be=new es("tag:yaml.org,2002:merge",{kind:"scalar",resolve:ABe}),YN=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;o(DBe,"resolveYamlBinary");o(RBe,"constructYamlBinary");o(LBe,"representYamlBinary");o(NBe,"isBinary");MBe=new es("tag:yaml.org,2002:binary",{kind:"scalar",resolve:DBe,construct:RBe,predicate:NBe,represent:LBe}),IBe=Object.prototype.hasOwnProperty,OBe=Object.prototype.toString;o(PBe,"resolveYamlOmap");o(BBe,"constructYamlOmap");FBe=new es("tag:yaml.org,2002:omap",{kind:"sequence",resolve:PBe,construct:BBe}),$Be=Object.prototype.toString;o(zBe,"resolveYamlPairs");o(GBe,"constructYamlPairs");VBe=new es("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:zBe,construct:GBe}),qBe=Object.prototype.hasOwnProperty;o(UBe,"resolveYamlSet");o(WBe,"constructYamlSet");HBe=new es("tag:yaml.org,2002:set",{kind:"mapping",resolve:UBe,construct:WBe}),Tne=wBe.extend({implicit:[CBe,_Be],explicit:[MBe,FBe,VBe,HBe]}),jf=Object.prototype.hasOwnProperty,Nk=1,wne=2,kne=3,Mk=4,GN=1,YBe=2,rne=3,jBe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,XBe=/[\x85\u2028\u2029]/,KBe=/[,\[\]\{\}]/,Ene=/^(?:!|!!|![a-z\-]+!)$/i,Sne=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o(nne,"_class");o(fu,"is_EOL");o(p0,"is_WHITE_SPACE");o(lo,"is_WS_OR_EOL");o(u1,"is_FLOW_INDICATOR");o(QBe,"fromHexCode");o(ZBe,"escapedHexLen");o(JBe,"fromDecimalCode");o(ine,"simpleEscapeSequence");o(eFe,"charFromCodepoint");o(Cne,"setProperty");Ane=new Array(256),_ne=new Array(256);for(d0=0;d0<256;d0++)Ane[d0]=ine(d0)?1:0,_ne[d0]=ine(d0);o(tFe,"State$1");o(Dne,"generateError");o(sr,"throwError");o(Ik,"throwWarning");ane={YAML:o(function(e,r,n){var i,a,s;e.version!==null&&sr(e,"duplication of %YAML directive"),n.length!==1&&sr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&sr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&sr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&Ik(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,n){var i,a;n.length!==2&&sr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],Ene.test(i)||sr(e,"ill-formed tag handle (first argument) of the TAG directive"),jf.call(e.tagMap,i)&&sr(e,'there is a previously declared suffix for "'+i+'" tag handle'),Sne.test(a)||sr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{sr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};o(Yf,"captureSegment");o(sne,"mergeMappings");o(h1,"storeMappingPair");o(jN,"readLineBreak");o(qi,"skipSeparationSpace");o(Bk,"testDocumentSeparator");o(XN,"writeFoldedLines");o(rFe,"readPlainScalar");o(nFe,"readSingleQuotedScalar");o(iFe,"readDoubleQuotedScalar");o(aFe,"readFlowCollection");o(sFe,"readBlockScalar");o(one,"readBlockSequence");o(oFe,"readBlockMapping");o(lFe,"readTagProperty");o(cFe,"readAnchorProperty");o(uFe,"readAlias");o(f1,"composeNode");o(hFe,"readDocument");o(Rne,"loadDocuments");o(fFe,"loadAll$1");o(dFe,"load$1");pFe=fFe,mFe=dFe,Lne={loadAll:pFe,load:mFe},Nne=Object.prototype.toString,Mne=Object.prototype.hasOwnProperty,KN=65279,gFe=9,tb=10,yFe=13,vFe=32,xFe=33,bFe=34,qN=35,TFe=37,wFe=38,kFe=39,EFe=42,Ine=44,SFe=45,Ok=58,CFe=61,AFe=62,_Fe=63,DFe=64,One=91,Pne=93,RFe=96,Bne=123,LFe=124,Fne=125,ts={};ts[0]="\\0";ts[7]="\\a";ts[8]="\\b";ts[9]="\\t";ts[10]="\\n";ts[11]="\\v";ts[12]="\\f";ts[13]="\\r";ts[27]="\\e";ts[34]='\\"';ts[92]="\\\\";ts[133]="\\N";ts[160]="\\_";ts[8232]="\\L";ts[8233]="\\P";NFe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],MFe=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;o(IFe,"compileStyleMap");o(OFe,"encodeHex");PFe=1,rb=2;o(BFe,"State");o(lne,"indentString");o(UN,"generateNextLine");o(FFe,"testImplicitResolving");o(Pk,"isWhitespace");o(nb,"isPrintable");o(cne,"isNsCharOrWhitespace");o(une,"isPlainSafe");o($Fe,"isPlainSafeFirst");o(zFe,"isPlainSafeLast");o(Jx,"codePointAt");o($ne,"needIndentIndicator");zne=1,WN=2,Gne=3,Vne=4,c1=5;o(GFe,"chooseScalarStyle");o(VFe,"writeScalar");o(hne,"blockHeader");o(fne,"dropEndingNewline");o(qFe,"foldString");o(dne,"foldLine");o(UFe,"escapeString");o(WFe,"writeFlowSequence");o(pne,"writeBlockSequence");o(HFe,"writeFlowMapping");o(YFe,"writeBlockMapping");o(mne,"detectType");o(Sh,"writeNode");o(jFe,"getDuplicateReferences");o(HN,"inspectNode");o(XFe,"dump$1");KFe=XFe,QFe={dump:KFe};o(QN,"renamed");Xf=vne,Kf=Lne.load,EMt=Lne.loadAll,SMt=QFe.dump,CMt=QN("safeLoad","load"),AMt=QN("safeLoadAll","loadAll"),_Mt=QN("safeDump","dump")});function tM(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function jne(t){g0=t}function bn(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:o((i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(Ds.caret,"$1"),r=r.replace(i,s),n},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return n}function du(t,e){if(e){if(Ds.escapeTest.test(t))return t.replace(Ds.escapeReplace,Une)}else if(Ds.escapeTestNoEncode.test(t))return t.replace(Ds.escapeReplaceNoEncode,Une);return t}function Wne(t){try{t=encodeURI(t).replace(Ds.percentDecode,"%")}catch{return null}return t}function Hne(t,e){let r=t.replace(Ds.findPipe,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(Ds.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function Yne(t,e,r,n,i){let a=e.href,s=e.title||null,l=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let u={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:l,tokens:n.inlineTokens(l)};return n.state.inLink=!1,u}function N$e(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` `).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[l]=s;return l.length>=i.length?a.slice(i.length):a}).join(` -`)}function dn(t,e){return h0.parse(t,e)}var f0,Kx,As,mBe,gBe,yBe,Qx,vBe,GN,pne,mne,xBe,VN,bBe,qN,TBe,wBe,Dk,UN,kBe,gne,SBe,WN,lne,EBe,CBe,ABe,_Be,yne,DBe,Rk,HN,vne,RBe,xne,LBe,NBe,MBe,bne,IBe,OBe,Tne,PBe,BBe,FBe,$Be,zBe,GBe,VBe,Ck,qBe,wne,kne,UBe,YN,WBe,BN,HBe,Ek,Yx,YBe,cne,Ak,wh,_k,jN,kh,Xx,KBe,h0,PLt,BLt,FLt,$Lt,zLt,GLt,VLt,Sne=I(()=>{"use strict";o(zN,"L");f0=zN();o(dne,"G");Kx={exec:o(()=>null,"exec")};o(gn,"h");As={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o(t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),"headingBeginRegex"),htmlBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},mBe=/^(?:[ \t]*(?:\n|$))+/,gBe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,yBe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Qx=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,vBe=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,GN=/(?:[*+-]|\d{1,9}[.)])/,pne=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,mne=gn(pne).replace(/bull/g,GN).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(),xBe=gn(pne).replace(/bull/g,GN).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(),VN=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,bBe=/^[^\n]+/,qN=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,TBe=gn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",qN).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),wBe=gn(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,GN).getRegex(),Dk="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",UN=/|$))/,kBe=gn("^ {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",UN).replace("tag",Dk).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),gne=gn(VN).replace("hr",Qx).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",Dk).getRegex(),SBe=gn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",gne).getRegex(),WN={blockquote:SBe,code:gBe,def:TBe,fences:yBe,heading:vBe,hr:Qx,html:kBe,lheading:mne,list:wBe,newline:mBe,paragraph:gne,table:Kx,text:bBe},lne=gn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Qx).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",Dk).getRegex(),EBe={...WN,lheading:xBe,table:lne,paragraph:gn(VN).replace("hr",Qx).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",lne).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",Dk).getRegex()},CBe={...WN,html:gn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",UN).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:Kx,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:gn(VN).replace("hr",Qx).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",mne).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ABe=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_Be=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,yne=/^( {2,}|\\)\n(?!\s*$)/,DBe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,bne=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,IBe=gn(bne,"u").replace(/punct/g,Rk).getRegex(),OBe=gn(bne,"u").replace(/punct/g,xne).getRegex(),Tne="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",PBe=gn(Tne,"gu").replace(/notPunctSpace/g,vne).replace(/punctSpace/g,HN).replace(/punct/g,Rk).getRegex(),BBe=gn(Tne,"gu").replace(/notPunctSpace/g,NBe).replace(/punctSpace/g,LBe).replace(/punct/g,xne).getRegex(),FBe=gn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,vne).replace(/punctSpace/g,HN).replace(/punct/g,Rk).getRegex(),$Be=gn(/\\(punct)/,"gu").replace(/punct/g,Rk).getRegex(),zBe=gn(/^<(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(),GBe=gn(UN).replace("(?:-->|$)","-->").getRegex(),VBe=gn("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",GBe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ck=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,qBe=gn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Ck).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),wne=gn(/^!?\[(label)\]\[(ref)\]/).replace("label",Ck).replace("ref",qN).getRegex(),kne=gn(/^!?\[(ref)\](?:\[\])?/).replace("ref",qN).getRegex(),UBe=gn("reflink|nolink(?!\\()","g").replace("reflink",wne).replace("nolink",kne).getRegex(),YN={_backpedal:Kx,anyPunctuation:$Be,autolink:zBe,blockSkip:MBe,br:yne,code:_Be,del:Kx,emStrongLDelim:IBe,emStrongRDelimAst:PBe,emStrongRDelimUnd:FBe,escape:ABe,link:qBe,nolink:kne,punctuation:RBe,reflink:wne,reflinkSearch:UBe,tag:VBe,text:DBe,url:Kx},WBe={...YN,link:gn(/^!?\[(label)\]\((.*?)\)/).replace("label",Ck).getRegex(),reflink:gn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ck).getRegex()},BN={...YN,emStrongRDelimAst:BBe,emStrongLDelim:OBe,url:gn(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},cne=o(t=>YBe[t],"ke");o(au,"w");o(une,"J");o(hne,"V");o(jx,"z");o(jBe,"ge");o(fne,"fe");o(XBe,"Je");Ak=class{static{o(this,"y")}options;rules;lexer;constructor(t){this.options=t||f0}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:jx(r,` -`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let r=e[0],n=XBe(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let n=jx(r,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(r=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:jx(e[0],` -`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let r=jx(e[0],` +`)}function yn(t,e){return m0.parse(t,e)}var g0,lb,Ds,ZFe,JFe,e$e,cb,t$e,rM,Xne,Kne,r$e,nM,n$e,iM,i$e,a$e,qk,aM,s$e,Qne,o$e,sM,qne,l$e,c$e,u$e,h$e,Zne,f$e,Uk,oM,Jne,d$e,eie,p$e,m$e,g$e,tie,y$e,v$e,rie,x$e,b$e,T$e,w$e,k$e,E$e,S$e,zk,C$e,nie,iie,A$e,lM,_$e,ZN,D$e,$k,ab,R$e,Une,Gk,Ch,Vk,cM,Ah,ob,M$e,m0,RMt,LMt,NMt,MMt,IMt,OMt,PMt,aie=O(()=>{"use strict";o(tM,"L");g0=tM();o(jne,"G");lb={exec:o(()=>null,"exec")};o(bn,"h");Ds={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o(t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),"headingBeginRegex"),htmlBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},ZFe=/^(?:[ \t]*(?:\n|$))+/,JFe=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,e$e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,cb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,t$e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,rM=/(?:[*+-]|\d{1,9}[.)])/,Xne=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Kne=bn(Xne).replace(/bull/g,rM).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(),r$e=bn(Xne).replace(/bull/g,rM).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(),nM=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,n$e=/^[^\n]+/,iM=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,i$e=bn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",iM).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),a$e=bn(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,rM).getRegex(),qk="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",aM=/|$))/,s$e=bn("^ {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",aM).replace("tag",qk).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Qne=bn(nM).replace("hr",cb).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",qk).getRegex(),o$e=bn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qne).getRegex(),sM={blockquote:o$e,code:JFe,def:i$e,fences:e$e,heading:t$e,hr:cb,html:s$e,lheading:Kne,list:a$e,newline:ZFe,paragraph:Qne,table:lb,text:n$e},qne=bn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",cb).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",qk).getRegex(),l$e={...sM,lheading:r$e,table:qne,paragraph:bn(nM).replace("hr",cb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",qne).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",qk).getRegex()},c$e={...sM,html:bn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",aM).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:lb,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:bn(nM).replace("hr",cb).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Kne).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},u$e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,h$e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Zne=/^( {2,}|\\)\n(?!\s*$)/,f$e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,tie=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,y$e=bn(tie,"u").replace(/punct/g,Uk).getRegex(),v$e=bn(tie,"u").replace(/punct/g,eie).getRegex(),rie="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",x$e=bn(rie,"gu").replace(/notPunctSpace/g,Jne).replace(/punctSpace/g,oM).replace(/punct/g,Uk).getRegex(),b$e=bn(rie,"gu").replace(/notPunctSpace/g,m$e).replace(/punctSpace/g,p$e).replace(/punct/g,eie).getRegex(),T$e=bn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Jne).replace(/punctSpace/g,oM).replace(/punct/g,Uk).getRegex(),w$e=bn(/\\(punct)/,"gu").replace(/punct/g,Uk).getRegex(),k$e=bn(/^<(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(),E$e=bn(aM).replace("(?:-->|$)","-->").getRegex(),S$e=bn("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",E$e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),zk=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,C$e=bn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",zk).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),nie=bn(/^!?\[(label)\]\[(ref)\]/).replace("label",zk).replace("ref",iM).getRegex(),iie=bn(/^!?\[(ref)\](?:\[\])?/).replace("ref",iM).getRegex(),A$e=bn("reflink|nolink(?!\\()","g").replace("reflink",nie).replace("nolink",iie).getRegex(),lM={_backpedal:lb,anyPunctuation:w$e,autolink:k$e,blockSkip:g$e,br:Zne,code:h$e,del:lb,emStrongLDelim:y$e,emStrongRDelimAst:x$e,emStrongRDelimUnd:T$e,escape:u$e,link:C$e,nolink:iie,punctuation:d$e,reflink:nie,reflinkSearch:A$e,tag:S$e,text:f$e,url:lb},_$e={...lM,link:bn(/^!?\[(label)\]\((.*?)\)/).replace("label",zk).getRegex(),reflink:bn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",zk).getRegex()},ZN={...lM,emStrongRDelimAst:b$e,emStrongLDelim:v$e,url:bn(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},Une=o(t=>R$e[t],"ke");o(du,"w");o(Wne,"J");o(Hne,"V");o(sb,"z");o(L$e,"ge");o(Yne,"fe");o(N$e,"Je");Gk=class{static{o(this,"y")}options;rules;lexer;constructor(t){this.options=t||g0}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:sb(r,` +`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let r=e[0],n=N$e(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let n=sb(r,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(r=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:sb(e[0],` +`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let r=sb(e[0],` `).split(` `),n="",i="",a=[];for(;r.length>0;){let s=!1,l=[],u;for(u=0;u" ".repeat(3*x.length)),p=t.split(` `,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=e[1].length+1:(g=e[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,f=d.slice(g),g+=e[1].length),m&&this.rules.other.blankLine.test(p)&&(h+=p+` `,t=t.substring(p.length+1),u=!0),!u){let x=this.rules.other.nextBulletRegex(g),b=this.rules.other.hrRegex(g),T=this.rules.other.fencesBeginRegex(g),E=this.rules.other.headingBeginRegex(g),w=this.rules.other.htmlBeginRegex(g);for(;t;){let k=t.split(` -`,1)[0],C;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),C=p):C=p.replace(this.rules.other.tabCharGlobal," "),T.test(p)||E.test(p)||w.test(p)||x.test(p)||b.test(p))break;if(C.search(this.rules.other.nonSpaceChar)>=g||!p.trim())f+=` -`+C.slice(g);else{if(m||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||T.test(d)||E.test(d)||b.test(d))break;f+=` +`,1)[0],S;if(p=k,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),S=p):S=p.replace(this.rules.other.tabCharGlobal," "),T.test(p)||E.test(p)||w.test(p)||x.test(p)||b.test(p))break;if(S.search(this.rules.other.nonSpaceChar)>=g||!p.trim())f+=` +`+S.slice(g);else{if(m||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||T.test(d)||E.test(d)||b.test(d))break;f+=` `+p}!m&&!p.trim()&&(m=!0),h+=k+` -`,t=t.substring(k.length+1),d=C.slice(g)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(s=!0));let y=null,v;this.options.gfm&&(y=this.rules.other.listIsTask.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),i.raw+=h}let l=i.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=f}if(i.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[u]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let r=e[1].charAt(e[1].length-1)===` -`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let a=jx(r.slice(0,-1),"\\");if((r.length-a.length)%2===0)return}else{let a=jBe(e[2],"()");if(a===-2)return;if(a>-1){let s=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,s).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(n);a&&(n=a[1],i=a[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?n=n.slice(1):n=n.slice(1,-1)),fne(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let n=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[n.toLowerCase()];if(!i){let a=r[0].charAt(0);return{type:"text",raw:a,text:a}}return fne(r,i,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!(!n||n[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[2])||!r||this.rules.inline.punctuation.exec(r))){let i=[...n[0]].length-1,a,s,l=i,u=0,h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*t.length+i);(n=h.exec(e))!=null;){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(s=[...a].length,n[3]||n[4]){l+=s;continue}else if((n[5]||n[6])&&i%3&&!((i+s)%3)){u+=s;continue}if(l-=s,l>0)continue;s=Math.min(s,s+l+u);let f=[...n[0]][0].length,d=t.slice(0,i+n.index+f+s);if(Math.min(i,s)%2){let m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(r),i=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return n&&i&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let r,n;return e[2]==="@"?(r=e[1],n="mailto:"+r):(r=e[1],n=r),{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let r,n;if(e[2]==="@")r=e[0],n="mailto:"+r;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);r=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},wh=class FN{static{o(this,"l")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||f0,this.options.tokenizer=this.options.tokenizer||new Ak,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:As,block:Ek.normal,inline:Yx.normal};this.options.pedantic?(r.block=Ek.pedantic,r.inline=Yx.pedantic):this.options.gfm&&(r.block=Ek.gfm,this.options.breaks?r.inline=Yx.breaks:r.inline=Yx.gfm),this.tokenizer.rules=r}static get rules(){return{block:Ek,inline:Yx}}static lex(e,r){return new FN(r).lex(e)}static lexInline(e,r){return new FN(r).inlineTokens(e)}lex(e){e=e.replace(As.carriageReturn,` -`),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` +`,t=t.substring(k.length+1),d=S.slice(g)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(s=!0));let y=null,v;this.options.gfm&&(y=this.rules.other.listIsTask.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),i.raw+=h}let l=i.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=f}if(i.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[u]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let r=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let a=sb(r.slice(0,-1),"\\");if((r.length-a.length)%2===0)return}else{let a=L$e(e[2],"()");if(a===-2)return;if(a>-1){let s=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,s).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(n);a&&(n=a[1],i=a[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?n=n.slice(1):n=n.slice(1,-1)),Yne(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let n=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[n.toLowerCase()];if(!i){let a=r[0].charAt(0);return{type:"text",raw:a,text:a}}return Yne(r,i,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!(!n||n[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[2])||!r||this.rules.inline.punctuation.exec(r))){let i=[...n[0]].length-1,a,s,l=i,u=0,h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*t.length+i);(n=h.exec(e))!=null;){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(s=[...a].length,n[3]||n[4]){l+=s;continue}else if((n[5]||n[6])&&i%3&&!((i+s)%3)){u+=s;continue}if(l-=s,l>0)continue;s=Math.min(s,s+l+u);let f=[...n[0]][0].length,d=t.slice(0,i+n.index+f+s);if(Math.min(i,s)%2){let m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(r),i=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return n&&i&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let r,n;return e[2]==="@"?(r=e[1],n="mailto:"+r):(r=e[1],n=r),{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let r,n;if(e[2]==="@")r=e[0],n="mailto:"+r;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);r=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},Ch=class JN{static{o(this,"l")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||g0,this.options.tokenizer=this.options.tokenizer||new Gk,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:Ds,block:$k.normal,inline:ab.normal};this.options.pedantic?(r.block=$k.pedantic,r.inline=ab.pedantic):this.options.gfm&&(r.block=$k.gfm,this.options.breaks?r.inline=ab.breaks:r.inline=ab.gfm),this.tokenizer.rules=r}static get rules(){return{block:$k,inline:ab}}static lex(e,r){return new JN(r).lex(e)}static lexInline(e,r){return new JN(r).inlineTokens(e)}lex(e){e=e.replace(Ds.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` `:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` `)+i.raw,s.text+=` @@ -422,16 +422,16 @@ ${f}`:f;let d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="text"?(s.raw+=(s.raw.endsWith(` `)?"":` `)+i.raw,s.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,s="";for(;e;){a||(s=""),a=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,s)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,f=e.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},f),typeof d=="number"&&d>=0&&(h=Math.min(h,d))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(s=l.raw.slice(-1)),a=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},_k=class{static{o(this,"P")}options;parser;constructor(t){this.options=t||f0}space(t){return""}code({text:t,lang:e,escaped:r}){let n=(e||"").match(As.notSpaceStart)?.[0],i=t.replace(As.endingNewline,"")+` -`;return n?'
    '+(r?i:au(i,!0))+`
    -`:"
    "+(r?i:au(i,!0))+`
    +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,s="";for(;e;){a||(s=""),a=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,s)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,f=e.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},f),typeof d=="number"&&d>=0&&(h=Math.min(h,d))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(s=l.raw.slice(-1)),a=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},Vk=class{static{o(this,"P")}options;parser;constructor(t){this.options=t||g0}space(t){return""}code({text:t,lang:e,escaped:r}){let n=(e||"").match(Ds.notSpaceStart)?.[0],i=t.replace(Ds.endingNewline,"")+` +`;return n?'
    '+(r?i:du(i,!0))+`
    +`:"
    "+(r?i:du(i,!0))+`
    `}blockquote({tokens:t}){return`
    ${this.parser.parse(t)}
    `}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)} `}hr(t){return`
    `}list(t){let e=t.ordered,r=t.start,n="";for(let s=0;s `+n+" -`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=r+" "+au(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
  • ${e}
  • +`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=r+" "+du(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
  • ${e}
  • `}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

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

    An error occurred:

    "+au(r.message+"",!0)+"
    ";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},h0=new KBe;o(dn,"d");dn.options=dn.setOptions=function(t){return h0.setOptions(t),dn.defaults=h0.defaults,dne(dn.defaults),dn};dn.getDefaults=zN;dn.defaults=f0;dn.use=function(...t){return h0.use(...t),dn.defaults=h0.defaults,dne(dn.defaults),dn};dn.walkTokens=function(t,e){return h0.walkTokens(t,e)};dn.parseInline=h0.parseInline;dn.Parser=kh;dn.parser=kh.parse;dn.Renderer=_k;dn.TextRenderer=jN;dn.Lexer=wh;dn.lexer=wh.lex;dn.Tokenizer=Ak;dn.Hooks=Xx;dn.parse=dn;PLt=dn.options,BLt=dn.setOptions,FLt=dn.use,$Lt=dn.walkTokens,zLt=dn.parseInline,GLt=kh.parse,VLt=wh.lex});function QBe(t,{markdownAutoWrap:e}){let n=t.replace(//g,` +`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${du(t,!0)}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:r}){let n=this.parser.parseInline(r),i=Wne(t);if(i===null)return n;t=i;let a='
    ",a}image({href:t,title:e,text:r,tokens:n}){n&&(r=this.parser.parseInline(n,this.parser.textRenderer));let i=Wne(t);if(i===null)return du(r);t=i;let a=`${r}{let s=i[a].flat(1/0);r=r.concat(this.walkTokens(s,e))}):i.tokens&&(r=r.concat(this.walkTokens(i.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(r=>{let n={...r};if(n.async=this.defaults.async||n.async||!1,r.extensions&&(r.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let a=e.renderers[i.name];a?e.renderers[i.name]=function(...s){let l=i.renderer.apply(this,s);return l===!1&&(l=a.apply(this,s)),l}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[i.level];a?a.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),n.extensions=e),r.renderer){let i=this.defaults.renderer||new Vk(this.defaults);for(let a in r.renderer){if(!(a in i))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let s=a,l=r.renderer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f||""}}n.renderer=i}if(r.tokenizer){let i=this.defaults.tokenizer||new Gk(this.defaults);for(let a in r.tokenizer){if(!(a in i))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let s=a,l=r.tokenizer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.tokenizer=i}if(r.hooks){let i=this.defaults.hooks||new ob;for(let a in r.hooks){if(!(a in i))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let s=a,l=r.hooks[s],u=i[s];ob.passThroughHooks.has(a)?i[s]=h=>{if(this.defaults.async&&ob.passThroughHooksRespectAsync.has(a))return Promise.resolve(l.call(i,h)).then(d=>u.call(i,d));let f=l.call(i,h);return u.call(i,f)}:i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.hooks=i}if(r.walkTokens){let i=this.defaults.walkTokens,a=r.walkTokens;n.walkTokens=function(s){let l=[];return l.push(a.call(this,s)),i&&(l=l.concat(i.call(this,s))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return Ch.lex(t,e??this.defaults)}parser(t,e){return Ah.parse(t,e??this.defaults)}parseMarkdown(t){return(e,r)=>{let n={...r},i={...this.defaults,...n},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=t);let s=i.hooks?i.hooks.provideLexer():t?Ch.lex:Ch.lexInline,l=i.hooks?i.hooks.provideParser():t?Ah.parse:Ah.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(e):e).then(u=>s(u,i)).then(u=>i.hooks?i.hooks.processAllTokens(u):u).then(u=>i.walkTokens?Promise.all(this.walkTokens(u,i.walkTokens)).then(()=>u):u).then(u=>l(u,i)).then(u=>i.hooks?i.hooks.postprocess(u):u).catch(a);try{i.hooks&&(e=i.hooks.preprocess(e));let u=s(e,i);i.hooks&&(u=i.hooks.processAllTokens(u)),i.walkTokens&&this.walkTokens(u,i.walkTokens);let h=l(u,i);return i.hooks&&(h=i.hooks.postprocess(h)),h}catch(u){return a(u)}}}onError(t,e){return r=>{if(r.message+=` +Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error occurred:

    "+du(r.message+"",!0)+"
    ";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},m0=new M$e;o(yn,"d");yn.options=yn.setOptions=function(t){return m0.setOptions(t),yn.defaults=m0.defaults,jne(yn.defaults),yn};yn.getDefaults=tM;yn.defaults=g0;yn.use=function(...t){return m0.use(...t),yn.defaults=m0.defaults,jne(yn.defaults),yn};yn.walkTokens=function(t,e){return m0.walkTokens(t,e)};yn.parseInline=m0.parseInline;yn.Parser=Ah;yn.parser=Ah.parse;yn.Renderer=Vk;yn.TextRenderer=cM;yn.Lexer=Ch;yn.lexer=Ch.lex;yn.Tokenizer=Gk;yn.Hooks=ob;yn.parse=yn;RMt=yn.options,LMt=yn.setOptions,NMt=yn.use,MMt=yn.walkTokens,IMt=yn.parseInline,OMt=Ah.parse,PMt=Ch.lex});function I$e(t,{markdownAutoWrap:e}){let n=t.replace(//g,` `).replace(/\n{2,}/g,` -`),i=bw(n);return e===!1?i.replace(/ /g," "):i}function Ene(t,e={}){let r=QBe(t,e),n=dn.lexer(r),i=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` -`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p=p.replace(/'/g,"'"),p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"?i[a].push({content:l.text,type:"normal"}):i[a].push({content:l.raw,type:"normal"})}),i}function Cne(t,{markdownAutoWrap:e}={}){let r=dn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

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

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(X.warn(`Unsupported markdown: ${i.type}`),i.raw)}return o(n,"output"),r.map(n).join("")}var Ane=I(()=>{"use strict";Sne();nD();gt();o(QBe,"preprocessMarkdown");o(Ene,"markdownToLines");o(Cne,"markdownToHTML")});function ZBe(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function JBe(t,e){let r=ZBe(e.content);return _ne(t,[],r,e.type)}function _ne(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?_ne(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function Dne(t,e){if(t.some(({content:r})=>r.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return XN(t,e)}function XN(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return XN(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=JBe(e,a);r.push([l]),u.content&&t.unshift(u)}return XN(t,e,r)}var Rne=I(()=>{"use strict";o(ZBe,"splitTextToChars");o(JBe,"splitWordToFitWidth");o(_ne,"splitWordToFitWidthRecursion");o(Dne,"splitLineToFitWidth");o(XN,"splitLineToFitWidthRecursion")});function Lne(t,e){e&&t.attr("style",e)}async function eFe(t,e,r,n,i=!1,a=tr()){let s=t.append("foreignObject");s.attr("width",`${10*r}px`),s.attr("height",`${10*r}px`);let l=s.append("xhtml:div"),u=Nn(e.label)?await vf(e.label.replace(nt.lineBreakRegex,` -`),a):fr(e.label,a),h=e.isNode?"nodeLabel":"edgeLabel",f=l.append("span");f.html(u),Lne(f,e.labelStyle),f.attr("class",`${h} ${n}`),Lne(l,e.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("line-height","1.5"),l.style("max-width",r+"px"),l.style("text-align","center"),l.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&l.attr("class","labelBkg");let d=l.node().getBoundingClientRect();return d.width===r&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",r+"px"),d=l.node().getBoundingClientRect()),s.node()}function KN(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function tFe(t,e,r){let n=t.append("text"),i=KN(n,1,e);QN(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function Nne(t,e,r){let n=t.append("text"),i=KN(n,1,e);QN(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function rFe(t,e,r,n=!1){let a=e.append("g"),s=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=o(p=>tFe(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:Dne(h,f);for(let p of d){let m=KN(l,u,1.1);QN(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return s.attr("x",h.x-f).attr("y",h.y-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function QN(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}async function ZN(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{let l=`${a}:${s}`;return await Gj(l)?await Ks(l,void 0,{class:"label-icon"}):``})()),i));let n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}var Ai,yl=I(()=>{"use strict";kr();wr();gt();Ane();sr();Gc();Rne();ti();o(Lne,"applyStyle");o(eFe,"addHtmlSpan");o(KN,"createTspan");o(tFe,"computeWidthOfText");o(Nne,"computeDimensionOfText");o(rFe,"createFormattedText");o(QN,"updateTextContentAndStyles");o(ZN,"replaceIconSubstring");Ai=o(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:s=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(X.debug("XYZ createText",e,r,n,i,a,s,"addSvgBackground: ",u),a){let f=Cne(e,h),d=await ZN(ga(f),h),p=e.replace(/\\\\/g,"\\"),m={isNode:s,label:Nn(e)?p:d,labelStyle:r.replace("fill:","color:")};return await eFe(t,m,l,i,u,h)}else{let f=e.replace(//g,"
    "),d=Ene(f.replace("
    ","
    "),h),p=rFe(l,t,d,e?u:!1);if(s){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");He(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");He(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");He(p).select("text").attr("style",g)}return p}},"createText")});function Wt(t){let e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}function vl(t,e,r,n,i,a){let s=[],u=r-t,h=n-e,f=u/a,d=2*Math.PI/f,p=e+h/2;for(let m=0;m<=50;m++){let g=m/50,y=t+g*u,v=p+i*Math.sin(d*(y-t));s.push({x:y,y:v})}return s}function d0(t,e,r,n,i,a){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;d{"use strict";yl();Qt();kr();Ka();wr();sr();ft=o(async(t,e,r)=>{let n,i=e.useHtmlLabels||Sr(xe()?.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",On(e.labelStyle)),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u=await Ai(s,fr(ga(l),xe()),{useHtmlLabels:i,width:e.width||xe().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle,addSvgBackground:!!e.icon||!!e.img}),h=u.getBBox(),f=(e?.padding??0)/2;if(i){let d=u.children[0],p=He(u),m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=xe().fontSize?xe().fontSize:window.getComputedStyle(document.body).fontSize,T=5,[E=gr.fontSize]=ru(b),w=E*T+"px";y.style.minWidth=w,y.style.maxWidth=w}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}return i?s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):s.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:h,halfPadding:f,label:s}},"labelHelper"),Lk=o(async(t,e,r)=>{let n=r.useHtmlLabels||Sr(xe()?.flowchart?.htmlLabels),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await Ai(i,fr(ga(e),xe()),{useHtmlLabels:n,width:r.width||xe()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),s=a.getBBox(),l=r.padding/2;if(Sr(xe()?.flowchart?.htmlLabels)){let u=a.children[0],h=He(a);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:l,label:i}},"insertLabel"),Ze=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),lt=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");o(Wt,"createPathFromPoints");o(vl,"generateFullSineWavePoints");o(d0,"generateCirclePoints")});function nFe(t,e){return t.intersect(e)}var Mne,Ine=I(()=>{"use strict";o(nFe,"intersectNode");Mne=nFe});function iFe(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(iFe,"intersectEllipse");Nk=iFe});function aFe(t,e,r){return Nk(t,e,e,r)}var One,Pne=I(()=>{"use strict";JN();o(aFe,"intersectCircle");One=aFe});function sFe(t,e,r,n){{let i=e.y-t.y,a=t.x-e.x,s=e.x*t.y-t.x*e.y,l=i*r.x+a*r.y+s,u=i*n.x+a*n.y+s,h=1e-6;if(l!==0&&u!==0&&Bne(l,u))return;let f=n.y-r.y,d=r.x-n.x,p=n.x*r.y-r.x*n.y,m=f*t.x+d*t.y+p,g=f*e.x+d*e.y+p;if(Math.abs(m)0}var Fne,$ne=I(()=>{"use strict";o(sFe,"intersectLine");o(Bne,"sameSign");Fne=sFe});function oFe(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=n-t.width/2-s,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";$ne();o(oFe,"intersectPolygon");zne=oFe});var lFe,Hf,eM=I(()=>{"use strict";lFe=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Hf=lFe});var Ke,Ht=I(()=>{"use strict";Ine();Pne();JN();Gne();eM();Ke={node:Mne,circle:One,ellipse:Nk,polygon:zne,rect:Hf}});var Vne,su,cFe,Zx,Qe,tt,uFe,Vt=I(()=>{"use strict";Qt();Vne=o(t=>{let{handDrawnSeed:e}=xe();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),su=o(t=>{let e=cFe([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),cFe=o(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),Zx=o(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),Qe=o(t=>{let{stylesArray:e}=su(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{let l=s[0];Zx(l)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),l.includes("stroke")&&i.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),tt=o((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=xe(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=su(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:uFe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),uFe=o(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(e.length===1){let i=isNaN(e[0])?0:e[0];return[i,i]}let r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray")});function tM(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*s-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*s+i}}}function hFe(t,e){return t[0]===e[0]&&t[1]===e[1]}function fFe(t,e,r,n=1){let i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of s)tM(h,l,i);let u=(function(h,f,d){let p=[];for(let b of h){let T=[...b];hFe(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&p.push(T)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let T=0;Tb.yminT.ymin?1:b.xT.x?1:b.ymax===T.ymax?0:(b.ymax-T.ymax)/Math.abs(b.ymax-T.ymax))),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let T=0;Tv);T++)b=T;g.splice(0,b+1).forEach((T=>{y.push({s:v,edge:T})}))}if(y=y.filter((b=>!(b.edge.ymax<=v))),y.sort(((b,T)=>b.edge.x===T.edge.x?0:(b.edge.x-T.edge.x)/Math.abs(b.edge.x-T.edge.x))),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let E=y[b].edge,w=y[T].edge;m.push([[Math.round(E.x),v],[Math.round(w.x),v]])}v+=d,y.forEach((b=>{b.edge.x=b.edge.x+d*b.edge.islope})),x++}return m})(s,a,n);if(i){for(let h of s)tM(h,l,-i);(function(h,f,d){let p=[];h.forEach((m=>p.push(...m))),tM(p,f,d)})(u,l,-i)}return u}function rb(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),fFe(t,i,n,a||1)}function Gk(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function nM(t,e){return t.type===e}function yM(t){let e=[],r=(function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:dFe,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:rM,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:qne,text:""},l})(t),n="BOD",i=0,a=r[i];for(;!nM(a,qne);){let s=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return yM("M0,0"+t);i++,s=Mk[a.text],n=a.text}else nM(a,rM)?s=Mk[n]:(i++,s=Mk[a.text],n=a.text);if(!(i+sf%2?h+r:h+e));a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function Zne(t){let e=[],r="",n=0,i=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(Jne(n,i,v,x,d,p,m,g,y).forEach((function(b){e.push({key:"C",data:b})})),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=h}return e}function Jx(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function Jne(t,e,r,n,i,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=Jx(t,e,-f),[r,n]=Jx(r,n,-f);let A=(t-r)/2,_=(e-n)/2,N=A*A/(i*i)+_*_/(a*a);N>1&&(N=Math.sqrt(N),i*=N,a*=N);let M=i*i,P=a*a,B=M*P-M*_*_-P*A*A,F=M*_*_+P*A*A,G=(l===u?-1:1)*Math.sqrt(Math.abs(B/F));y=G*i*_/a+(t+r)/2,v=G*-a*A/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let A=g,_=r,N=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=Jne(r=y+i*Math.cos(g),n=v+a*Math.sin(g),_,N,i,a,s,0,u,[g,A,y,v])}x=g-m;let b=Math.cos(m),T=Math.sin(m),E=Math.cos(g),w=Math.sin(g),k=Math.tan(x/4),C=4/3*i*k,D=4/3*a*k,R=[t,e],O=[t+C*T,e-D*b],L=[r+C*w,n-D*E],S=[r,n];if(O[0]=2*R[0]-O[0],O[1]=2*R[1]-O[1],h)return[O,L,S].concat(p);{p=[O,L,S].concat(p);let A=[];for(let _=0;_2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=Xne(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=Xne(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...Yf(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Yf(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function Hne(t,e){let r=Zne(Qne(yM(t))),n=[],i=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Yf(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...gFe(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Yf(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function iM(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+dr(i,e),n[0][1]+dr(i,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*rie(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=dr(m,i,h),g=dr(g,i,h);let y=[],v=o(()=>dr(d,i,h),"M"),x=o(()=>dr(f,i,h),"k"),b=i.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:dr(f,i,h)),e+(b?0:dr(f,i,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function Ik(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+dr(e,r),t[0][1]+dr(e,r)]),n.push([t[0][0]+dr(e,r),t[0][1]+dr(e,r)]);for(let i=1;i3){let a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=p0(u,h,.5),m=p0(h,f,.5),g=p0(f,d,.5),y=p0(p,m,.5),v=p0(m,g,.5),x=p0(y,v,.5);pM([u,p,y,x],0,r,i),pM([x,v,g,d],0,r,i)}var a,s;return i}function vFe(t,e){return zk(t,0,t.length,e)}function zk(t,e,r,n,i){let a=i||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(zk(t,e,h+1,n,a),zk(t,h,r,n,a)):(a.length||a.push(s),a.push(l)),a}function aM(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?zk(n,0,n.length,r):n}var tb,sM,oM,lM,cM,uM,io,hM,dFe,rM,qne,Mk,pFe,Bo,o1,mM,Ok,gM,Je,Yt=I(()=>{"use strict";o(tM,"t");o(hFe,"e");o(fFe,"s");o(rb,"n");tb=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=rb(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};o(Gk,"a");sM=class extends tb{static{o(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=rb(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)Gk([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},oM=class extends tb{static{o(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},lM=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=rb(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=i/4;for(let l of e){let u=Gk(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=Gk(s),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=Gk(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(C=0,D=2*Math.PI);let R=(D-C)/b.curveStepCount,O=[];for(let L=C;L<=D;L+=R)O.push([T+w*Math.cos(L),E+k*Math.sin(L)]);return O.push([T+w*Math.cos(D),E+k*Math.sin(D)]),O.push([T,E]),s1([O],b)})(e,r,n,i,a,s,h));return h.stroke!==Bo&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=Une(e,n);if(n.fill&&n.fill!==Bo)if(n.fillStyle==="solid"){let s=Une(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...aM(Kne([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):s.push(...aM(Kne(h),10,(1+n.roughness)/2))}s.length&&i.push(s1([s],n))}return n.stroke!==Bo&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=Pk(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(iM([e],n)):i.push(s1([e],n))),n.stroke!==Bo&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==Bo,s=n.stroke!==Bo,l=!!(n.simplification&&n.simplification<1),u=(function(f,d,p){let m=Zne(Qne(yM(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...aM(x,d)),x=[]},"i"),T=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:w,data:k}of m)switch(w){case"M":T(),v=[k[0],k[1]],y.push(v);break;case"L":b(),y.push([k[0],k[1]]);break;case"C":if(!x.length){let C=y.length?y[y.length-1]:v;x.push([C[0],C[1]])}x.push([k[0],k[1]]),x.push([k[2],k[3]]),x.push([k[4],k[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(T(),!p)return g;let E=[];for(let w of g){let k=vFe(w,p);k.length&&E.push(k)}return E})(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=Hne(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=Hne(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(iM(u,n));else i.push(s1(u,n));return s&&(l?u.forEach((f=>{i.push(Pk(f,!1,n))})):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Bo};break;case"fillPath":s={d:this.opsToPath(a),stroke:Bo,strokeWidth:0,fill:n.fill||Bo};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||Bo,strokeWidth:n,fill:Bo}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}},mM=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new o1(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let s=typeof n=="number"&&n>=0?a.data.map((l=>+l.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},Ok="http://www.w3.org/2000/svg",gM=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new o1(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(Ok,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(Ok,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(Ok,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(Ok,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Je={canvas:o((t,e)=>new mM(t,e),"canvas"),svg:o((t,e)=>new gM(t,e),"svg"),generator:o(t=>new o1(t),"generator"),newSeed:o(()=>o1.newSeed(),"newSeed")}});function nie(t,e){let{labelStyles:r}=Qe(e);e.labelStyle=r;let n=lt(e),i=n;n||(i="anchor");let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=1,{cssStyles:l}=e,u=Je.svg(a),h=tt(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);let f=u.circle(0,0,s*2,h),d=a.insert(()=>f,":first-child");return d.attr("class","anchor").attr("style",On(l)),Ze(e,d),e.intersect=function(p){return X.info("Circle intersect",e,s,p),Ke.circle(e,s,p)},a}var iie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();sr();o(nie,"anchor")});function aie(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let k=[];for(let C=0;C<20;C++){let D=C/19,R=T+D*w,O=x+i*Math.cos(R),L=b+a*Math.sin(R);k.push({x:O,y:L})}return k}async function sie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.width+e.padding+20,l=a.height+e.padding,u=l/2,h=u/(2.5+l/50),{cssStyles:f}=e,d=[{x:s/2,y:-l/2},{x:-s/2,y:-l/2},...aie(-s/2,-l/2,-s/2,l/2,h,u,!1),{x:s/2,y:l/2},...aie(s/2,l/2,s/2,-l/2,h,u,!0)],p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=Wt(d),y=p.path(g,m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${h/2}, 0)`),Ze(e,v),e.intersect=function(x){return Ke.polygon(e,d,x)},i}var oie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(aie,"generateArcPoints");o(sie,"bowTieRect")});function ao(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var jf=I(()=>{"use strict";o(ao,"insertPolygonShape")});async function lie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.height+e.padding,l=12,u=a.width+e.padding+l,h=0,f=u,d=-s,p=0,m=[{x:h+l,y:d},{x:f,y:d},{x:f,y:p},{x:h,y:p},{x:h,y:d+l},{x:h+l,y:d}],g,{cssStyles:y}=e;if(e.look==="handDrawn"){let v=Je.svg(i),x=tt(e,{}),b=Wt(m),T=v.path(b,x);g=i.insert(()=>T,":first-child").attr("transform",`translate(${-u/2}, ${s/2})`),y&&g.attr("style",y)}else g=ao(i,u,s,m);return n&&g.attr("style",n),Ze(e,g),e.intersect=function(v){return Ke.polygon(e,m,v)},i}var cie=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();Bt();o(lie,"card")});function uie(t,e){let{nodeStyles:r}=Qe(e);e.label="";let n=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],l=Je.svg(n),u=tt(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=Wt(s),f=l.path(h,u),d=n.insert(()=>f,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(p){return Ke.polygon(e,s,p)},n}var hie=I(()=>{"use strict";Ht();Yt();Vt();Bt();o(uie,"choice")});async function Vk(t,e,r){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n;let{shapeSvg:a,bbox:s,halfPadding:l}=await ft(t,e,lt(e)),u=r?.padding??l,h=s.width/2+u,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Je.svg(a),m=tt(e,{}),g=p.circle(0,0,h*2,m);f=a.insert(()=>g,":first-child"),f.attr("class","basic label-container").attr("style",On(d))}else f=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return Ze(e,f),e.calcIntersect=function(p,m){let g=p.width/2;return Ke.circle(p,g,m)},e.intersect=function(p){return X.info("Circle intersect",e,h,p),Ke.circle(e,h,p)},a}var vM=I(()=>{"use strict";Yt();gt();sr();Ht();Vt();Bt();o(Vk,"circle")});function xFe(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},l={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${l.x},${l.y} - M ${i.x},${i.y} L ${s.x},${s.y}`}function fie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r,e.label="";let i=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=Je.svg(i),u=tt(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=l.circle(0,0,a*2,u),f=xFe(a),d=l.path(f,u),p=i.insert(()=>h,":first-child");return p.insert(()=>d),s&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",n),Ze(e,p),e.intersect=function(m){return X.info("crossedCircle intersect",e,{radius:a,point:m}),Ke.circle(e,a,m)},i}var die=I(()=>{"use strict";gt();Bt();Vt();Yt();Ht();o(xFe,"createLine");o(fie,"crossedCircle")});function Xf(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),E.insert(()=>x,":first-child"),E.attr("class","text"),f&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(${h}, 0)`),s.attr("transform",`translate(${-l/2+h-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ze(e,E),e.intersect=function(w){return Ke.polygon(e,p,w)},i}var mie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Xf,"generateCirclePoints");o(pie,"curlyBraceLeft")});function Kf(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),E.insert(()=>x,":first-child"),E.attr("class","text"),f&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(${-h}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ze(e,E),e.intersect=function(w){return Ke.polygon(e,p,w)},i}var yie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Kf,"generateCirclePoints");o(gie,"curlyBraceRight")});function ts(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dC,":first-child").attr("stroke-opacity",0),D.insert(()=>b,":first-child"),D.insert(()=>w,":first-child"),D.attr("class","text"),f&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",n),D.attr("transform",`translate(${h-h/4}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ze(e,D),e.intersect=function(R){return Ke.polygon(e,m,R)},i}var xie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(ts,"generateCirclePoints");o(vie,"curlyBraces")});async function bie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=80,l=20,u=Math.max(s,(a.width+(e.padding??0)*2)*1.25,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=u,y=h,v=g-f,x=y/4,b=[{x:v,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:v,y},...d0(-v,-y/2,f,50,270,90)],T=Wt(b),E=p.path(T,m),w=i.insert(()=>E,":first-child");return w.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",n),w.attr("transform",`translate(${-u/2}, ${-h/2})`),Ze(e,w),e.intersect=function(k){return Ke.polygon(e,b,k)},i}var Tie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(bie,"curvedTrapezoid")});async function wie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+e.padding,e.height??0),d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=TFe(0,0,l,f,u,h),y=wFe(0,h,l,f,u,h),v=m.path(g,tt(e,{})),x=m.path(y,tt(e,{fill:"none"}));d=i.insert(()=>x,":first-child"),d=i.insert(()=>v,":first-child"),d.attr("class","basic label-container"),p&&d.attr("style",p)}else{let m=bFe(0,0,l,f,u,h);d=i.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",On(p)).attr("style",n)}return d.attr("label-offset-y",h),d.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Ze(e,d),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(m){let g=Ke.rect(e,m),y=g.x-(e.x??0);if(u!=0&&(Math.abs(y)<(e.width??0)/2||Math.abs(y)==(e.width??0)/2&&Math.abs(g.y-(e.y??0))>(e.height??0)/2-h)){let v=h*h*(1-y*y/(u*u));v>0&&(v=Math.sqrt(v)),v=h-v,m.y-(e.y??0)>0&&(v=-v),g.y+=v}return g},i}var bFe,TFe,wFe,kie=I(()=>{"use strict";Bt();Ht();Vt();Yt();sr();bFe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),TFe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),wFe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(wie,"cylinder")});async function Sie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=a.width+e.padding,u=a.height+e.padding,h=u*.2,f=-l/2,d=-u/2-h/2,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d+h},{x:-f,y:d+h},{x:-f,y:-d},{x:f,y:-d},{x:f,y:d},{x:-f,y:d},{x:-f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${f+(e.padding??0)/2-(a.x-(a.left??0))}, ${d+h+(e.padding??0)/2-(a.y-(a.top??0))})`),Ze(e,x),e.intersect=function(b){return Ke.rect(e,b)},i}var Eie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Sie,"dividedRectangle")});async function Cie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await ft(t,e,lt(e)),u=a.width/2+s+5,h=a.width/2+s,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Je.svg(i),m=tt(e,{roughness:.2,strokeWidth:2.5}),g=tt(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",On(e.cssClasses)).attr("style",On(d)),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return Ze(e,f),e.intersect=function(p){return X.info("DoubleCircle intersect",e,u,p),Ke.circle(e,u,p)},i}var Aie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();sr();o(Cie,"doublecircle")});function _ie(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Qe(e);e.label="",e.labelStyle=n;let a=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),s=7,{cssStyles:l}=e,u=Je.svg(a),{nodeBorder:h}=r,f=tt(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(f.roughness=0);let d=u.circle(0,0,s*2,f),p=a.insert(()=>d,":first-child");return p.selectAll("path").attr("style",`fill: ${h} !important;`),l&&l.length>0&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",l),i&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",i),Ze(e,p),e.intersect=function(m){return X.info("filledCircle intersect",e,{radius:s,point:m}),Ke.circle(e,s,m)},a}var Die=I(()=>{"use strict";Yt();gt();Ht();Vt();Bt();o(_ie,"filledCircle")});async function Rie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=a.width+(e.padding??0),u=l+a.height,h=l+a.height,f=[{x:0,y:-u},{x:h,y:-u},{x:h/2,y:0}],{cssStyles:d}=e,p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=Wt(f),y=p.path(g,m),v=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return d&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),e.width=l,e.height=u,Ze(e,v),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(x){return X.info("Triangle intersect",e,f,x),Ke.polygon(e,f,x)},i}var Lie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();Bt();o(Rie,"flippedTriangle")});function Nie(t,e,{dir:r,config:{state:n,themeVariables:i}}){let{nodeStyles:a}=Qe(e);e.label="";let s=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,u=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);r==="LR"&&(u=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));let f=-1*u/2,d=-1*h/2,p=Je.svg(s),m=tt(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=p.rectangle(f,d,u,h,m),y=s.insert(()=>g,":first-child");l&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",l),a&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",a),Ze(e,y);let v=n?.padding??0;return e.width&&e.height&&(e.width+=v/2||0,e.height+=v/2||0),e.intersect=function(x){return Ke.rect(e,x)},s}var Mie=I(()=>{"use strict";Yt();Ht();Vt();Bt();o(Nie,"forkJoin")});async function Iie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let i=80,a=50,{shapeSvg:s,bbox:l}=await ft(t,e,lt(e)),u=Math.max(i,l.width+(e.padding??0)*2,e?.width??0),h=Math.max(a,l.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Je.svg(s),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-u/2,y:-h/2},{x:u/2-f,y:-h/2},...d0(-u/2+f,0,f,50,90,270),{x:u/2-f,y:h/2},{x:-u/2,y:h/2}],y=Wt(g),v=p.path(y,m),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),Ze(e,x),e.intersect=function(b){return X.info("Pill intersect",e,{radius:f,point:b}),Ke.polygon(e,g,b)},s}var Oie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();o(Iie,"halfRoundedRectangle")});async function Pie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.height+(e.padding??0),l=a.width+(e.padding??0)*2.5,{cssStyles:u}=e,h=Je.svg(i),f=tt(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");let d=l/2,p=d/6;d=d+p;let m=s/2,g=m/2,y=d-g,v=[{x:-y,y:-m},{x:0,y:-m},{x:y,y:-m},{x:d,y:0},{x:y,y:m},{x:0,y:m},{x:-y,y:m},{x:-d,y:0}],x=Wt(v),b=h.path(x,f),T=i.insert(()=>b,":first-child");return T.attr("class","basic label-container"),u&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",u),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=l,e.height=s,Ze(e,T),e.intersect=function(E){return Ke.polygon(e,v,E)},i}var Bie=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Pie,"hexagon")});async function Fie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.label="",e.labelStyle=r;let{shapeSvg:i}=await ft(t,e,lt(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=Je.svg(i),h=tt(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let f=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Wt(f),p=u.path(d,h),m=i.insert(()=>p,":first-child");return m.attr("class","basic label-container"),l&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",l),n&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",n),m.attr("transform",`translate(${-a/2}, ${-s/2})`),Ze(e,m),e.intersect=function(g){return X.info("Pill intersect",e,{points:f}),Ke.polygon(e,f,g)},i}var $ie=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();o(Fie,"hourglass")});async function zie(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await ft(t,e,"icon-shape default"),p=e.pos==="t",m=l,g=l,{nodeBorder:y}=r,{stylesMap:v}=su(e),x=-g/2,b=-m/2,T=e.label?8:0,E=Je.svg(h),w=tt(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let k=E.rectangle(x,b,g,m,w),C=Math.max(g,f.width),D=m+f.height+T,R=E.rectangle(-C/2,-D/2,C,D,{...w,fill:"transparent",stroke:"none"}),O=h.insert(()=>k,":first-child"),L=h.insert(()=>R);if(e.icon){let S=h.append("g");S.html(`${await Ks(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let A=S.node().getBBox(),_=A.width,N=A.height,M=A.x,P=A.y;S.attr("transform",`translate(${-_/2-M},${p?f.height/2+T/2-N/2-P:-f.height/2-T/2-N/2-P})`),S.attr("style",`color: ${v.get("stroke")??y};`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-D/2:D/2-f.height})`),O.attr("transform",`translate(0,${p?f.height/2+T/2:-f.height/2-T/2})`),Ze(e,L),e.intersect=function(S){if(X.info("iconSquare intersect",e,S),!e.label)return Ke.rect(e,S);let A=e.x??0,_=e.y??0,N=e.height??0,M=[];return p?M=[{x:A-f.width/2,y:_-N/2},{x:A+f.width/2,y:_-N/2},{x:A+f.width/2,y:_-N/2+f.height+T},{x:A+g/2,y:_-N/2+f.height+T},{x:A+g/2,y:_+N/2},{x:A-g/2,y:_+N/2},{x:A-g/2,y:_-N/2+f.height+T},{x:A-f.width/2,y:_-N/2+f.height+T}]:M=[{x:A-g/2,y:_-N/2},{x:A+g/2,y:_-N/2},{x:A+g/2,y:_-N/2+m},{x:A+f.width/2,y:_-N/2+m},{x:A+f.width/2/2,y:_+N/2},{x:A-f.width/2,y:_+N/2},{x:A-f.width/2,y:_-N/2+m},{x:A-g/2,y:_-N/2+m}],Ke.polygon(e,M,S)},h}var Gie=I(()=>{"use strict";Yt();gt();Gc();Ht();Vt();Bt();o(zie,"icon")});async function Vie(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await ft(t,e,"icon-shape default"),p=20,m=e.label?8:0,g=e.pos==="t",{nodeBorder:y,mainBkg:v}=r,{stylesMap:x}=su(e),b=Je.svg(h),T=tt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=x.get("fill");T.stroke=E??v;let w=h.append("g");e.icon&&w.html(`${await Ks(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let k=w.node().getBBox(),C=k.width,D=k.height,R=k.x,O=k.y,L=Math.max(C,D)*Math.SQRT2+p*2,S=b.circle(0,0,L,T),A=Math.max(L,f.width),_=L+f.height+m,N=b.rectangle(-A/2,-_/2,A,_,{...T,fill:"transparent",stroke:"none"}),M=h.insert(()=>S,":first-child"),P=h.insert(()=>N);return w.attr("transform",`translate(${-C/2-R},${g?f.height/2+m/2-D/2-O:-f.height/2-m/2-D/2-O})`),w.attr("style",`color: ${x.get("stroke")??y};`),d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-_/2:_/2-f.height})`),M.attr("transform",`translate(0,${g?f.height/2+m/2:-f.height/2-m/2})`),Ze(e,P),e.intersect=function(B){return X.info("iconSquare intersect",e,B),Ke.rect(e,B)},h}var qie=I(()=>{"use strict";Yt();gt();Gc();Ht();Vt();Bt();o(Vie,"iconCircle")});var so,m0=I(()=>{"use strict";so=o((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});async function Uie(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await ft(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=su(e),T=-y/2,E=-g/2,w=e.label?8:0,k=Je.svg(h),C=tt(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");let D=b.get("fill");C.stroke=D??x;let R=k.path(so(T,E,y,g,5),C),O=Math.max(y,f.width),L=g+f.height+w,S=k.rectangle(-O/2,-L/2,O,L,{...C,fill:"transparent",stroke:"none"}),A=h.insert(()=>R,":first-child").attr("class","icon-shape2"),_=h.insert(()=>S);if(e.icon){let N=h.append("g");N.html(`${await Ks(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let M=N.node().getBBox(),P=M.width,B=M.height,F=M.x,G=M.y;N.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-G:-f.height/2-w/2-B/2-G})`),N.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-L/2:L/2-f.height})`),A.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),Ze(e,_),e.intersect=function(N){if(X.info("iconSquare intersect",e,N),!e.label)return Ke.rect(e,N);let M=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:M-f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2+f.height+w},{x:M+y/2,y:P-B/2+f.height+w},{x:M+y/2,y:P+B/2},{x:M-y/2,y:P+B/2},{x:M-y/2,y:P-B/2+f.height+w},{x:M-f.width/2,y:P-B/2+f.height+w}]:F=[{x:M-y/2,y:P-B/2},{x:M+y/2,y:P-B/2},{x:M+y/2,y:P-B/2+g},{x:M+f.width/2,y:P-B/2+g},{x:M+f.width/2/2,y:P+B/2},{x:M-f.width/2,y:P+B/2},{x:M-f.width/2,y:P-B/2+g},{x:M-y/2,y:P-B/2+g}],Ke.polygon(e,F,N)},h}var Wie=I(()=>{"use strict";Yt();gt();Gc();Ht();Vt();m0();Bt();o(Uie,"iconRounded")});async function Hie(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await ft(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=su(e),T=-y/2,E=-g/2,w=e.label?8:0,k=Je.svg(h),C=tt(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");let D=b.get("fill");C.stroke=D??x;let R=k.path(so(T,E,y,g,.1),C),O=Math.max(y,f.width),L=g+f.height+w,S=k.rectangle(-O/2,-L/2,O,L,{...C,fill:"transparent",stroke:"none"}),A=h.insert(()=>R,":first-child"),_=h.insert(()=>S);if(e.icon){let N=h.append("g");N.html(`${await Ks(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let M=N.node().getBBox(),P=M.width,B=M.height,F=M.x,G=M.y;N.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-G:-f.height/2-w/2-B/2-G})`),N.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-L/2:L/2-f.height})`),A.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),Ze(e,_),e.intersect=function(N){if(X.info("iconSquare intersect",e,N),!e.label)return Ke.rect(e,N);let M=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:M-f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2+f.height+w},{x:M+y/2,y:P-B/2+f.height+w},{x:M+y/2,y:P+B/2},{x:M-y/2,y:P+B/2},{x:M-y/2,y:P-B/2+f.height+w},{x:M-f.width/2,y:P-B/2+f.height+w}]:F=[{x:M-y/2,y:P-B/2},{x:M+y/2,y:P-B/2},{x:M+y/2,y:P-B/2+g},{x:M+f.width/2,y:P-B/2+g},{x:M+f.width/2/2,y:P+B/2},{x:M-f.width/2,y:P+B/2},{x:M-f.width/2,y:P-B/2+g},{x:M-y/2,y:P-B/2+g}],Ke.polygon(e,F,N)},h}var Yie=I(()=>{"use strict";Yt();gt();Gc();Ht();m0();Vt();Bt();o(Hie,"iconSquare")});async function jie(t,e,{config:{flowchart:r}}){let n=new Image;n.src=e?.img??"",await n.decode();let i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;let{labelStyles:s}=Qe(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let u=Math.max(e.label?l??0:0,e?.assetWidth??i),h=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f=e.constraint==="on"?h/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(h,l??0);let{shapeSvg:d,bbox:p,label:m}=await ft(t,e,"image-shape default"),g=e.pos==="t",y=-h/2,v=-f/2,x=e.label?8:0,b=Je.svg(d),T=tt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=b.rectangle(y,v,h,f,T),w=Math.max(h,p.width),k=f+p.height+x,C=b.rectangle(-w/2,-k/2,w,k,{...T,fill:"none",stroke:"none"}),D=d.insert(()=>E,":first-child"),R=d.insert(()=>C);if(e.img){let O=d.append("image");O.attr("href",e.img),O.attr("width",h),O.attr("height",f),O.attr("preserveAspectRatio","none"),O.attr("transform",`translate(${-h/2},${g?k/2-f:-k/2})`)}return m.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${g?-f/2-p.height/2-x/2:f/2-p.height/2+x/2})`),D.attr("transform",`translate(0,${g?p.height/2+x/2:-p.height/2-x/2})`),Ze(e,R),e.intersect=function(O){if(X.info("iconSquare intersect",e,O),!e.label)return Ke.rect(e,O);let L=e.x??0,S=e.y??0,A=e.height??0,_=[];return g?_=[{x:L-p.width/2,y:S-A/2},{x:L+p.width/2,y:S-A/2},{x:L+p.width/2,y:S-A/2+p.height+x},{x:L+h/2,y:S-A/2+p.height+x},{x:L+h/2,y:S+A/2},{x:L-h/2,y:S+A/2},{x:L-h/2,y:S-A/2+p.height+x},{x:L-p.width/2,y:S-A/2+p.height+x}]:_=[{x:L-h/2,y:S-A/2},{x:L+h/2,y:S-A/2},{x:L+h/2,y:S-A/2+f},{x:L+p.width/2,y:S-A/2+f},{x:L+p.width/2/2,y:S+A/2},{x:L-p.width/2,y:S+A/2},{x:L-p.width/2,y:S-A/2+f},{x:L-h/2,y:S-A/2+f}],Ke.polygon(e,_,O)},d}var Xie=I(()=>{"use strict";Yt();gt();Ht();Vt();Bt();o(jie,"imageSquare")});async function Kie(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=[{x:0,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:-3*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=tt(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=ao(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ze(e,h),e.intersect=function(d){return Ke.polygon(e,u,d)},i}var Qie=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();o(Kie,"inv_trapezoid")});async function g0(t,e,r){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await ft(t,e,lt(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Je.svg(a),v=tt(e,{}),x=p||m?y.path(so(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",On(g))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",On(p)).attr("ry",On(m)).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return Ze(e,d),e.calcIntersect=function(y,v){return Ke.rect(y,v)},e.intersect=function(y){return Ke.rect(e,y)},a}var nb=I(()=>{"use strict";Bt();Ht();m0();Vt();Yt();sr();o(g0,"drawRect")});async function Zie(t,e){let{shapeSvg:r,bbox:n,label:i}=await ft(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),Ze(e,a),e.intersect=function(u){return Ke.rect(e,u)},r}var Jie=I(()=>{"use strict";nb();Bt();Ht();o(Zie,"labelRect")});async function eae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:0,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:-(3*l)/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=tt(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=ao(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ze(e,h),e.intersect=function(d){return Ke.polygon(e,u,d)},i}var tae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();o(eae,"lean_left")});async function rae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:-3*l/6,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=tt(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=ao(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ze(e,h),e.intersect=function(d){return Ke.polygon(e,u,d)},i}var nae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();o(rae,"lean_right")});function iae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.label="",e.labelStyle=r;let i=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),u=7,h=[{x:s,y:0},{x:0,y:l+u/2},{x:s-2*u,y:l+u/2},{x:0,y:2*l},{x:s,y:l-u/2},{x:2*u,y:l-u/2}],f=Je.svg(i),d=tt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=Wt(h),m=f.path(p,d),g=i.insert(()=>m,":first-child");return a&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",n),g.attr("transform",`translate(-${s/2},${-l})`),Ze(e,g),e.intersect=function(y){return X.info("lightningBolt intersect",e,y),Ke.polygon(e,h,y)},i}var aae=I(()=>{"use strict";gt();Bt();Vt();Yt();Ht();Bt();o(iae,"lightningBolt")});async function sae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+(e.padding??0),e.height??0),d=f*.1,p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=Je.svg(i),y=SFe(0,0,l,f,u,h,d),v=EFe(0,h,l,f,u,h),x=tt(e,{}),b=g.path(y,x),T=g.path(v,x);i.insert(()=>T,":first-child").attr("class","line"),p=i.insert(()=>b,":first-child"),p.attr("class","basic label-container"),m&&p.attr("style",m)}else{let g=kFe(0,0,l,f,u,h,d);p=i.insert("path",":first-child").attr("d",g).attr("class","basic label-container").attr("style",On(m)).attr("style",n)}return p.attr("label-offset-y",h),p.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Ze(e,p),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),e.intersect=function(g){let y=Ke.rect(e,g),v=y.x-(e.x??0);if(u!=0&&(Math.abs(v)<(e.width??0)/2||Math.abs(v)==(e.width??0)/2&&Math.abs(y.y-(e.y??0))>(e.height??0)/2-h)){let x=h*h*(1-v*v/(u*u));x>0&&(x=Math.sqrt(x)),x=h-x,g.y-(e.y??0)>0&&(x=-x),y.y+=x}return y},i}var kFe,SFe,EFe,oae=I(()=>{"use strict";Bt();Ht();Vt();Yt();sr();kFe=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),SFe=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),EFe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(sae,"linedCylinder")});async function lae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,{cssStyles:d}=e,p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-l/2-l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:f/2},...vl(-l/2-l/2*.1,f/2,l/2+l/2*.1,f/2,h,.8),{x:l/2+l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:-f/2},{x:-l/2,y:-f/2},{x:-l/2,y:f/2*1.1},{x:-l/2,y:-f/2}],y=p.polygon(g.map(x=>[x.x,x.y]),m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)+l/2*.1/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Ze(e,v),e.intersect=function(x){return Ke.polygon(e,g,x)},i}var cae=I(()=>{"use strict";Bt();Ht();Yt();Vt();o(lae,"linedWaveEdgedRect")});async function uae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{}),y=[{x:f-h,y:d+h},{x:f-h,y:d+u+h},{x:f+l-h,y:d+u+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d+u-h},{x:f+l+h,y:d+u-h},{x:f+l+h,y:d-h},{x:f+h,y:d-h},{x:f+h,y:d},{x:f,y:d},{x:f,y:d+h}],v=[{x:f,y:d+h},{x:f+l-h,y:d+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d},{x:f,y:d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=Wt(y),b=m.path(x,g),T=Wt(v),E=m.path(T,{...g,fill:"none"}),w=i.insert(()=>E,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)-h-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),Ze(e,w),e.intersect=function(k){return Ke.polygon(e,y,k)},i}var hae=I(()=>{"use strict";Bt();Vt();Yt();Ht();o(uae,"multiRect")});async function fae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,d=-l/2,p=-f/2,m=5,{cssStyles:g}=e,y=vl(d-m,p+f+m,d+l-m,p+f+m,h,.8),v=y?.[y.length-1],x=[{x:d-m,y:p+m},{x:d-m,y:p+f+m},...y,{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:v.y-2*m},{x:d+l+m,y:v.y-2*m},{x:d+l+m,y:p-m},{x:d+m,y:p-m},{x:d+m,y:p},{x:d,y:p},{x:d,y:p+m}],b=[{x:d,y:p+m},{x:d+l-m,y:p+m},{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:p},{x:d,y:p}],T=Je.svg(i),E=tt(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");let w=Wt(x),k=T.path(w,E),C=Wt(b),D=T.path(C,E),R=i.insert(()=>k,":first-child");return R.insert(()=>D),R.attr("class","basic label-container"),g&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&R.selectAll("path").attr("style",n),R.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-(a.width/2)-m-(a.x-(a.left??0))}, ${-(a.height/2)+m-h/2-(a.y-(a.top??0))})`),Ze(e,R),e.intersect=function(O){return Ke.polygon(e,x,O)},i}var dae=I(()=>{"use strict";Bt();Ht();Yt();Vt();o(fae,"multiWaveEdgedRectangle")});async function pae(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n,e.useHtmlLabels||tr().flowchart?.htmlLabels!==!1||(e.centerLabel=!0);let{shapeSvg:s,bbox:l,label:u}=await ft(t,e,lt(e)),h=Math.max(l.width+(e.padding??0)*2,e?.width??0),f=Math.max(l.height+(e.padding??0)*2,e?.height??0),d=-h/2,p=-f/2,{cssStyles:m}=e,g=Je.svg(s),y=tt(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=g.rectangle(d,p,h,f,y),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",m),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),Ze(e,x),e.intersect=function(b){return Ke.rect(e,b)},s}var mae=I(()=>{"use strict";Yt();Ht();Vt();Bt();ti();o(pae,"note")});async function gae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.width+e.padding,l=a.height+e.padding,u=s+l,h=.5,f=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=tt(e,{}),y=CFe(0,0,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-u/2+h}, ${u/2})`),p&&d.attr("style",p)}else d=ao(i,u,u,f),d.attr("transform",`translate(${-u/2+h}, ${u/2})`);return n&&d.attr("style",n),Ze(e,d),e.calcIntersect=function(m,g){let y=m.width,v=[{x:y/2,y:0},{x:y,y:-y/2},{x:y/2,y:-y},{x:0,y:-y/2}],x=Ke.polygon(m,v,g);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(m){return this.calcIntersect(e,m)},i}var CFe,yae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();CFe=o((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");o(gae,"question")});async function vae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0),e?.width??0),u=Math.max(a.height+(e.padding??0),e?.height??0),h=-l/2,f=-u/2,d=f/2,p=[{x:h+d,y:f},{x:h,y:0},{x:h+d,y:-f},{x:-h,y:-f},{x:-h,y:f}],{cssStyles:m}=e,g=Je.svg(i),y=tt(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=Wt(p),x=g.path(v,y),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-d/2},0)`),s.attr("transform",`translate(${-d/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Ze(e,b),e.intersect=function(T){return Ke.polygon(e,p,T)},i}var xae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(vae,"rect_left_inv_arrow")});function AFe(t,e){e&&t.attr("style",e)}async function _Fe(t){let e=He(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=xe(),i=t.label;t.label&&Nn(t.label)&&(i=await vf(t.label.replace(nt.lineBreakRegex,` -`),n));let s='"+i+"";return r.html(fr(s,n)),AFe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var DFe,ou,qk=I(()=>{"use strict";kr();Qt();wr();gt();sr();o(AFe,"applyStyle");o(_Fe,"addHtmlLabel");DFe=o(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),Sr(xe().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),X.info("vertexText"+i);let a={isNode:n,label:ga(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:e&&e.replace("fill:","color:")};return await _Fe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(let l of s){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),ou=DFe});async function bae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=l.node().appendChild(await ou(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(Sr(xe()?.flowchart?.htmlLabels)){let D=f.children[0],R=He(f);d=D.getBoundingClientRect(),R.attr("width",d.width),R.attr("height",d.height)}X.info("Text 2",u);let p=u||[],m=f.getBBox(),g=l.node().appendChild(await ou(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),y=g.children[0],v=He(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;He(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),He(f).attr("transform","translate( "+(d.width(X.debug("Rough node insert CXC",O),L),":first-child"),k=a.insert(()=>(X.debug("Rough node insert CXC",O),O),":first-child")}else k=s.insert("rect",":first-child"),C=s.insert("line"),k.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),C.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return Ze(e,k),e.intersect=function(D){return Ke.rect(e,D)},a}var Tae=I(()=>{"use strict";kr();wr();Bt();qk();Ht();Vt();Yt();Qt();m0();gt();o(bae,"rectWithTitle")});function Uk(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let k=[];for(let C=0;C<20;C++){let D=C/19,R=T+D*w,O=x+i*Math.cos(R),L=b+a*Math.sin(R);k.push({x:O,y:L})}return k}async function wae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=e?.padding??0,l=e?.padding??0,u=(e?.width?e?.width:a.width)+s*2,h=(e?.height?e?.height:a.height)+l*2,f=e.radius||5,d=e.taper||5,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{});e.stroke&&(g.stroke=e.stroke),e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:-u/2+d,y:-h/2},{x:u/2-d,y:-h/2},...Uk(u/2-d,-h/2,u/2,-h/2+d,f,f,!0),{x:u/2,y:-h/2+d},{x:u/2,y:h/2-d},...Uk(u/2,h/2-d,u/2-d,h/2,f,f,!0),{x:u/2-d,y:h/2},{x:-u/2+d,y:h/2},...Uk(-u/2+d,h/2,-u/2,h/2-d,f,f,!0),{x:-u/2,y:h/2-d},{x:-u/2,y:-h/2+d},...Uk(-u/2,-h/2+d,-u/2+d,-h/2,f,f,!0)],v=Wt(y),x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",n),Ze(e,b),e.intersect=function(T){return Ke.polygon(e,y,T)},i}var kae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Uk,"generateArcPoints");o(wae,"roundedRect")});async function Sae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=e?.padding??0,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=-a.width/2-l,d=-a.height/2-l,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d},{x:f+u+8,y:d},{x:f+u+8,y:d+h},{x:f-8,y:d+h},{x:f-8,y:d},{x:f,y:d},{x:f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container").attr("style",On(p)),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-h/2+(e.padding??0)-(a.y-(a.top??0))})`),Ze(e,x),e.intersect=function(b){return Ke.rect(e,b)},i}var Eae=I(()=>{"use strict";Bt();Ht();Vt();Yt();sr();o(Sae,"shadedProcess")});async function Cae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=-l/2,f=-u/2,{cssStyles:d}=e,p=Je.svg(i),m=tt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:h,y:f},{x:h,y:f+u},{x:h+l,y:f+u},{x:h+l,y:f-u/2}],y=Wt(g),v=p.path(y,m),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),x.attr("transform",`translate(0, ${u/4})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))}, ${-u/4+(e.padding??0)-(a.y-(a.top??0))})`),Ze(e,x),e.intersect=function(b){return Ke.polygon(e,g,b)},i}var Aae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Cae,"slopedRect")});async function _ae(t,e){let r={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return g0(t,e,r)}var Dae=I(()=>{"use strict";nb();o(_ae,"squareRect")});async function Rae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,u=s/2,{cssStyles:h}=e,f=Je.svg(i),d=tt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-l/2+u,y:-s/2},{x:l/2-u,y:-s/2},...d0(-l/2+u,0,u,50,90,270),{x:l/2-u,y:s/2},...d0(l/2-u,0,u,50,270,450)],m=Wt(p),g=f.path(m,d),y=i.insert(()=>g,":first-child");return y.attr("class","basic label-container outer-path"),h&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",h),n&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",n),Ze(e,y),e.intersect=function(v){return Ke.polygon(e,p,v)},i}var Lae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Rae,"stadium")});async function Nae(t,e){return g0(t,e,{rx:5,ry:5,classes:"flowchart-node"})}var Mae=I(()=>{"use strict";nb();o(Nae,"state")});function Iae(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n;let{cssStyles:a}=e,{lineColor:s,stateBorder:l,nodeBorder:u}=r,h=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),f=Je.svg(h),d=tt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=f.circle(0,0,14,{...d,stroke:s,strokeWidth:2}),m=l??u,g=f.circle(0,0,5,{...d,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),y=h.insert(()=>p,":first-child");return y.insert(()=>g),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),Ze(e,y),e.intersect=function(v){return Ke.circle(e,7,v)},h}var Oae=I(()=>{"use strict";Yt();Ht();Vt();Bt();o(Iae,"stateEnd")});function Pae(t,e,{config:{themeVariables:r}}){let{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Je.svg(i).circle(0,0,14,Vne(n));a=i.insert(()=>l),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return Ze(e,a),e.intersect=function(s){return Ke.circle(e,7,s)},i}var Bae=I(()=>{"use strict";Yt();Ht();Vt();Bt();o(Pae,"stateStart")});async function Fae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-s,f=-a.height/2-s,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Je.svg(i),m=tt(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",On(b)),Ze(e,x)}else{let p=ao(i,l,u,d);n&&p.attr("style",n),Ze(e,p)}return e.intersect=function(p){return Ke.polygon(e,d,p)},i}var $ae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();sr();o(Fae,"subroutine")});async function zae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=-s/2,h=-l/2,f=.2*l,d=.2*l,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{}),y=[{x:u-f/2,y:h},{x:u+s+f/2,y:h},{x:u+s+f/2,y:h+l},{x:u-f/2,y:h+l}],v=[{x:u+s-f/2,y:h+l},{x:u+s+f/2,y:h+l},{x:u+s+f/2,y:h+l-d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=Wt(y),b=m.path(x,g),T=Wt(v),E=m.path(T,{...g,fillStyle:"solid"}),w=i.insert(()=>E,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),Ze(e,w),e.intersect=function(k){return Ke.polygon(e,y,k)},i}var Gae=I(()=>{"use strict";Bt();Vt();Yt();Ht();o(zae,"taggedRect")});async function Vae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=.2*l,d=.2*u,p=u+h,{cssStyles:m}=e,g=Je.svg(i),y=tt(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-l/2-l/2*.1,y:p/2},...vl(-l/2-l/2*.1,p/2,l/2+l/2*.1,p/2,h,.8),{x:l/2+l/2*.1,y:-p/2},{x:-l/2-l/2*.1,y:-p/2}],x=-l/2+l/2*.1,b=-p/2-d*.4,T=[{x:x+l-f,y:(b+u)*1.4},{x:x+l,y:b+u-d},{x:x+l,y:(b+u)*.9},...vl(x+l,(b+u)*1.3,x+l-f,(b+u)*1.5,-u*.03,.5)],E=Wt(v),w=g.path(E,y),k=Wt(T),C=g.path(k,{...y,fillStyle:"solid"}),D=i.insert(()=>C,":first-child");return D.insert(()=>w,":first-child"),D.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",n),D.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Ze(e,D),e.intersect=function(R){return Ke.polygon(e,v,R)},i}var qae=I(()=>{"use strict";Bt();Ht();Yt();Vt();o(Vae,"taggedWaveEdgedRectangle")});async function Uae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=Math.max(a.width+e.padding,e?.width||0),l=Math.max(a.height+e.padding,e?.height||0),u=-s/2,h=-l/2,f=i.insert("rect",":first-child");return f.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",u).attr("y",h).attr("width",s).attr("height",l),Ze(e,f),e.intersect=function(d){return Ke.rect(e,d)},i}var Wae=I(()=>{"use strict";Bt();Ht();Vt();o(Uae,"text")});async function Hae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s,halfPadding:l}=await ft(t,e,lt(e)),u=e.look==="neo"?l*2:l,h=a.height+u,f=h/2,d=f/(2.5+h/50),p=a.width+d+u,{cssStyles:m}=e,g;if(e.look==="handDrawn"){let y=Je.svg(i),v=LFe(0,0,p,h,d,f),x=NFe(0,0,p,h,d,f),b=y.path(v,tt(e,{})),T=y.path(x,tt(e,{fill:"none"}));g=i.insert(()=>T,":first-child"),g=i.insert(()=>b,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{let y=RFe(0,0,p,h,d,f);g=i.insert("path",":first-child").attr("d",y).attr("class","basic label-container").attr("style",On(m)).attr("style",n),g.attr("class","basic label-container"),m&&g.selectAll("path").attr("style",m),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-p/2}, ${h/2} )`),s.attr("transform",`translate(${-(a.width/2)-d-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Ze(e,g),e.intersect=function(y){let v=Ke.rect(e,y),x=v.y-(e.y??0);if(f!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-d)){let b=d*d*(1-x*x/(f*f));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,y.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},i}var RFe,LFe,NFe,Yae=I(()=>{"use strict";Bt();Vt();Yt();Ht();sr();RFe=o((t,e,r,n,i,a)=>`M${t},${e} +`);return Mw(n)}function sie(t){return t.split(/\\n|\n|/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(r=>({content:r,type:"normal"}))??[])}function oie(t,e={}){let r=I$e(t,e),n=yn.lexer(r),i=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` +`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p=p.replace(/'/g,"'"),p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"?i[a].push({content:l.text,type:"normal"}):i[a].push({content:l.raw,type:"normal"})}),i}function lie(t){return t?`

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

    `:""}function cie(t,{markdownAutoWrap:e}={}){let r=yn.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

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

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(K.warn(`Unsupported markdown: ${i.type}`),i.raw)}return o(n,"output"),r.map(n).join("")}var uie=O(()=>{"use strict";aie();vD();xt();o(I$e,"preprocessMarkdown");o(sie,"nonMarkdownToLines");o(oie,"markdownToLines");o(lie,"nonMarkdownToHTML");o(cie,"markdownToHTML")});function O$e(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function P$e(t,e){let r=O$e(e.content);return hie(t,[],r,e.type)}function hie(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?hie(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function fie(t,e){if(t.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return uM(t,e)}function uM(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return uM(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=P$e(e,a);r.push([l]),u.content&&t.unshift(u)}return uM(t,e,r)}var die=O(()=>{"use strict";o(O$e,"splitTextToChars");o(P$e,"splitWordToFitWidth");o(hie,"splitWordToFitWidthRecursion");o(fie,"splitLineToFitWidth");o(uM,"splitLineToFitWidthRecursion")});function pie(t,e){e&&t.attr("style",e)}async function B$e(t,e,r,n,i=!1,a=Zt()){let s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,mie)}px`),s.attr("height",`${Math.min(10*r,mie)}px`);let l=s.append("xhtml:div"),u=Jn(e.label)?await gg(e.label.replace(st.lineBreakRegex,` +`),a):wr(e.label,a),h=e.isNode?"nodeLabel":"edgeLabel",f=l.append("span");f.html(u),pie(f,e.labelStyle),f.attr("class",`${h} ${n}`),pie(l,e.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(l.style("max-width",r+"px"),l.style("text-align","center")),l.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&l.attr("class","labelBkg");let d=l.node().getBoundingClientRect();return d.width===r&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",r+"px"),d=l.node().getBoundingClientRect()),s.node()}function hM(t,e,r,n=!1){let i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}function F$e(t,e,r){let n=t.append("text"),i=hM(n,1,e);fM(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function gie(t,e,r){let n=t.append("text"),i=hM(n,1,e);fM(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function $$e(t,e,r,n=!1,i=!1){let s=e.append("g"),l=s.insert("rect").attr("class","background").attr("style","stroke: none"),u=s.append("text").attr("y","-10.1");i&&u.attr("text-anchor","middle");let h=0;for(let f of r){let d=o(m=>F$e(s,1.1,m)<=t,"checkWidth"),p=d(f)?[f]:fie(f,d);for(let m of p){let g=hM(u,h,1.1,i);fM(g,m),h++}}if(n){let f=u.node().getBBox(),d=2;return l.attr("x",f.x-d).attr("y",f.y-d).attr("width",f.width+2*d).attr("height",f.height+2*d),s.node()}else return u.node()}function fM(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}async function z$e(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{let l=`${a}:${s}`;return await TX(l)?await eo(l,void 0,{class:"label-icon"}):``})()),i));let n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}var mie,Fn,co=O(()=>{"use strict";Ar();Ur();xt();uie();ar();Xc();die();$r();o(pie,"applyStyle");mie=16384;o(B$e,"addHtmlSpan");o(hM,"createTspan");o(F$e,"computeWidthOfText");o(gie,"computeDimensionOfText");o($$e,"createFormattedText");o(fM,"updateTextContentAndStyles");o(z$e,"replaceIconSubstring");Fn=o(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:l=!0,width:u=200,addSvgBackground:h=!1}={},f)=>{if(K.debug("XYZ createText",e,r,n,i,a,l,"addSvgBackground: ",h),a){let d=s?cie(e,f):lie(e),p=await z$e(ao(d),f),m=e.replace(/\\\\/g,"\\"),g={isNode:l,label:Jn(e)?m:p,labelStyle:r.replace("fill:","color:")};return await B$e(t,g,u,i,h,f)}else{let d=e.replace(//g,"
    "),p=s?oie(d.replace("
    ","
    "),f):sie(d),m=$$e(u,t,p,e?h:!1,!l);if(l){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");je(m).attr("style",g)}else{let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");je(m).select("rect").attr("style",g.replace(/background:/g,"fill:"));let y=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");je(m).select("text").attr("style",y)}return n?je(m).selectAll("tspan.text-outer-tspan").classed("title-row",!0):je(m).selectAll("tspan.text-outer-tspan").classed("row",!0),m}},"createText")});async function Wk(t,e){let r=t.getElementsByTagName("img");if(!r||r.length===0)return;let n=e.replace(/]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){let l=ve().fontSize?ve().fontSize:window.getComputedStyle(document.body).fontSize,u=5,[h=gr.fontSize]=Uo(l),f=h*u+"px";i.style.minWidth=f,i.style.maxWidth=f}else i.style.width="100%";a(i)}o(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}var dM=O(()=>{"use strict";jt();La();ar();o(Wk,"configureLabelImages")});function er(t){let e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}function El(t,e,r,n,i,a){let s=[],u=r-t,h=n-e,f=u/a,d=2*Math.PI/f,p=e+h/2;for(let m=0;m<=50;m++){let g=m/50,y=t+g*u,v=p+i*Math.sin(d*(y-t));s.push({x:y,y:v})}return s}function y0(t,e,r,n,i,a){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;d{"use strict";co();jt();$r();Ar();Ur();ar();dM();pt=o(async(t,e,r)=>{let n,i=e.useHtmlLabels||Xs(ve()?.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",Bn(e.labelStyle)),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u=!!e.icon||!!e.img,h=e.labelType==="markdown",f=await Fn(s,wr(ao(l),ve()),{useHtmlLabels:i,width:e.width||ve().flowchart?.wrappingWidth,cssClasses:h?"markdown-node-label":void 0,style:e.labelStyle,addSvgBackground:u,markdown:h},ve()),d=f.getBBox(),p=(e?.padding??0)/2;if(i){let m=f.children[0],g=je(f);await Wk(m,l),d=m.getBoundingClientRect(),g.attr("width",d.width),g.attr("height",d.height)}return i?s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):s.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:d,halfPadding:p,label:s}},"labelHelper"),Hk=o(async(t,e,r)=>{let n=r.useHtmlLabels??Sr(ve()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await Fn(i,wr(ao(e),ve()),{useHtmlLabels:n,width:r.width||ve()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),s=a.getBBox(),l=r.padding/2;if(Sr(ve())){let u=a.children[0],h=je(a);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:l,label:i}},"insertLabel"),rt=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),ht=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");o(er,"createPathFromPoints");o(El,"generateFullSineWavePoints");o(y0,"generateCirclePoints")});function G$e(t,e){return t.intersect(e)}var yie,vie=O(()=>{"use strict";o(G$e,"intersectNode");yie=G$e});function V$e(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(V$e,"intersectEllipse");Yk=V$e});function q$e(t,e,r){return Yk(t,e,e,r)}var xie,bie=O(()=>{"use strict";pM();o(q$e,"intersectCircle");xie=q$e});function U$e(t,e,r,n){{let i=e.y-t.y,a=t.x-e.x,s=e.x*t.y-t.x*e.y,l=i*r.x+a*r.y+s,u=i*n.x+a*n.y+s,h=1e-6;if(l!==0&&u!==0&&Tie(l,u))return;let f=n.y-r.y,d=r.x-n.x,p=n.x*r.y-r.x*n.y,m=f*t.x+d*t.y+p,g=f*e.x+d*e.y+p;if(Math.abs(m)0}var wie,kie=O(()=>{"use strict";o(U$e,"intersectLine");o(Tie,"sameSign");wie=U$e});function W$e(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=n-t.width/2-s,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";kie();o(W$e,"intersectPolygon");Eie=W$e});var H$e,Qf,mM=O(()=>{"use strict";H$e=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Qf=H$e});var Qe,Yt=O(()=>{"use strict";vie();bie();pM();Sie();mM();Qe={node:yie,circle:xie,ellipse:Yk,polygon:Eie,rect:Qf}});var Cie,pu,Y$e,ub,Ze,nt,j$e,Ut=O(()=>{"use strict";jt();Cie=o(t=>{let{handDrawnSeed:e}=ve();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),pu=o(t=>{let e=Y$e([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),Y$e=o(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),ub=o(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),Ze=o(t=>{let{stylesArray:e}=pu(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{let l=s[0];ub(l)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),l.includes("stroke")&&i.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),nt=o((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=ve(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=pu(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:j$e(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),j$e=o(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(e.length===1){let i=isNaN(e[0])?0:e[0];return[i,i]}let r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray")});function gM(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*s-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*s+i}}}function X$e(t,e){return t[0]===e[0]&&t[1]===e[1]}function K$e(t,e,r,n=1){let i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of s)gM(h,l,i);let u=(function(h,f,d){let p=[];for(let b of h){let T=[...b];X$e(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&p.push(T)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let T=0;Tb.yminT.ymin?1:b.xT.x?1:b.ymax===T.ymax?0:(b.ymax-T.ymax)/Math.abs(b.ymax-T.ymax))),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let T=0;Tv);T++)b=T;g.splice(0,b+1).forEach((T=>{y.push({s:v,edge:T})}))}if(y=y.filter((b=>!(b.edge.ymax<=v))),y.sort(((b,T)=>b.edge.x===T.edge.x?0:(b.edge.x-T.edge.x)/Math.abs(b.edge.x-T.edge.x))),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let E=y[b].edge,w=y[T].edge;m.push([[Math.round(E.x),v],[Math.round(w.x),v]])}v+=d,y.forEach((b=>{b.edge.x=b.edge.x+d*b.edge.islope})),x++}return m})(s,a,n);if(i){for(let h of s)gM(h,l,-i);(function(h,f,d){let p=[];h.forEach((m=>p.push(...m))),gM(p,f,d)})(u,l,-i)}return u}function pb(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),K$e(t,i,n,a||1)}function rE(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function vM(t,e){return t.type===e}function NM(t){let e=[],r=(function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:Q$e,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:yM,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:Aie,text:""},l})(t),n="BOD",i=0,a=r[i];for(;!vM(a,Aie);){let s=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return NM("M0,0"+t);i++,s=jk[a.text],n=a.text}else vM(a,yM)?s=jk[n]:(i++,s=jk[a.text],n=a.text);if(!(i+sf%2?h+r:h+e));a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map(((h,f)=>f%2?h+r:h+e));a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function Pie(t){let e=[],r="",n=0,i=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(Bie(n,i,v,x,d,p,m,g,y).forEach((function(b){e.push({key:"C",data:b})})),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=h}return e}function hb(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function Bie(t,e,r,n,i,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=hb(t,e,-f),[r,n]=hb(r,n,-f);let _=(t-r)/2,D=(e-n)/2,M=_*_/(i*i)+D*D/(a*a);M>1&&(M=Math.sqrt(M),i*=M,a*=M);let R=i*i,P=a*a,B=R*P-R*D*D-P*_*_,F=R*D*D+P*_*_,G=(l===u?-1:1)*Math.sqrt(Math.abs(B/F));y=G*i*D/a+(t+r)/2,v=G*-a*_/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let _=g,D=r,M=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=Bie(r=y+i*Math.cos(g),n=v+a*Math.sin(g),D,M,i,a,s,0,u,[g,_,y,v])}x=g-m;let b=Math.cos(m),T=Math.sin(m),E=Math.cos(g),w=Math.sin(g),k=Math.tan(x/4),S=4/3*i*k,A=4/3*a*k,L=[t,e],I=[t+S*T,e-A*b],N=[r+S*w,n-A*E],C=[r,n];if(I[0]=2*L[0]-I[0],I[1]=2*L[1]-I[1],h)return[I,N,C].concat(p);{p=[I,N,C].concat(p);let _=[];for(let D=0;D2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=Mie(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=Mie(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...Zf(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Zf(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function Rie(t,e){let r=Pie(Oie(NM(t))),n=[],i=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Zf(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...eze(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Zf(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function xM(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+yr(i,e),n[0][1]+yr(i,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*zie(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=yr(m,i,h),g=yr(g,i,h);let y=[],v=o(()=>yr(d,i,h),"M"),x=o(()=>yr(f,i,h),"k"),b=i.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:yr(f,i,h)),e+(b?0:yr(f,i,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function Xk(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+yr(e,r),t[0][1]+yr(e,r)]),n.push([t[0][0]+yr(e,r),t[0][1]+yr(e,r)]);for(let i=1;i3){let a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=v0(u,h,.5),m=v0(h,f,.5),g=v0(f,d,.5),y=v0(p,m,.5),v=v0(m,g,.5),x=v0(y,v,.5);DM([u,p,y,x],0,r,i),DM([x,v,g,d],0,r,i)}var a,s;return i}function rze(t,e){return tE(t,0,t.length,e)}function tE(t,e,r,n,i){let a=i||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(tE(t,e,h+1,n,a),tE(t,h,r,n,a)):(a.length||a.push(s),a.push(l)),a}function bM(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?tE(n,0,n.length,r):n}var db,TM,wM,kM,EM,SM,uo,CM,Q$e,yM,Aie,jk,Z$e,Wo,p1,RM,Kk,LM,Je,Wt=O(()=>{"use strict";o(gM,"t");o(X$e,"e");o(K$e,"s");o(pb,"n");db=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=pb(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};o(rE,"a");TM=class extends db{static{o(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=pb(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)rE([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},wM=class extends db{static{o(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},kM=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=pb(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=i/4;for(let l of e){let u=rE(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=rE(s),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=rE(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(S=0,A=2*Math.PI);let L=(A-S)/b.curveStepCount,I=[];for(let N=S;N<=A;N+=L)I.push([T+w*Math.cos(N),E+k*Math.sin(N)]);return I.push([T+w*Math.cos(A),E+k*Math.sin(A)]),I.push([T,E]),d1([I],b)})(e,r,n,i,a,s,h));return h.stroke!==Wo&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=_ie(e,n);if(n.fill&&n.fill!==Wo)if(n.fillStyle==="solid"){let s=_ie(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...bM(Iie([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):s.push(...bM(Iie(h),10,(1+n.roughness)/2))}s.length&&i.push(d1([s],n))}return n.stroke!==Wo&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=Qk(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(xM([e],n)):i.push(d1([e],n))),n.stroke!==Wo&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==Wo,s=n.stroke!==Wo,l=!!(n.simplification&&n.simplification<1),u=(function(f,d,p){let m=Pie(Oie(NM(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...bM(x,d)),x=[]},"i"),T=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:w,data:k}of m)switch(w){case"M":T(),v=[k[0],k[1]],y.push(v);break;case"L":b(),y.push([k[0],k[1]]);break;case"C":if(!x.length){let S=y.length?y[y.length-1]:v;x.push([S[0],S[1]])}x.push([k[0],k[1]]),x.push([k[2],k[3]]),x.push([k[4],k[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(T(),!p)return g;let E=[];for(let w of g){let k=rze(w,p);k.length&&E.push(k)}return E})(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=Rie(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=Rie(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(xM(u,n));else i.push(d1(u,n));return s&&(l?u.forEach((f=>{i.push(Qk(f,!1,n))})):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Wo};break;case"fillPath":s={d:this.opsToPath(a),stroke:Wo,strokeWidth:0,fill:n.fill||Wo};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||Wo,strokeWidth:n,fill:Wo}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}},RM=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new p1(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let s=typeof n=="number"&&n>=0?a.data.map((l=>+l.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},Kk="http://www.w3.org/2000/svg",LM=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new p1(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(Kk,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(Kk,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(Kk,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(Kk,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Je={canvas:o((t,e)=>new RM(t,e),"canvas"),svg:o((t,e)=>new LM(t,e),"svg"),generator:o(t=>new p1(t),"generator"),newSeed:o(()=>p1.newSeed(),"newSeed")}});function Gie(t,e){let{labelStyles:r}=Ze(e);e.labelStyle=r;let n=ht(e),i=n;n||(i="anchor");let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=1,{cssStyles:l}=e,u=Je.svg(a),h=nt(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);let f=u.circle(0,0,s*2,h),d=a.insert(()=>f,":first-child");return d.attr("class","anchor").attr("style",Bn(l)),rt(e,d),e.intersect=function(p){return K.info("Circle intersect",e,s,p),Qe.circle(e,s,p)},a}var Vie=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();ar();o(Gie,"anchor")});function qie(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let k=[];for(let S=0;S<20;S++){let A=S/19,L=T+A*w,I=x+i*Math.cos(L),N=b+a*Math.sin(L);k.push({x:I,y:N})}return k}async function Uie(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.width+e.padding+20,l=a.height+e.padding,u=l/2,h=u/(2.5+l/50),{cssStyles:f}=e,d=[{x:s/2,y:-l/2},{x:-s/2,y:-l/2},...qie(-s/2,-l/2,-s/2,l/2,h,u,!1),{x:s/2,y:l/2},...qie(s/2,l/2,s/2,-l/2,h,u,!0)],p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=er(d),y=p.path(g,m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${h/2}, 0)`),rt(e,v),e.intersect=function(x){return Qe.polygon(e,d,x)},i}var Wie=O(()=>{"use strict";$t();Yt();Ut();Wt();o(qie,"generateArcPoints");o(Uie,"bowTieRect")});function rs(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var _h=O(()=>{"use strict";o(rs,"insertPolygonShape")});async function Hie(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.height+e.padding,l=12,u=a.width+e.padding+l,h=0,f=u,d=-s,p=0,m=[{x:h+l,y:d},{x:f,y:d},{x:f,y:p},{x:h,y:p},{x:h,y:d+l},{x:h+l,y:d}],g,{cssStyles:y}=e;if(e.look==="handDrawn"){let v=Je.svg(i),x=nt(e,{}),b=er(m),T=v.path(b,x);g=i.insert(()=>T,":first-child").attr("transform",`translate(${-u/2}, ${s/2})`),y&&g.attr("style",y)}else g=rs(i,u,s,m);return n&&g.attr("style",n),rt(e,g),e.intersect=function(v){return Qe.polygon(e,m,v)},i}var Yie=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();$t();o(Hie,"card")});function jie(t,e){let{nodeStyles:r}=Ze(e);e.label="";let n=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],l=Je.svg(n),u=nt(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=er(s),f=l.path(h,u),d=n.insert(()=>f,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(p){return Qe.polygon(e,s,p)},n}var Xie=O(()=>{"use strict";Yt();Wt();Ut();$t();o(jie,"choice")});async function nE(t,e,r){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n;let{shapeSvg:a,bbox:s,halfPadding:l}=await pt(t,e,ht(e)),u=r?.padding??l,h=s.width/2+u,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Je.svg(a),m=nt(e,{}),g=p.circle(0,0,h*2,m);f=a.insert(()=>g,":first-child"),f.attr("class","basic label-container").attr("style",Bn(d))}else f=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0);return rt(e,f),e.calcIntersect=function(p,m){let g=p.width/2;return Qe.circle(p,g,m)},e.intersect=function(p){return K.info("Circle intersect",e,h,p),Qe.circle(e,h,p)},a}var MM=O(()=>{"use strict";Wt();xt();ar();Yt();Ut();$t();o(nE,"circle")});function nze(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},l={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${l.x},${l.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}function Kie(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r,e.label="";let i=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=Je.svg(i),u=nt(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=l.circle(0,0,a*2,u),f=nze(a),d=l.path(f,u),p=i.insert(()=>h,":first-child");return p.insert(()=>d),s&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",n),rt(e,p),e.intersect=function(m){return K.info("crossedCircle intersect",e,{radius:a,point:m}),Qe.circle(e,a,m)},i}var Qie=O(()=>{"use strict";xt();$t();Ut();Wt();Yt();o(nze,"createLine");o(Kie,"crossedCircle")});function Jf(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),E.insert(()=>x,":first-child"),E.attr("class","text"),f&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(${h}, 0)`),s.attr("transform",`translate(${-l/2+h-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),rt(e,E),e.intersect=function(w){return Qe.polygon(e,p,w)},i}var Jie=O(()=>{"use strict";$t();Yt();Ut();Wt();o(Jf,"generateCirclePoints");o(Zie,"curlyBraceLeft")});function ed(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),E.insert(()=>x,":first-child"),E.attr("class","text"),f&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(${-h}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),rt(e,E),e.intersect=function(w){return Qe.polygon(e,p,w)},i}var tae=O(()=>{"use strict";$t();Yt();Ut();Wt();o(ed,"generateCirclePoints");o(eae,"curlyBraceRight")});function ns(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dS,":first-child").attr("stroke-opacity",0),A.insert(()=>b,":first-child"),A.insert(()=>w,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${h-h/4}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),rt(e,A),e.intersect=function(L){return Qe.polygon(e,m,L)},i}var nae=O(()=>{"use strict";$t();Yt();Ut();Wt();o(ns,"generateCirclePoints");o(rae,"curlyBraces")});async function iae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=80,l=20,u=Math.max(s,(a.width+(e.padding??0)*2)*1.25,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=u,y=h,v=g-f,x=y/4,b=[{x:v,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:v,y},...y0(-v,-y/2,f,50,270,90)],T=er(b),E=p.path(T,m),w=i.insert(()=>E,":first-child");return w.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",n),w.attr("transform",`translate(${-u/2}, ${-h/2})`),rt(e,w),e.intersect=function(k){return Qe.polygon(e,b,k)},i}var aae=O(()=>{"use strict";$t();Yt();Ut();Wt();o(iae,"curvedTrapezoid")});async function sae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+e.padding,e.height??0),d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=aze(0,0,l,f,u,h),y=sze(0,h,l,f,u,h),v=m.path(g,nt(e,{})),x=m.path(y,nt(e,{fill:"none"}));d=i.insert(()=>x,":first-child"),d=i.insert(()=>v,":first-child"),d.attr("class","basic label-container"),p&&d.attr("style",p)}else{let m=ize(0,0,l,f,u,h);d=i.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",Bn(p)).attr("style",n)}return d.attr("label-offset-y",h),d.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),rt(e,d),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(m){let g=Qe.rect(e,m),y=g.x-(e.x??0);if(u!=0&&(Math.abs(y)<(e.width??0)/2||Math.abs(y)==(e.width??0)/2&&Math.abs(g.y-(e.y??0))>(e.height??0)/2-h)){let v=h*h*(1-y*y/(u*u));v>0&&(v=Math.sqrt(v)),v=h-v,m.y-(e.y??0)>0&&(v=-v),g.y+=v}return g},i}var ize,aze,sze,oae=O(()=>{"use strict";$t();Yt();Ut();Wt();ar();ize=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),aze=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),sze=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(sae,"cylinder")});async function lae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=a.width+e.padding,u=a.height+e.padding,h=u*.2,f=-l/2,d=-u/2-h/2,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d+h},{x:-f,y:d+h},{x:-f,y:-d},{x:f,y:-d},{x:f,y:d},{x:-f,y:d},{x:-f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${f+(e.padding??0)/2-(a.x-(a.left??0))}, ${d+h+(e.padding??0)/2-(a.y-(a.top??0))})`),rt(e,x),e.intersect=function(b){return Qe.rect(e,b)},i}var cae=O(()=>{"use strict";$t();Yt();Ut();Wt();o(lae,"dividedRectangle")});async function uae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await pt(t,e,ht(e)),u=a.width/2+s+5,h=a.width/2+s,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Je.svg(i),m=nt(e,{roughness:.2,strokeWidth:2.5}),g=nt(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",Bn(e.cssClasses)).attr("style",Bn(d)),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return rt(e,f),e.intersect=function(p){return K.info("DoubleCircle intersect",e,u,p),Qe.circle(e,u,p)},i}var hae=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();ar();o(uae,"doublecircle")});function fae(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Ze(e);e.label="",e.labelStyle=n;let a=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),s=7,{cssStyles:l}=e,u=Je.svg(a),{nodeBorder:h}=r,f=nt(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(f.roughness=0);let d=u.circle(0,0,s*2,f),p=a.insert(()=>d,":first-child");return p.selectAll("path").attr("style",`fill: ${h} !important;`),l&&l.length>0&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",l),i&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",i),rt(e,p),e.intersect=function(m){return K.info("filledCircle intersect",e,{radius:s,point:m}),Qe.circle(e,s,m)},a}var dae=O(()=>{"use strict";Wt();xt();Yt();Ut();$t();o(fae,"filledCircle")});async function pae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=a.width+(e.padding??0),u=l+a.height,h=l+a.height,f=[{x:0,y:-u},{x:h,y:-u},{x:h/2,y:0}],{cssStyles:d}=e,p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=er(f),y=p.path(g,m),v=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return d&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),e.width=l,e.height=u,rt(e,v),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(x){return K.info("Triangle intersect",e,f,x),Qe.polygon(e,f,x)},i}var mae=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();$t();o(pae,"flippedTriangle")});function gae(t,e,{dir:r,config:{state:n,themeVariables:i}}){let{nodeStyles:a}=Ze(e);e.label="";let s=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,u=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);r==="LR"&&(u=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));let f=-1*u/2,d=-1*h/2,p=Je.svg(s),m=nt(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=p.rectangle(f,d,u,h,m),y=s.insert(()=>g,":first-child");l&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",l),a&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",a),rt(e,y);let v=n?.padding??0;return e.width&&e.height&&(e.width+=v/2||0,e.height+=v/2||0),e.intersect=function(x){return Qe.rect(e,x)},s}var yae=O(()=>{"use strict";Wt();Yt();Ut();$t();o(gae,"forkJoin")});async function vae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let i=80,a=50,{shapeSvg:s,bbox:l}=await pt(t,e,ht(e)),u=Math.max(i,l.width+(e.padding??0)*2,e?.width??0),h=Math.max(a,l.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Je.svg(s),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-u/2,y:-h/2},{x:u/2-f,y:-h/2},...y0(-u/2+f,0,f,50,90,270),{x:u/2-f,y:h/2},{x:-u/2,y:h/2}],y=er(g),v=p.path(y,m),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),rt(e,x),e.intersect=function(b){return K.info("Pill intersect",e,{radius:f,point:b}),Qe.polygon(e,g,b)},s}var xae=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();o(vae,"halfRoundedRectangle")});async function bae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=4,l=a.height+e.padding,u=l/s,h=a.width+2*u+e.padding,f=[{x:u,y:0},{x:h-u,y:0},{x:h,y:-l/2},{x:h-u,y:-l},{x:u,y:-l},{x:0,y:-l/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=nt(e,{}),y=oze(0,0,h,l,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${l/2})`),p&&d.attr("style",p)}else d=rs(i,h,l,f);return n&&d.attr("style",n),e.width=h,e.height=l,rt(e,d),e.intersect=function(m){return Qe.polygon(e,f,m)},i}var oze,Tae=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();oze=o((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");o(bae,"hexagon")});async function wae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.label="",e.labelStyle=r;let{shapeSvg:i}=await pt(t,e,ht(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=Je.svg(i),h=nt(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let f=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=er(f),p=u.path(d,h),m=i.insert(()=>p,":first-child");return m.attr("class","basic label-container"),l&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",l),n&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",n),m.attr("transform",`translate(${-a/2}, ${-s/2})`),rt(e,m),e.intersect=function(g){return K.info("Pill intersect",e,{points:f}),Qe.polygon(e,f,g)},i}var kae=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();o(wae,"hourglass")});async function Eae(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Ze(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await pt(t,e,"icon-shape default"),p=e.pos==="t",m=l,g=l,{nodeBorder:y}=r,{stylesMap:v}=pu(e),x=-g/2,b=-m/2,T=e.label?8:0,E=Je.svg(h),w=nt(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let k=E.rectangle(x,b,g,m,w),S=Math.max(g,f.width),A=m+f.height+T,L=E.rectangle(-S/2,-A/2,S,A,{...w,fill:"transparent",stroke:"none"}),I=h.insert(()=>k,":first-child"),N=h.insert(()=>L);if(e.icon){let C=h.append("g");C.html(`${await eo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let _=C.node().getBBox(),D=_.width,M=_.height,R=_.x,P=_.y;C.attr("transform",`translate(${-D/2-R},${p?f.height/2+T/2-M/2-P:-f.height/2-T/2-M/2-P})`),C.attr("style",`color: ${v.get("stroke")??y};`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-A/2:A/2-f.height})`),I.attr("transform",`translate(0,${p?f.height/2+T/2:-f.height/2-T/2})`),rt(e,N),e.intersect=function(C){if(K.info("iconSquare intersect",e,C),!e.label)return Qe.rect(e,C);let _=e.x??0,D=e.y??0,M=e.height??0,R=[];return p?R=[{x:_-f.width/2,y:D-M/2},{x:_+f.width/2,y:D-M/2},{x:_+f.width/2,y:D-M/2+f.height+T},{x:_+g/2,y:D-M/2+f.height+T},{x:_+g/2,y:D+M/2},{x:_-g/2,y:D+M/2},{x:_-g/2,y:D-M/2+f.height+T},{x:_-f.width/2,y:D-M/2+f.height+T}]:R=[{x:_-g/2,y:D-M/2},{x:_+g/2,y:D-M/2},{x:_+g/2,y:D-M/2+m},{x:_+f.width/2,y:D-M/2+m},{x:_+f.width/2/2,y:D+M/2},{x:_-f.width/2,y:D+M/2},{x:_-f.width/2,y:D-M/2+m},{x:_-g/2,y:D-M/2+m}],Qe.polygon(e,R,C)},h}var Sae=O(()=>{"use strict";Wt();xt();Xc();Yt();Ut();$t();o(Eae,"icon")});async function Cae(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Ze(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await pt(t,e,"icon-shape default"),p=20,m=e.label?8:0,g=e.pos==="t",{nodeBorder:y,mainBkg:v}=r,{stylesMap:x}=pu(e),b=Je.svg(h),T=nt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=x.get("fill");T.stroke=E??v;let w=h.append("g");e.icon&&w.html(`${await eo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let k=w.node().getBBox(),S=k.width,A=k.height,L=k.x,I=k.y,N=Math.max(S,A)*Math.SQRT2+p*2,C=b.circle(0,0,N,T),_=Math.max(N,f.width),D=N+f.height+m,M=b.rectangle(-_/2,-D/2,_,D,{...T,fill:"transparent",stroke:"none"}),R=h.insert(()=>C,":first-child"),P=h.insert(()=>M);return w.attr("transform",`translate(${-S/2-L},${g?f.height/2+m/2-A/2-I:-f.height/2-m/2-A/2-I})`),w.attr("style",`color: ${x.get("stroke")??y};`),d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-D/2:D/2-f.height})`),R.attr("transform",`translate(0,${g?f.height/2+m/2:-f.height/2-m/2})`),rt(e,P),e.intersect=function(B){return K.info("iconSquare intersect",e,B),Qe.rect(e,B)},h}var Aae=O(()=>{"use strict";Wt();xt();Xc();Yt();Ut();$t();o(Cae,"iconCircle")});var ho,x0=O(()=>{"use strict";ho=o((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});async function _ae(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Ze(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await pt(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=pu(e),T=-y/2,E=-g/2,w=e.label?8:0,k=Je.svg(h),S=nt(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");let A=b.get("fill");S.stroke=A??x;let L=k.path(ho(T,E,y,g,5),S),I=Math.max(y,f.width),N=g+f.height+w,C=k.rectangle(-I/2,-N/2,I,N,{...S,fill:"transparent",stroke:"none"}),_=h.insert(()=>L,":first-child").attr("class","icon-shape2"),D=h.insert(()=>C);if(e.icon){let M=h.append("g");M.html(`${await eo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let R=M.node().getBBox(),P=R.width,B=R.height,F=R.x,G=R.y;M.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-G:-f.height/2-w/2-B/2-G})`),M.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-N/2:N/2-f.height})`),_.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),rt(e,D),e.intersect=function(M){if(K.info("iconSquare intersect",e,M),!e.label)return Qe.rect(e,M);let R=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:R-f.width/2,y:P-B/2},{x:R+f.width/2,y:P-B/2},{x:R+f.width/2,y:P-B/2+f.height+w},{x:R+y/2,y:P-B/2+f.height+w},{x:R+y/2,y:P+B/2},{x:R-y/2,y:P+B/2},{x:R-y/2,y:P-B/2+f.height+w},{x:R-f.width/2,y:P-B/2+f.height+w}]:F=[{x:R-y/2,y:P-B/2},{x:R+y/2,y:P-B/2},{x:R+y/2,y:P-B/2+g},{x:R+f.width/2,y:P-B/2+g},{x:R+f.width/2/2,y:P+B/2},{x:R-f.width/2,y:P+B/2},{x:R-f.width/2,y:P-B/2+g},{x:R-y/2,y:P-B/2+g}],Qe.polygon(e,F,M)},h}var Dae=O(()=>{"use strict";Wt();xt();Xc();Yt();Ut();x0();$t();o(_ae,"iconRounded")});async function Rae(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=Ze(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await pt(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=pu(e),T=-y/2,E=-g/2,w=e.label?8:0,k=Je.svg(h),S=nt(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");let A=b.get("fill");S.stroke=A??x;let L=k.path(ho(T,E,y,g,.1),S),I=Math.max(y,f.width),N=g+f.height+w,C=k.rectangle(-I/2,-N/2,I,N,{...S,fill:"transparent",stroke:"none"}),_=h.insert(()=>L,":first-child"),D=h.insert(()=>C);if(e.icon){let M=h.append("g");M.html(`${await eo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let R=M.node().getBBox(),P=R.width,B=R.height,F=R.x,G=R.y;M.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-G:-f.height/2-w/2-B/2-G})`),M.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-N/2:N/2-f.height})`),_.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),rt(e,D),e.intersect=function(M){if(K.info("iconSquare intersect",e,M),!e.label)return Qe.rect(e,M);let R=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:R-f.width/2,y:P-B/2},{x:R+f.width/2,y:P-B/2},{x:R+f.width/2,y:P-B/2+f.height+w},{x:R+y/2,y:P-B/2+f.height+w},{x:R+y/2,y:P+B/2},{x:R-y/2,y:P+B/2},{x:R-y/2,y:P-B/2+f.height+w},{x:R-f.width/2,y:P-B/2+f.height+w}]:F=[{x:R-y/2,y:P-B/2},{x:R+y/2,y:P-B/2},{x:R+y/2,y:P-B/2+g},{x:R+f.width/2,y:P-B/2+g},{x:R+f.width/2/2,y:P+B/2},{x:R-f.width/2,y:P+B/2},{x:R-f.width/2,y:P-B/2+g},{x:R-y/2,y:P-B/2+g}],Qe.polygon(e,F,M)},h}var Lae=O(()=>{"use strict";Wt();xt();Xc();Yt();x0();Ut();$t();o(Rae,"iconSquare")});async function Nae(t,e,{config:{flowchart:r}}){let n=new Image;n.src=e?.img??"",await n.decode();let i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;let{labelStyles:s}=Ze(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let u=Math.max(e.label?l??0:0,e?.assetWidth??i),h=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f=e.constraint==="on"?h/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(h,l??0);let{shapeSvg:d,bbox:p,label:m}=await pt(t,e,"image-shape default"),g=e.pos==="t",y=-h/2,v=-f/2,x=e.label?8:0,b=Je.svg(d),T=nt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=b.rectangle(y,v,h,f,T),w=Math.max(h,p.width),k=f+p.height+x,S=b.rectangle(-w/2,-k/2,w,k,{...T,fill:"none",stroke:"none"}),A=d.insert(()=>E,":first-child"),L=d.insert(()=>S);if(e.img){let I=d.append("image");I.attr("href",e.img),I.attr("width",h),I.attr("height",f),I.attr("preserveAspectRatio","none"),I.attr("transform",`translate(${-h/2},${g?k/2-f:-k/2})`)}return m.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${g?-f/2-p.height/2-x/2:f/2-p.height/2+x/2})`),A.attr("transform",`translate(0,${g?p.height/2+x/2:-p.height/2-x/2})`),rt(e,L),e.intersect=function(I){if(K.info("iconSquare intersect",e,I),!e.label)return Qe.rect(e,I);let N=e.x??0,C=e.y??0,_=e.height??0,D=[];return g?D=[{x:N-p.width/2,y:C-_/2},{x:N+p.width/2,y:C-_/2},{x:N+p.width/2,y:C-_/2+p.height+x},{x:N+h/2,y:C-_/2+p.height+x},{x:N+h/2,y:C+_/2},{x:N-h/2,y:C+_/2},{x:N-h/2,y:C-_/2+p.height+x},{x:N-p.width/2,y:C-_/2+p.height+x}]:D=[{x:N-h/2,y:C-_/2},{x:N+h/2,y:C-_/2},{x:N+h/2,y:C-_/2+f},{x:N+p.width/2,y:C-_/2+f},{x:N+p.width/2/2,y:C+_/2},{x:N-p.width/2,y:C+_/2},{x:N-p.width/2,y:C-_/2+f},{x:N-h/2,y:C-_/2+f}],Qe.polygon(e,D,I)},d}var Mae=O(()=>{"use strict";Wt();xt();Yt();Ut();$t();o(Nae,"imageSquare")});async function Iae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=[{x:0,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:-3*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=nt(e,{}),m=er(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=rs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,rt(e,h),e.intersect=function(d){return Qe.polygon(e,u,d)},i}var Oae=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();o(Iae,"inv_trapezoid")});async function Dh(t,e,r){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await pt(t,e,ht(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Je.svg(a),v=nt(e,{}),x=p||m?y.path(ho(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",Bn(g))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",Bn(p)).attr("ry",Bn(m)).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return rt(e,d),e.calcIntersect=function(y,v){return Qe.rect(y,v)},e.intersect=function(y){return Qe.rect(e,y)},a}var m1=O(()=>{"use strict";$t();Yt();x0();Ut();Wt();ar();o(Dh,"drawRect")});async function Pae(t,e){let{shapeSvg:r,bbox:n,label:i}=await pt(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),rt(e,a),e.intersect=function(u){return Qe.rect(e,u)},r}var Bae=O(()=>{"use strict";m1();$t();Yt();o(Pae,"labelRect")});async function Fae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:0,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:-(3*l)/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=nt(e,{}),m=er(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=rs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,rt(e,h),e.intersect=function(d){return Qe.polygon(e,u,d)},i}var $ae=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();o(Fae,"lean_left")});async function zae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:-3*l/6,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=nt(e,{}),m=er(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=rs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,rt(e,h),e.intersect=function(d){return Qe.polygon(e,u,d)},i}var Gae=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();o(zae,"lean_right")});function Vae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.label="",e.labelStyle=r;let i=t.insert("g").attr("class",ht(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),u=7,h=[{x:s,y:0},{x:0,y:l+u/2},{x:s-2*u,y:l+u/2},{x:0,y:2*l},{x:s,y:l-u/2},{x:2*u,y:l-u/2}],f=Je.svg(i),d=nt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=er(h),m=f.path(p,d),g=i.insert(()=>m,":first-child");return a&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",n),g.attr("transform",`translate(-${s/2},${-l})`),rt(e,g),e.intersect=function(y){return K.info("lightningBolt intersect",e,y),Qe.polygon(e,h,y)},i}var qae=O(()=>{"use strict";xt();$t();Ut();Wt();Yt();$t();o(Vae,"lightningBolt")});async function Uae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+(e.padding??0),e.height??0),d=f*.1,p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=Je.svg(i),y=cze(0,0,l,f,u,h,d),v=uze(0,h,l,f,u,h),x=nt(e,{}),b=g.path(y,x),T=g.path(v,x);i.insert(()=>T,":first-child").attr("class","line"),p=i.insert(()=>b,":first-child"),p.attr("class","basic label-container"),m&&p.attr("style",m)}else{let g=lze(0,0,l,f,u,h,d);p=i.insert("path",":first-child").attr("d",g).attr("class","basic label-container").attr("style",Bn(m)).attr("style",n)}return p.attr("label-offset-y",h),p.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),rt(e,p),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),e.intersect=function(g){let y=Qe.rect(e,g),v=y.x-(e.x??0);if(u!=0&&(Math.abs(v)<(e.width??0)/2||Math.abs(v)==(e.width??0)/2&&Math.abs(y.y-(e.y??0))>(e.height??0)/2-h)){let x=h*h*(1-v*v/(u*u));x>0&&(x=Math.sqrt(x)),x=h-x,g.y-(e.y??0)>0&&(x=-x),y.y+=x}return y},i}var lze,cze,uze,Wae=O(()=>{"use strict";$t();Yt();Ut();Wt();ar();lze=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),cze=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),uze=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(Uae,"linedCylinder")});async function Hae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,{cssStyles:d}=e,p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-l/2-l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:f/2},...El(-l/2-l/2*.1,f/2,l/2+l/2*.1,f/2,h,.8),{x:l/2+l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:-f/2},{x:-l/2,y:-f/2},{x:-l/2,y:f/2*1.1},{x:-l/2,y:-f/2}],y=p.polygon(g.map(x=>[x.x,x.y]),m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)+l/2*.1/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),rt(e,v),e.intersect=function(x){return Qe.polygon(e,g,x)},i}var Yae=O(()=>{"use strict";$t();Yt();Wt();Ut();o(Hae,"linedWaveEdgedRect")});async function jae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{}),y=[{x:f-h,y:d+h},{x:f-h,y:d+u+h},{x:f+l-h,y:d+u+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d+u-h},{x:f+l+h,y:d+u-h},{x:f+l+h,y:d-h},{x:f+h,y:d-h},{x:f+h,y:d},{x:f,y:d},{x:f,y:d+h}],v=[{x:f,y:d+h},{x:f+l-h,y:d+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d},{x:f,y:d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=er(y),b=m.path(x,g),T=er(v),E=m.path(T,{...g,fill:"none"}),w=i.insert(()=>E,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)-h-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),rt(e,w),e.intersect=function(k){return Qe.polygon(e,y,k)},i}var Xae=O(()=>{"use strict";$t();Ut();Wt();Yt();o(jae,"multiRect")});async function Kae(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,d=-l/2,p=-f/2,m=5,{cssStyles:g}=e,y=El(d-m,p+f+m,d+l-m,p+f+m,h,.8),v=y?.[y.length-1],x=[{x:d-m,y:p+m},{x:d-m,y:p+f+m},...y,{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:v.y-2*m},{x:d+l+m,y:v.y-2*m},{x:d+l+m,y:p-m},{x:d+m,y:p-m},{x:d+m,y:p},{x:d,y:p},{x:d,y:p+m}],b=[{x:d,y:p+m},{x:d+l-m,y:p+m},{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:p},{x:d,y:p}],T=Je.svg(i),E=nt(e,{});e.look!=="handDrawn"&&(E.roughness=0,E.fillStyle="solid");let w=er(x),k=T.path(w,E),S=er(b),A=T.path(S,E),L=i.insert(()=>k,":first-child");return L.insert(()=>A),L.attr("class","basic label-container"),g&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&L.selectAll("path").attr("style",n),L.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-(a.width/2)-m-(a.x-(a.left??0))}, ${-(a.height/2)+m-h/2-(a.y-(a.top??0))})`),rt(e,L),e.intersect=function(I){return Qe.polygon(e,x,I)},i}var Qae=O(()=>{"use strict";$t();Yt();Wt();Ut();o(Kae,"multiWaveEdgedRectangle")});async function Zae(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n,e.useHtmlLabels||Sr(Zt())||(e.centerLabel=!0);let{shapeSvg:s,bbox:l,label:u}=await pt(t,e,ht(e)),h=Math.max(l.width+(e.padding??0)*2,e?.width??0),f=Math.max(l.height+(e.padding??0)*2,e?.height??0),d=-h/2,p=-f/2,{cssStyles:m}=e,g=Je.svg(s),y=nt(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=g.rectangle(d,p,h,f,y),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",m),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),rt(e,x),e.intersect=function(b){return Qe.rect(e,b)},s}var Jae=O(()=>{"use strict";Wt();Yt();Ut();$t();$r();$r();o(Zae,"note")});async function ese(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.width+e.padding,l=a.height+e.padding,u=s+l,h=.5,f=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Je.svg(i),g=nt(e,{}),y=hze(0,0,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-u/2+h}, ${u/2})`),p&&d.attr("style",p)}else d=rs(i,u,u,f),d.attr("transform",`translate(${-u/2+h}, ${u/2})`);return n&&d.attr("style",n),rt(e,d),e.calcIntersect=function(m,g){let y=m.width,v=[{x:y/2,y:0},{x:y,y:-y/2},{x:y/2,y:-y},{x:0,y:-y/2}],x=Qe.polygon(m,v,g);return{x:x.x-.5,y:x.y-.5}},e.intersect=function(m){return this.calcIntersect(e,m)},i}var hze,tse=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();hze=o((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");o(ese,"question")});async function rse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0),e?.width??0),u=Math.max(a.height+(e.padding??0),e?.height??0),h=-l/2,f=-u/2,d=f/2,p=[{x:h+d,y:f},{x:h,y:0},{x:h+d,y:-f},{x:-h,y:-f},{x:-h,y:f}],{cssStyles:m}=e,g=Je.svg(i),y=nt(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=er(p),x=g.path(v,y),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-d/2},0)`),s.attr("transform",`translate(${-d/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),rt(e,b),e.intersect=function(T){return Qe.polygon(e,p,T)},i}var nse=O(()=>{"use strict";$t();Yt();Ut();Wt();o(rse,"rect_left_inv_arrow")});var fze,yc,iE=O(()=>{"use strict";$r();jt();co();fze=o(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);let s=ve(),l=Sr(s);return await Fn(t,a,{style:r,isTitle:n,useHtmlLabels:l,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),yc=fze});async function ise(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=await yc(l,h,e.labelStyle,!0,!0),d={width:0,height:0};if(Sr(ve())){let A=f.children[0],L=je(f);d=A.getBoundingClientRect(),L.attr("width",d.width),L.attr("height",d.height)}K.info("Text 2",u);let p=u||[],m=f.getBBox(),g=await yc(l,Array.isArray(p)?p.join("
    "):p,e.labelStyle,!0,!0),y=g.children[0],v=je(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;je(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),je(f).attr("transform","translate( "+(d.width(K.debug("Rough node insert CXC",I),N),":first-child"),k=a.insert(()=>(K.debug("Rough node insert CXC",I),I),":first-child")}else k=s.insert("rect",":first-child"),S=s.insert("line"),k.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),S.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return rt(e,k),e.intersect=function(A){return Qe.rect(e,A)},a}var ase=O(()=>{"use strict";Ar();$t();iE();Yt();Ut();Wt();jt();x0();xt();$r();o(ise,"rectWithTitle")});async function sse(t,e){let r={rx:5,ry:5,classes:"",labelPaddingX:(e?.padding||0)*1,labelPaddingY:(e?.padding||0)*1};return Dh(t,e,r)}var ose=O(()=>{"use strict";m1();o(sse,"roundedRect")});async function lse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=e?.padding??0,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=-a.width/2-l,d=-a.height/2-l,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d},{x:f+u+8,y:d},{x:f+u+8,y:d+h},{x:f-8,y:d+h},{x:f-8,y:d},{x:f,y:d},{x:f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container").attr("style",Bn(p)),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-h/2+(e.padding??0)-(a.y-(a.top??0))})`),rt(e,x),e.intersect=function(b){return Qe.rect(e,b)},i}var cse=O(()=>{"use strict";$t();Yt();Ut();Wt();ar();o(lse,"shadedProcess")});async function use(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=-l/2,f=-u/2,{cssStyles:d}=e,p=Je.svg(i),m=nt(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:h,y:f},{x:h,y:f+u},{x:h+l,y:f+u},{x:h+l,y:f-u/2}],y=er(g),v=p.path(y,m),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),x.attr("transform",`translate(0, ${u/4})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))}, ${-u/4+(e.padding??0)-(a.y-(a.top??0))})`),rt(e,x),e.intersect=function(b){return Qe.polygon(e,g,b)},i}var hse=O(()=>{"use strict";$t();Yt();Ut();Wt();o(use,"slopedRect")});async function fse(t,e){let r={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return Dh(t,e,r)}var dse=O(()=>{"use strict";m1();o(fse,"squareRect")});async function pse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,u=s/2,{cssStyles:h}=e,f=Je.svg(i),d=nt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-l/2+u,y:-s/2},{x:l/2-u,y:-s/2},...y0(-l/2+u,0,u,50,90,270),{x:l/2-u,y:s/2},...y0(l/2-u,0,u,50,270,450)],m=er(p),g=f.path(m,d),y=i.insert(()=>g,":first-child");return y.attr("class","basic label-container outer-path"),h&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",h),n&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",n),rt(e,y),e.intersect=function(v){return Qe.polygon(e,p,v)},i}var mse=O(()=>{"use strict";$t();Yt();Ut();Wt();o(pse,"stadium")});async function gse(t,e){return Dh(t,e,{rx:5,ry:5,classes:"flowchart-node"})}var yse=O(()=>{"use strict";m1();o(gse,"state")});function vse(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n;let{cssStyles:a}=e,{lineColor:s,stateBorder:l,nodeBorder:u}=r,h=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),f=Je.svg(h),d=nt(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=f.circle(0,0,14,{...d,stroke:s,strokeWidth:2}),m=l??u,g=f.circle(0,0,5,{...d,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),y=h.insert(()=>p,":first-child");return y.insert(()=>g),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),rt(e,y),e.intersect=function(v){return Qe.circle(e,7,v)},h}var xse=O(()=>{"use strict";Wt();Yt();Ut();$t();o(vse,"stateEnd")});function bse(t,e,{config:{themeVariables:r}}){let{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Je.svg(i).circle(0,0,14,Cie(n));a=i.insert(()=>l),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return rt(e,a),e.intersect=function(s){return Qe.circle(e,7,s)},i}var Tse=O(()=>{"use strict";Wt();Yt();Ut();$t();o(bse,"stateStart")});async function wse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-s,f=-a.height/2-s,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Je.svg(i),m=nt(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",Bn(b)),rt(e,x)}else{let p=rs(i,l,u,d);n&&p.attr("style",n),rt(e,p)}return e.intersect=function(p){return Qe.polygon(e,d,p)},i}var kse=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();ar();o(wse,"subroutine")});async function Ese(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=-s/2,h=-l/2,f=.2*l,d=.2*l,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{}),y=[{x:u-f/2,y:h},{x:u+s+f/2,y:h},{x:u+s+f/2,y:h+l},{x:u-f/2,y:h+l}],v=[{x:u+s-f/2,y:h+l},{x:u+s+f/2,y:h+l},{x:u+s+f/2,y:h+l-d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=er(y),b=m.path(x,g),T=er(v),E=m.path(T,{...g,fillStyle:"solid"}),w=i.insert(()=>E,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),rt(e,w),e.intersect=function(k){return Qe.polygon(e,y,k)},i}var Sse=O(()=>{"use strict";$t();Ut();Wt();Yt();o(Ese,"taggedRect")});async function Cse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=.2*l,d=.2*u,p=u+h,{cssStyles:m}=e,g=Je.svg(i),y=nt(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-l/2-l/2*.1,y:p/2},...El(-l/2-l/2*.1,p/2,l/2+l/2*.1,p/2,h,.8),{x:l/2+l/2*.1,y:-p/2},{x:-l/2-l/2*.1,y:-p/2}],x=-l/2+l/2*.1,b=-p/2-d*.4,T=[{x:x+l-f,y:(b+u)*1.4},{x:x+l,y:b+u-d},{x:x+l,y:(b+u)*.9},...El(x+l,(b+u)*1.3,x+l-f,(b+u)*1.5,-u*.03,.5)],E=er(v),w=g.path(E,y),k=er(T),S=g.path(k,{...y,fillStyle:"solid"}),A=i.insert(()=>S,":first-child");return A.insert(()=>w,":first-child"),A.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),rt(e,A),e.intersect=function(L){return Qe.polygon(e,v,L)},i}var Ase=O(()=>{"use strict";$t();Yt();Wt();Ut();o(Cse,"taggedWaveEdgedRectangle")});async function _se(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=Math.max(a.width+e.padding,e?.width||0),l=Math.max(a.height+e.padding,e?.height||0),u=-s/2,h=-l/2,f=i.insert("rect",":first-child");return f.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",u).attr("y",h).attr("width",s).attr("height",l),rt(e,f),e.intersect=function(d){return Qe.rect(e,d)},i}var Dse=O(()=>{"use strict";$t();Yt();Ut();o(_se,"text")});async function Rse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s,halfPadding:l}=await pt(t,e,ht(e)),u=e.look==="neo"?l*2:l,h=a.height+u,f=h/2,d=f/(2.5+h/50),p=a.width+d+u,{cssStyles:m}=e,g;if(e.look==="handDrawn"){let y=Je.svg(i),v=pze(0,0,p,h,d,f),x=mze(0,0,p,h,d,f),b=y.path(v,nt(e,{})),T=y.path(x,nt(e,{fill:"none"}));g=i.insert(()=>T,":first-child"),g=i.insert(()=>b,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{let y=dze(0,0,p,h,d,f);g=i.insert("path",":first-child").attr("d",y).attr("class","basic label-container").attr("style",Bn(m)).attr("style",n),g.attr("class","basic label-container"),m&&g.selectAll("path").attr("style",m),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-p/2}, ${h/2} )`),s.attr("transform",`translate(${-(a.width/2)-d-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),rt(e,g),e.intersect=function(y){let v=Qe.rect(e,y),x=v.y-(e.y??0);if(f!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-d)){let b=d*d*(1-x*x/(f*f));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,y.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},i}var dze,pze,mze,Lse=O(()=>{"use strict";$t();Ut();Wt();Yt();ar();dze=o((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 a${i},${a} 0,0,1 0,${n} M${r},${-n} a${i},${a} 0,0,0 0,${n} - l${-r},0`,"createCylinderPathD"),LFe=o((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),NFe=o((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD");o(Hae,"tiltedCylinder")});async function jae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-3*l/6,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=tt(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=ao(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ze(e,h),e.intersect=function(d){return Ke.polygon(e,u,d)},i}var Xae=I(()=>{"use strict";Bt();Ht();Vt();Yt();jf();o(jae,"trapezoid")});async function Kae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=60,l=20,u=Math.max(s,a.width+(e.padding??0)*2,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),{cssStyles:f}=e,d=Je.svg(i),p=tt(e,{});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let m=[{x:-u/2*.8,y:-h/2},{x:u/2*.8,y:-h/2},{x:u/2,y:-h/2*.6},{x:u/2,y:h/2},{x:-u/2,y:h/2},{x:-u/2,y:-h/2*.6}],g=Wt(m),y=d.path(g,p),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),Ze(e,v),e.intersect=function(x){return Ke.polygon(e,m,x)},i}var Qae=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(Kae,"trapezoidalPentagon")});async function Zae(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Sr(xe().flowchart?.htmlLabels),u=a.width+(e.padding??0),h=u+a.height,f=u+a.height,d=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-h}],{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=Wt(d),v=m.path(y,g),x=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`);return p&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),e.width=u,e.height=h,Ze(e,x),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${h/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(b){return X.info("Triangle intersect",e,d,b),Ke.polygon(e,d,b)},i}var Jae=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();Bt();wr();Qt();o(Zae,"triangle")});async function ese(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/8,f=u+h,{cssStyles:d}=e,m=70-l,g=m>0?m/2:0,y=Je.svg(i),v=tt(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:-l/2-g,y:f/2},...vl(-l/2-g,f/2,l/2+g,f/2,h,.8),{x:l/2+g,y:-f/2},{x:-l/2-g,y:-f/2}],b=Wt(x),T=y.path(b,v),E=i.insert(()=>T,":first-child");return E.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h-(a.y-(a.top??0))})`),Ze(e,E),e.intersect=function(w){return Ke.polygon(e,x,w)},i}var tse=I(()=>{"use strict";Bt();Ht();Yt();Vt();o(ese,"waveEdgedRectangle")});async function rse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ft(t,e,lt(e)),s=100,l=50,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=u/h,d=u,p=h;d>p*f?p=d/f:d=p*f,d=Math.max(d,s),p=Math.max(p,l);let m=Math.min(p*.2,p/4),g=p+m*2,{cssStyles:y}=e,v=Je.svg(i),x=tt(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let b=[{x:-d/2,y:g/2},...vl(-d/2,g/2,d/2,g/2,m,1),{x:d/2,y:-g/2},...vl(d/2,-g/2,-d/2,-g/2,m,-1)],T=Wt(b),E=v.path(T,x),w=i.insert(()=>E,":first-child");return w.attr("class","basic label-container"),y&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),Ze(e,w),e.intersect=function(k){return Ke.polygon(e,b,k)},i}var nse=I(()=>{"use strict";Bt();Ht();Vt();Yt();o(rse,"waveRectangle")});async function ise(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ft(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Je.svg(i),g=tt(e,{}),y=[{x:f-h,y:d-h},{x:f-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d-h}],v=`M${f-h},${d-h} L${f+l},${d-h} L${f+l},${d+u} L${f-h},${d+u} L${f-h},${d-h} + l${-r},0`,"createCylinderPathD"),pze=o((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),mze=o((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD");o(Rse,"tiltedCylinder")});async function Nse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-3*l/6,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Je.svg(i),p=nt(e,{}),m=er(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=rs(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,rt(e,h),e.intersect=function(d){return Qe.polygon(e,u,d)},i}var Mse=O(()=>{"use strict";$t();Yt();Ut();Wt();_h();o(Nse,"trapezoid")});async function Ise(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=60,l=20,u=Math.max(s,a.width+(e.padding??0)*2,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),{cssStyles:f}=e,d=Je.svg(i),p=nt(e,{});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let m=[{x:-u/2*.8,y:-h/2},{x:u/2*.8,y:-h/2},{x:u/2,y:-h/2*.6},{x:u/2,y:h/2},{x:-u/2,y:h/2},{x:-u/2,y:-h/2*.6}],g=er(m),y=d.path(g,p),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),rt(e,v),e.intersect=function(x){return Qe.polygon(e,m,x)},i}var Ose=O(()=>{"use strict";$t();Yt();Ut();Wt();o(Ise,"trapezoidalPentagon")});async function Pse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=e.useHtmlLabels||Sr(ve()),u=a.width+(e.padding??0),h=u+a.height,f=u+a.height,d=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-h}],{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=er(d),v=m.path(y,g),x=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`);return p&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),e.width=u,e.height=h,rt(e,x),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${h/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(b){return K.info("Triangle intersect",e,d,b),Qe.polygon(e,d,b)},i}var Bse=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();$t();jt();$r();o(Pse,"triangle")});async function Fse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/8,f=u+h,{cssStyles:d}=e,m=70-l,g=m>0?m/2:0,y=Je.svg(i),v=nt(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:-l/2-g,y:f/2},...El(-l/2-g,f/2,l/2+g,f/2,h,.8),{x:l/2+g,y:-f/2},{x:-l/2-g,y:-f/2}],b=er(x),T=y.path(b,v),E=i.insert(()=>T,":first-child");return E.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&E.selectAll("path").attr("style",n),E.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h-(a.y-(a.top??0))})`),rt(e,E),e.intersect=function(w){return Qe.polygon(e,x,w)},i}var $se=O(()=>{"use strict";$t();Yt();Wt();Ut();o(Fse,"waveEdgedRectangle")});async function zse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ht(e)),s=100,l=50,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=u/h,d=u,p=h;d>p*f?p=d/f:d=p*f,d=Math.max(d,s),p=Math.max(p,l);let m=Math.min(p*.2,p/4),g=p+m*2,{cssStyles:y}=e,v=Je.svg(i),x=nt(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let b=[{x:-d/2,y:g/2},...El(-d/2,g/2,d/2,g/2,m,1),{x:d/2,y:-g/2},...El(d/2,-g/2,-d/2,-g/2,m,-1)],T=er(b),E=v.path(T,x),w=i.insert(()=>E,":first-child");return w.attr("class","basic label-container"),y&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),rt(e,w),e.intersect=function(k){return Qe.polygon(e,b,k)},i}var Gse=O(()=>{"use strict";$t();Yt();Ut();Wt();o(zse,"waveRectangle")});async function Vse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ht(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Je.svg(i),g=nt(e,{}),y=[{x:f-h,y:d-h},{x:f-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d-h}],v=`M${f-h},${d-h} L${f+l},${d-h} L${f+l},${d+u} L${f-h},${d+u} L${f-h},${d-h} M${f-h},${d} L${f+l},${d} - M${f},${d-h} L${f},${d+u}`;e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("transform",`translate(${h/2}, ${h/2})`),b.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)+h/2-(a.x-(a.left??0))}, ${-(a.height/2)+h/2-(a.y-(a.top??0))})`),Ze(e,b),e.intersect=function(T){return Ke.polygon(e,y,T)},i}var ase=I(()=>{"use strict";Bt();Vt();Yt();Ht();o(ise,"windowPane")});async function xM(t,e){let r=e;if(r.alias&&(e.label=r.alias),e.look==="handDrawn"){let{themeVariables:V}=tr(),{background:K}=V,ee={...e,id:e.id+"-background",look:"default",cssStyles:["stroke: none",`fill: ${K}`]};await xM(t,ee)}let n=tr();e.useHtmlLabels=n.htmlLabels;let i=n.er?.diagramPadding??10,a=n.er?.entityPadding??6,{cssStyles:s}=e,{labelStyles:l,nodeStyles:u}=Qe(e);if(r.attributes.length===0&&e.label){let V={rx:0,ry:0,labelPaddingX:i,labelPaddingY:i*1.5,classes:""};ma(e.label,n)+V.labelPaddingX*20){let V=d.width+i*2-(y+v+x+b);y+=V/w,v+=V/w,x>0&&(x+=V/w),b>0&&(b+=V/w)}let C=y+v+x+b,D=Je.svg(f),R=tt(e,{});e.look!=="handDrawn"&&(R.roughness=0,R.fillStyle="solid");let O=0;g.length>0&&(O=g.reduce((V,K)=>V+(K?.rowHeight??0),0));let L=Math.max(k.width+i*2,e?.width||0,C),S=Math.max((O??0)+d.height,e?.height||0),A=-L/2,_=-S/2;f.selectAll("g:not(:first-child)").each((V,K,ee)=>{let H=He(ee[K]),he=H.attr("transform"),Z=0,de=0;if(he){let ne=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(he);ne&&(Z=parseFloat(ne[1]),de=parseFloat(ne[2]),H.attr("class").includes("attribute-name")?Z+=y:H.attr("class").includes("attribute-keys")?Z+=y+v:H.attr("class").includes("attribute-comment")&&(Z+=y+v+x))}H.attr("transform",`translate(${A+i/2+Z}, ${de+_+d.height+a/2})`)}),f.select(".name").attr("transform","translate("+-d.width/2+", "+(_+a/2)+")");let N=D.rectangle(A,_,L,S,R),M=f.insert(()=>N,":first-child").attr("style",s.join("")),{themeVariables:P}=tr(),{rowEven:B,rowOdd:F,nodeBorder:G}=P;m.push(0);for(let[V,K]of g.entries()){let H=(V+1)%2===0&&K.yOffset!==0,he=D.rectangle(A,d.height+_+K?.yOffset,L,K?.rowHeight,{...R,fill:H?B:F,stroke:G});f.insert(()=>he,"g.label").attr("style",s.join("")).attr("class",`row-rect-${H?"even":"odd"}`)}let $=D.line(A,d.height+_,L+A,d.height+_,R);f.insert(()=>$).attr("class","divider"),$=D.line(y+A,d.height+_,y+A,S+_,R),f.insert(()=>$).attr("class","divider"),T&&($=D.line(y+v+A,d.height+_,y+v+A,S+_,R),f.insert(()=>$).attr("class","divider")),E&&($=D.line(y+v+x+A,d.height+_,y+v+x+A,S+_,R),f.insert(()=>$).attr("class","divider"));for(let V of m)$=D.line(A,d.height+_+V,L+A,d.height+_+V,R),f.insert(()=>$).attr("class","divider");if(Ze(e,M),u&&e.look!=="handDrawn"){let K=u.split(";")?.filter(ee=>ee.includes("stroke"))?.map(ee=>`${ee}`).join("; ");f.selectAll("path").attr("style",K??""),f.selectAll(".row-rect-even path").attr("style",u)}return e.intersect=function(V){return Ke.rect(e,V)},f}async function ib(t,e,r,n=0,i=0,a=[],s=""){let l=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==zc(e)&&(e=zc(e),e=e.replaceAll("<","<").replaceAll(">",">"));let u=l.node().appendChild(await Ai(l,e,{width:ma(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let f=u.children[0];for(f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">");f.childNodes[0];)f=f.childNodes[0],f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">")}let h=u.getBBox();if(Sr(r.htmlLabels)){let f=u.children[0];f.style.textAlign="start";let d=He(u);h=f.getBoundingClientRect(),d.attr("width",h.width),d.attr("height",h.height)}return h}var sse=I(()=>{"use strict";Bt();Ht();Vt();Yt();nb();ti();yl();wr();kr();sr();o(xM,"erBox");o(ib,"addText")});async function ose(t,e,r,n,i=r.class.padding??12){let a=n?0:3,s=t.insert("g").attr("class",lt(e)).attr("id",e.domId||e.id),l=null,u=null,h=null,f=null,d=0,p=0,m=0;if(l=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await Wk(l,{text:`\xAB${b}\xBB`},0),d=l.node().getBBox().height}u=s.insert("g").attr("class","label-group text"),await Wk(u,e,0,["font-weight: bolder"]);let g=u.node().getBBox();p=g.height,h=s.insert("g").attr("class","members-group text");let y=0;for(let b of e.members){let T=await Wk(h,b,y,[b.parseClassifier()]);y+=T+a}m=h.node().getBBox().height,m<=0&&(m=i/2),f=s.insert("g").attr("class","methods-group text");let v=0;for(let b of e.methods){let T=await Wk(f,b,v,[b.parseClassifier()]);v+=T+a}let x=s.node().getBBox();if(l!==null){let b=l.node().getBBox();l.attr("transform",`translate(${-b.width/2})`)}return u.attr("transform",`translate(${-g.width/2}, ${d})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+p+i*2})`),x=s.node().getBBox(),f.attr("transform",`translate(0, ${d+p+(m?m+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}async function Wk(t,e,r,n=[]){let i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=tr(),s="useHtmlLabels"in e?e.useHtmlLabels:Sr(a.htmlLabels)??!0,l="";"text"in e?l=e.text:l=e.label,!s&&l.startsWith("\\")&&(l=l.substring(1)),Nn(l)&&(s=!0);let u=await Ai(i,_2(ga(l)),{width:ma(l,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),h,f=1;if(s){let d=u.children[0],p=He(u);f=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(f+=d.innerHTML.split("").length-1);let m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(b,10)*5+"px";y.style.minWidth=E,y.style.maxWidth=E}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}else{n.includes("font-weight: bolder")&&He(u).selectAll("tspan").attr("font-weight",""),f=u.children.length;let d=u.children[0];(u.textContent===""||u.textContent.includes(">"))&&(d.textContent=l[0]+l.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),l[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),h=u.getBBox()}return i.attr("transform","translate(0,"+(-h.height/(2*f)+r)+")"),h.height}var lse=I(()=>{"use strict";kr();ti();Bt();sr();Qt();yl();wr();o(ose,"textHelper");o(Wk,"addText")});async function cse(t,e){let r=xe(),n=r.class.padding??12,i=n,a=e.useHtmlLabels??Sr(r.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:l,bbox:u}=await ose(t,e,r,a,i),{labelStyles:h,nodeStyles:f}=Qe(e);e.labelStyle=h,e.cssStyles=s.styles||"";let d=s.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=d.replaceAll("!important","").split(";"));let p=s.members.length===0&&s.methods.length===0&&!r.class?.hideEmptyMembersBox,m=Je.svg(l),g=tt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=u.width,v=u.height;s.members.length===0&&s.methods.length===0?v+=i:s.members.length>0&&s.methods.length===0&&(v+=i*2);let x=-y/2,b=-v/2,T=m.rectangle(x-n,b-n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0),y+2*n,v+2*n+(p?n*2:s.members.length===0&&s.methods.length===0?-n:0),g),E=l.insert(()=>T,":first-child");E.attr("class","basic label-container");let w=E.node().getBBox();l.selectAll(".text").each((R,O,L)=>{let S=He(L[O]),A=S.attr("transform"),_=0;if(A){let B=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(A);B&&(_=parseFloat(B[2]))}let N=_+b+n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0);a||(N-=4);let M=x;(S.attr("class").includes("label-group")||S.attr("class").includes("annotation-group"))&&(M=-S.node()?.getBBox().width/2||0,l.selectAll("text").each(function(P,B,F){window.getComputedStyle(F[B]).textAnchor==="middle"&&(M=0)})),S.attr("transform",`translate(${M}, ${N})`)});let k=l.select(".annotation-group").node().getBBox().height-(p?n/2:0)||0,C=l.select(".label-group").node().getBBox().height-(p?n/2:0)||0,D=l.select(".members-group").node().getBBox().height-(p?n/2:0)||0;if(s.members.length>0||s.methods.length>0||p){let R=m.line(w.x,k+C+b+n,w.x+w.width,k+C+b+n,g);l.insert(()=>R).attr("class","divider").attr("style",d)}if(p||s.members.length>0||s.methods.length>0){let R=m.line(w.x,k+C+D+b+i*2+n,w.x+w.width,k+C+D+b+n+i*2,g);l.insert(()=>R).attr("class","divider").attr("style",d)}if(s.look!=="handDrawn"&&l.selectAll("path").attr("style",d),E.select(":nth-child(2)").attr("style",d),l.selectAll(".divider").select("path").attr("style",d),e.labelStyle?l.selectAll("span").attr("style",e.labelStyle):l.selectAll("span").attr("style",d),!a){let R=RegExp(/color\s*:\s*([^;]*)/),O=R.exec(d);if(O){let L=O[0].replace("color","fill");l.selectAll("tspan").attr("style",L)}else if(h){let L=R.exec(h);if(L){let S=L[0].replace("color","fill");l.selectAll("tspan").attr("style",S)}}}return Ze(e,E),e.intersect=function(R){return Ke.rect(e,R)},l}var use=I(()=>{"use strict";Bt();Qt();kr();Yt();Vt();Ht();lse();wr();o(cse,"classBox")});async function hse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let i=e,a=e,s=20,l=20,u="verifyMethod"in e,h=lt(e),f=t.insert("g").attr("class",h).attr("id",e.domId??e.id),d;u?d=await Sh(f,`<<${i.type}>>`,0,e.labelStyle):d=await Sh(f,"<<Element>>",0,e.labelStyle);let p=d,m=await Sh(f,i.name,p,e.labelStyle+"; font-weight: bold;");if(p+=m+l,u){let k=await Sh(f,`${i.requirementId?`ID: ${i.requirementId}`:""}`,p,e.labelStyle);p+=k;let C=await Sh(f,`${i.text?`Text: ${i.text}`:""}`,p,e.labelStyle);p+=C;let D=await Sh(f,`${i.risk?`Risk: ${i.risk}`:""}`,p,e.labelStyle);p+=D,await Sh(f,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,p,e.labelStyle)}else{let k=await Sh(f,`${a.type?`Type: ${a.type}`:""}`,p,e.labelStyle);p+=k,await Sh(f,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,p,e.labelStyle)}let g=(f.node()?.getBBox().width??200)+s,y=(f.node()?.getBBox().height??200)+s,v=-g/2,x=-y/2,b=Je.svg(f),T=tt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=b.rectangle(v,x,g,y,T),w=f.insert(()=>E,":first-child");if(w.attr("class","basic label-container").attr("style",n),f.selectAll(".label").each((k,C,D)=>{let R=He(D[C]),O=R.attr("transform"),L=0,S=0;if(O){let M=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(O);M&&(L=parseFloat(M[1]),S=parseFloat(M[2]))}let A=S-y/2,_=v+s/2;(C===0||C===1)&&(_=L),R.attr("transform",`translate(${_}, ${A+s})`)}),p>d+m+l){let k=b.line(v,x+d+m+l,v+g,x+d+m+l,T);f.insert(()=>k).attr("style",n)}return Ze(e,w),e.intersect=function(k){return Ke.rect(e,k)},f}async function Sh(t,e,r,n=""){if(e==="")return 0;let i=t.insert("g").attr("class","label").attr("style",n),a=xe(),s=a.htmlLabels??!0,l=await Ai(i,_2(ga(e)),{width:ma(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a),u;if(s){let h=l.children[0],f=He(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{let h=l.children[0];for(let f of h.children)f.textContent=f.textContent.replaceAll(">",">").replaceAll("<","<"),n&&f.setAttribute("style",n);u=l.getBBox(),u.height+=6}return i.attr("transform",`translate(${-u.width/2},${-u.height/2+r})`),u.height}var fse=I(()=>{"use strict";Bt();Ht();Vt();Yt();sr();Qt();yl();kr();o(hse,"requirementBox");o(Sh,"addText")});async function dse(t,e,{config:r}){let{labelStyles:n,nodeStyles:i}=Qe(e);e.labelStyle=n||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:l,bbox:u,label:h}=await ft(t,e,lt(e)),f=e.padding||10,d="",p;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),p=l.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));let m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,y;p?{label:g,bbox:y}=await Lk(p,"ticket"in e&&e.ticket||"",m):{label:g,bbox:y}=await Lk(l,"ticket"in e&&e.ticket||"",m);let{label:v,bbox:x}=await Lk(l,"assigned"in e&&e.assigned||"",m);e.width=s;let b=10,T=e?.width||0,E=Math.max(y.height,x.height)/2,w=Math.max(u.height+b*2,e?.height||0)+E,k=-T/2,C=-w/2;h.attr("transform","translate("+(f-T/2)+", "+(-E-u.height/2)+")"),g.attr("transform","translate("+(f-T/2)+", "+(-E+u.height/2)+")"),v.attr("transform","translate("+(f+T/2-x.width-2*a)+", "+(-E+u.height/2)+")");let D,{rx:R,ry:O}=e,{cssStyles:L}=e;if(e.look==="handDrawn"){let S=Je.svg(l),A=tt(e,{}),_=R||O?S.path(so(k,C,T,w,R||0),A):S.rectangle(k,C,T,w,A);D=l.insert(()=>_,":first-child"),D.attr("class","basic label-container").attr("style",L||null)}else{D=l.insert("rect",":first-child"),D.attr("class","basic label-container __APA__").attr("style",i).attr("rx",R??5).attr("ry",O??5).attr("x",k).attr("y",C).attr("width",T).attr("height",w);let S="priority"in e&&e.priority;if(S){let A=l.append("line"),_=k+2,N=C+Math.floor((R??0)/2),M=C+w-Math.floor((R??0)/2);A.attr("x1",_).attr("y1",N).attr("x2",_).attr("y2",M).attr("stroke-width","4").attr("stroke",MFe(S))}}return Ze(e,D),e.height=w,e.intersect=function(S){return Ke.rect(e,S)},l}var MFe,pse=I(()=>{"use strict";Bt();Ht();m0();Vt();Yt();MFe=o(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");o(dse,"kanbanItem")});async function mse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ft(t,e,lt(e)),u=a.width+10*s,h=a.height+8*s,f=.15*u,{cssStyles:d}=e,p=a.width+20,m=a.height+20,g=Math.max(u,p),y=Math.max(h,m);l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let v,x=`M0 0 + M${f},${d-h} L${f},${d+u}`;e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("transform",`translate(${h/2}, ${h/2})`),b.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)+h/2-(a.x-(a.left??0))}, ${-(a.height/2)+h/2-(a.y-(a.top??0))})`),rt(e,b),e.intersect=function(T){return Qe.polygon(e,y,T)},i}var qse=O(()=>{"use strict";$t();Ut();Wt();Yt();o(Vse,"windowPane")});async function IM(t,e){let r=e;if(r.alias&&(e.label=r.alias),e.look==="handDrawn"){let{themeVariables:V}=Zt(),{background:X}=V,Q={...e,id:e.id+"-background",look:"default",cssStyles:["stroke: none",`fill: ${X}`]};await IM(t,Q)}let n=Zt();e.useHtmlLabels=n.htmlLabels;let i=n.er?.diagramPadding??10,a=n.er?.entityPadding??6,{cssStyles:s}=e,{labelStyles:l,nodeStyles:u}=Ze(e);if(r.attributes.length===0&&e.label){let V={rx:0,ry:0,labelPaddingX:i,labelPaddingY:i*1.5,classes:""};xa(e.label,n)+V.labelPaddingX*20){let V=d.width+i*2-(y+v+x+b);y+=V/w,v+=V/w,x>0&&(x+=V/w),b>0&&(b+=V/w)}let S=y+v+x+b,A=Je.svg(f),L=nt(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");let I=0;g.length>0&&(I=g.reduce((V,X)=>V+(X?.rowHeight??0),0));let N=Math.max(k.width+i*2,e?.width||0,S),C=Math.max((I??0)+d.height,e?.height||0),_=-N/2,D=-C/2;f.selectAll("g:not(:first-child)").each((V,X,Q)=>{let H=je(Q[X]),ie=H.attr("transform"),Y=0,le=0;if(ie){let J=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ie);J&&(Y=parseFloat(J[1]),le=parseFloat(J[2]),H.attr("class").includes("attribute-name")?Y+=y:H.attr("class").includes("attribute-keys")?Y+=y+v:H.attr("class").includes("attribute-comment")&&(Y+=y+v+x))}H.attr("transform",`translate(${_+i/2+Y}, ${le+D+d.height+a/2})`)}),f.select(".name").attr("transform","translate("+-d.width/2+", "+(D+a/2)+")");let M=A.rectangle(_,D,N,C,L),R=f.insert(()=>M,":first-child").attr("style",s.join("")),{themeVariables:P}=Zt(),{rowEven:B,rowOdd:F,nodeBorder:G}=P;m.push(0);for(let[V,X]of g.entries()){let H=(V+1)%2===0&&X.yOffset!==0,ie=A.rectangle(_,d.height+D+X?.yOffset,N,X?.rowHeight,{...L,fill:H?B:F,stroke:G});f.insert(()=>ie,"g.label").attr("style",s.join("")).attr("class",`row-rect-${H?"even":"odd"}`)}let $=A.line(_,d.height+D,N+_,d.height+D,L);f.insert(()=>$).attr("class","divider"),$=A.line(y+_,d.height+D,y+_,C+D,L),f.insert(()=>$).attr("class","divider"),T&&($=A.line(y+v+_,d.height+D,y+v+_,C+D,L),f.insert(()=>$).attr("class","divider")),E&&($=A.line(y+v+x+_,d.height+D,y+v+x+_,C+D,L),f.insert(()=>$).attr("class","divider"));for(let V of m)$=A.line(_,d.height+D+V,N+_,d.height+D+V,L),f.insert(()=>$).attr("class","divider");if(rt(e,R),u&&e.look!=="handDrawn"){let X=u.split(";")?.filter(Q=>Q.includes("stroke"))?.map(Q=>`${Q}`).join("; ");f.selectAll("path").attr("style",X??""),f.selectAll(".row-rect-even path").attr("style",u)}return e.intersect=function(V){return Qe.rect(e,V)},f}async function mb(t,e,r,n=0,i=0,a=[],s=""){let l=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==jc(e)&&(e=jc(e),e=e.replaceAll("<","<").replaceAll(">",">"));let u=l.node().appendChild(await Fn(l,e,{width:xa(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let f=u.children[0];for(f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">");f.childNodes[0];)f=f.childNodes[0],f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">")}let h=u.getBBox();if(Xs(r.htmlLabels)){let f=u.children[0];f.style.textAlign="start";let d=je(u);h=f.getBoundingClientRect(),d.attr("width",h.width),d.attr("height",h.height)}return h}var Use=O(()=>{"use strict";$t();Yt();Ut();Wt();m1();$r();co();Ur();Ar();ar();o(IM,"erBox");o(mb,"addText")});async function Wse(t,e,r,n,i=r.class.padding??12){let a=n?0:3,s=t.insert("g").attr("class",ht(e)).attr("id",e.domId||e.id),l=null,u=null,h=null,f=null,d=0,p=0,m=0;if(l=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await aE(l,{text:`\xAB${b}\xBB`},0),d=l.node().getBBox().height}u=s.insert("g").attr("class","label-group text"),await aE(u,e,0,["font-weight: bolder"]);let g=u.node().getBBox();p=g.height,h=s.insert("g").attr("class","members-group text");let y=0;for(let b of e.members){let T=await aE(h,b,y,[b.parseClassifier()]);y+=T+a}m=h.node().getBBox().height,m<=0&&(m=i/2),f=s.insert("g").attr("class","methods-group text");let v=0;for(let b of e.methods){let T=await aE(f,b,v,[b.parseClassifier()]);v+=T+a}let x=s.node().getBBox();if(l!==null){let b=l.node().getBBox();l.attr("transform",`translate(${-b.width/2})`)}return u.attr("transform",`translate(${-g.width/2}, ${d})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+p+i*2})`),x=s.node().getBBox(),f.attr("transform",`translate(0, ${d+p+(m?m+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}async function aE(t,e,r,n=[]){let i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=Zt(),s="useHtmlLabels"in e?e.useHtmlLabels:Xs(a.htmlLabels)??!0,l="";"text"in e?l=e.text:l=e.label,!s&&l.startsWith("\\")&&(l=l.substring(1)),Jn(l)&&(s=!0);let u=await Fn(i,G2(ao(l)),{width:xa(l,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),h,f=1;if(s){let d=u.children[0],p=je(u);f=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(f+=d.innerHTML.split("").length-1);let m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,E=parseInt(b,10)*5+"px";y.style.minWidth=E,y.style.maxWidth=E}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}else{n.includes("font-weight: bolder")&&je(u).selectAll("tspan").attr("font-weight",""),f=u.children.length;let d=u.children[0];(u.textContent===""||u.textContent.includes(">"))&&(d.textContent=l[0]+l.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),l[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),h=u.getBBox()}return i.attr("transform","translate(0,"+(-h.height/(2*f)+r)+")"),h.height}var Hse=O(()=>{"use strict";Ar();$r();$t();ar();jt();co();Ur();o(Wse,"textHelper");o(aE,"addText")});async function Yse(t,e){let r=ve(),n=r.class.padding??12,i=n,a=e.useHtmlLabels??Xs(r.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:l,bbox:u}=await Wse(t,e,r,a,i),{labelStyles:h,nodeStyles:f}=Ze(e);e.labelStyle=h,e.cssStyles=s.styles||"";let d=s.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=d.replaceAll("!important","").split(";"));let p=s.members.length===0&&s.methods.length===0&&!r.class?.hideEmptyMembersBox,m=Je.svg(l),g=nt(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=u.width,v=u.height;s.members.length===0&&s.methods.length===0?v+=i:s.members.length>0&&s.methods.length===0&&(v+=i*2);let x=-y/2,b=-v/2,T=m.rectangle(x-n,b-n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0),y+2*n,v+2*n+(p?n*2:s.members.length===0&&s.methods.length===0?-n:0),g),E=l.insert(()=>T,":first-child");E.attr("class","basic label-container");let w=E.node().getBBox();l.selectAll(".text").each((L,I,N)=>{let C=je(N[I]),_=C.attr("transform"),D=0;if(_){let B=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(_);B&&(D=parseFloat(B[2]))}let M=D+b+n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0);a||(M-=4);let R=x;(C.attr("class").includes("label-group")||C.attr("class").includes("annotation-group"))&&(R=-C.node()?.getBBox().width/2||0,l.selectAll("text").each(function(P,B,F){window.getComputedStyle(F[B]).textAnchor==="middle"&&(R=0)})),C.attr("transform",`translate(${R}, ${M})`)});let k=l.select(".annotation-group").node().getBBox().height-(p?n/2:0)||0,S=l.select(".label-group").node().getBBox().height-(p?n/2:0)||0,A=l.select(".members-group").node().getBBox().height-(p?n/2:0)||0;if(s.members.length>0||s.methods.length>0||p){let L=m.line(w.x,k+S+b+n,w.x+w.width,k+S+b+n,g);l.insert(()=>L).attr("class","divider").attr("style",d)}if(p||s.members.length>0||s.methods.length>0){let L=m.line(w.x,k+S+A+b+i*2+n,w.x+w.width,k+S+A+b+n+i*2,g);l.insert(()=>L).attr("class","divider").attr("style",d)}if(s.look!=="handDrawn"&&l.selectAll("path").attr("style",d),E.select(":nth-child(2)").attr("style",d),l.selectAll(".divider").select("path").attr("style",d),e.labelStyle?l.selectAll("span").attr("style",e.labelStyle):l.selectAll("span").attr("style",d),!a){let L=RegExp(/color\s*:\s*([^;]*)/),I=L.exec(d);if(I){let N=I[0].replace("color","fill");l.selectAll("tspan").attr("style",N)}else if(h){let N=L.exec(h);if(N){let C=N[0].replace("color","fill");l.selectAll("tspan").attr("style",C)}}}return rt(e,E),e.intersect=function(L){return Qe.rect(e,L)},l}var jse=O(()=>{"use strict";$t();jt();Ar();Wt();Ut();Yt();Hse();Ur();o(Yse,"classBox")});async function Xse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let i=e,a=e,s=20,l=20,u="verifyMethod"in e,h=ht(e),f=t.insert("g").attr("class",h).attr("id",e.domId??e.id),d;u?d=await Rh(f,`<<${i.type}>>`,0,e.labelStyle):d=await Rh(f,"<<Element>>",0,e.labelStyle);let p=d,m=await Rh(f,i.name,p,e.labelStyle+"; font-weight: bold;");if(p+=m+l,u){let k=await Rh(f,`${i.requirementId?`ID: ${i.requirementId}`:""}`,p,e.labelStyle);p+=k;let S=await Rh(f,`${i.text?`Text: ${i.text}`:""}`,p,e.labelStyle);p+=S;let A=await Rh(f,`${i.risk?`Risk: ${i.risk}`:""}`,p,e.labelStyle);p+=A,await Rh(f,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,p,e.labelStyle)}else{let k=await Rh(f,`${a.type?`Type: ${a.type}`:""}`,p,e.labelStyle);p+=k,await Rh(f,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,p,e.labelStyle)}let g=(f.node()?.getBBox().width??200)+s,y=(f.node()?.getBBox().height??200)+s,v=-g/2,x=-y/2,b=Je.svg(f),T=nt(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=b.rectangle(v,x,g,y,T),w=f.insert(()=>E,":first-child");if(w.attr("class","basic label-container").attr("style",n),f.selectAll(".label").each((k,S,A)=>{let L=je(A[S]),I=L.attr("transform"),N=0,C=0;if(I){let R=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(I);R&&(N=parseFloat(R[1]),C=parseFloat(R[2]))}let _=C-y/2,D=v+s/2;(S===0||S===1)&&(D=N),L.attr("transform",`translate(${D}, ${_+s})`)}),p>d+m+l){let k=b.line(v,x+d+m+l,v+g,x+d+m+l,T);f.insert(()=>k).attr("style",n)}return rt(e,w),e.intersect=function(k){return Qe.rect(e,k)},f}async function Rh(t,e,r,n=""){if(e==="")return 0;let i=t.insert("g").attr("class","label").attr("style",n),a=ve(),s=a.htmlLabels??!0,l=await Fn(i,G2(ao(e)),{width:xa(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a),u;if(s){let h=l.children[0],f=je(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{let h=l.children[0];for(let f of h.children)f.textContent=f.textContent.replaceAll(">",">").replaceAll("<","<"),n&&f.setAttribute("style",n);u=l.getBBox(),u.height+=6}return i.attr("transform",`translate(${-u.width/2},${-u.height/2+r})`),u.height}var Kse=O(()=>{"use strict";$t();Yt();Ut();Wt();ar();jt();co();Ar();o(Xse,"requirementBox");o(Rh,"addText")});async function Qse(t,e,{config:r}){let{labelStyles:n,nodeStyles:i}=Ze(e);e.labelStyle=n||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:l,bbox:u,label:h}=await pt(t,e,ht(e)),f=e.padding||10,d="",p;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),p=l.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));let m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,y;p?{label:g,bbox:y}=await Hk(p,"ticket"in e&&e.ticket||"",m):{label:g,bbox:y}=await Hk(l,"ticket"in e&&e.ticket||"",m);let{label:v,bbox:x}=await Hk(l,"assigned"in e&&e.assigned||"",m);e.width=s;let b=10,T=e?.width||0,E=Math.max(y.height,x.height)/2,w=Math.max(u.height+b*2,e?.height||0)+E,k=-T/2,S=-w/2;h.attr("transform","translate("+(f-T/2)+", "+(-E-u.height/2)+")"),g.attr("transform","translate("+(f-T/2)+", "+(-E+u.height/2)+")"),v.attr("transform","translate("+(f+T/2-x.width-2*a)+", "+(-E+u.height/2)+")");let A,{rx:L,ry:I}=e,{cssStyles:N}=e;if(e.look==="handDrawn"){let C=Je.svg(l),_=nt(e,{}),D=L||I?C.path(ho(k,S,T,w,L||0),_):C.rectangle(k,S,T,w,_);A=l.insert(()=>D,":first-child"),A.attr("class","basic label-container").attr("style",N||null)}else{A=l.insert("rect",":first-child"),A.attr("class","basic label-container __APA__").attr("style",i).attr("rx",L??5).attr("ry",I??5).attr("x",k).attr("y",S).attr("width",T).attr("height",w);let C="priority"in e&&e.priority;if(C){let _=l.append("line"),D=k+2,M=S+Math.floor((L??0)/2),R=S+w-Math.floor((L??0)/2);_.attr("x1",D).attr("y1",M).attr("x2",D).attr("y2",R).attr("stroke-width","4").attr("stroke",gze(C))}}return rt(e,A),e.height=w,e.intersect=function(C){return Qe.rect(e,C)},l}var gze,Zse=O(()=>{"use strict";$t();Yt();x0();Ut();Wt();gze=o(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");o(Qse,"kanbanItem")});async function Jse(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await pt(t,e,ht(e)),u=a.width+10*s,h=a.height+8*s,f=.15*u,{cssStyles:d}=e,p=a.width+20,m=a.height+20,g=Math.max(u,p),y=Math.max(h,m);l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let v,x=`M0 0 a${f},${f} 1 0,0 ${g*.25},${-1*y*.1} a${f},${f} 1 0,0 ${g*.25},0 a${f},${f} 1 0,0 ${g*.25},0 @@ -475,7 +474,7 @@ Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error a${f},${f} 1 0,0 ${-1*g*.1},${-1*y*.33} a${f*.8},${f*.8} 1 0,0 0,${-1*y*.34} a${f},${f} 1 0,0 ${g*.1},${-1*y*.33} - H0 V0 Z`;if(e.look==="handDrawn"){let b=Je.svg(i),T=tt(e,{}),E=b.path(x,T);v=i.insert(()=>E,":first-child"),v.attr("class","basic label-container").attr("style",On(d))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return v.attr("transform",`translate(${-g/2}, ${-y/2})`),Ze(e,v),e.calcIntersect=function(b,T){return Ke.rect(b,T)},e.intersect=function(b){return X.info("Bang intersect",e,b),Ke.rect(e,b)},i}var gse=I(()=>{"use strict";gt();Bt();Ht();Vt();Yt();sr();o(mse,"bang")});async function yse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ft(t,e,lt(e)),u=a.width+2*s,h=a.height+2*s,f=.15*u,d=.25*u,p=.35*u,m=.2*u,{cssStyles:g}=e,y,v=`M0 0 + H0 V0 Z`;if(e.look==="handDrawn"){let b=Je.svg(i),T=nt(e,{}),E=b.path(x,T);v=i.insert(()=>E,":first-child"),v.attr("class","basic label-container").attr("style",Bn(d))}else v=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",x);return v.attr("transform",`translate(${-g/2}, ${-y/2})`),rt(e,v),e.calcIntersect=function(b,T){return Qe.rect(b,T)},e.intersect=function(b){return K.info("Bang intersect",e,b),Qe.rect(e,b)},i}var eoe=O(()=>{"use strict";xt();$t();Yt();Ut();Wt();ar();o(Jse,"bang")});async function toe(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await pt(t,e,ht(e)),u=a.width+2*s,h=a.height+2*s,f=.15*u,d=.25*u,p=.35*u,m=.2*u,{cssStyles:g}=e,y,v=`M0 0 a${f},${f} 0 0,1 ${u*.25},${-1*u*.1} a${p},${p} 1 0,1 ${u*.4},${-1*u*.1} a${d},${d} 1 0,1 ${u*.35},${u*.2} @@ -489,7 +488,7 @@ Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error a${f},${f} 1 0,1 ${-1*u*.1},${-1*h*.35} a${m},${m} 1 0,1 ${u*.1},${-1*h*.65} - H0 V0 Z`;if(e.look==="handDrawn"){let x=Je.svg(i),b=tt(e,{}),T=x.path(v,b);y=i.insert(()=>T,":first-child"),y.attr("class","basic label-container").attr("style",On(g))}else y=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",v);return l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),y.attr("transform",`translate(${-u/2}, ${-h/2})`),Ze(e,y),e.calcIntersect=function(x,b){return Ke.rect(x,b)},e.intersect=function(x){return X.info("Cloud intersect",e,x),Ke.rect(e,x)},i}var vse=I(()=>{"use strict";Yt();gt();sr();Ht();Vt();Bt();o(yse,"cloud")});async function xse(t,e){let{labelStyles:r,nodeStyles:n}=Qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await ft(t,e,lt(e)),u=a.width+8*s,h=a.height+2*s,f=5,d=` + H0 V0 Z`;if(e.look==="handDrawn"){let x=Je.svg(i),b=nt(e,{}),T=x.path(v,b);y=i.insert(()=>T,":first-child"),y.attr("class","basic label-container").attr("style",Bn(g))}else y=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",v);return l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),y.attr("transform",`translate(${-u/2}, ${-h/2})`),rt(e,y),e.calcIntersect=function(x,b){return Qe.rect(x,b)},e.intersect=function(x){return K.info("Cloud intersect",e,x),Qe.rect(e,x)},i}var roe=O(()=>{"use strict";Wt();xt();ar();Yt();Ut();$t();o(toe,"cloud")});async function noe(t,e){let{labelStyles:r,nodeStyles:n}=Ze(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s,label:l}=await pt(t,e,ht(e)),u=a.width+8*s,h=a.height+2*s,f=5,d=` M${-u/2} ${h/2-f} v${-h+2*f} q0,-${f} ${f},-${f} @@ -500,46 +499,46 @@ Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error h${-u+2*f} q-${f},0 -${f},-${f} Z - `,p=i.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-u/2).attr("y1",h/2).attr("x2",u/2).attr("y2",h/2),l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>l.node()),Ze(e,p),e.calcIntersect=function(m,g){return Ke.rect(m,g)},e.intersect=function(m){return Ke.rect(e,m)},i}var bse=I(()=>{"use strict";Ht();Vt();Bt();o(xse,"defaultMindmapNode")});async function Tse(t,e){let r={padding:e.padding??0};return Vk(t,e,r)}var wse=I(()=>{"use strict";vM();o(Tse,"mindmapCircle")});function kse(t){return t in bM}var IFe,OFe,bM,TM=I(()=>{"use strict";iie();oie();cie();hie();vM();die();mie();yie();xie();Tie();kie();Eie();Aie();Die();Lie();Mie();Oie();Bie();$ie();Gie();qie();Wie();Yie();Xie();Qie();Jie();tae();nae();aae();oae();cae();hae();dae();mae();yae();xae();Tae();kae();Eae();Aae();Dae();Lae();Mae();Oae();Bae();$ae();Gae();qae();Wae();Yae();Xae();Qae();Jae();tse();nse();ase();sse();use();fse();pse();gse();vse();bse();wse();IFe=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:_ae},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:wae},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:Rae},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:Fae},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:wie},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:Vk},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:mse},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:yse},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:gae},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:Pie},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:rae},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:eae},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:jae},{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:Kie},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:Cie},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:Uae},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:lie},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:Sae},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:Pae},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:Iae},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:Nie},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:Fie},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:pie},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:gie},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:vie},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:iae},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:ese},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:Iie},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:Hae},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:sae},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:bie},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:Sie},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:Zae},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:ise},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:_ie},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:Kae},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:Rie},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:Cae},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:fae},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:uae},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:sie},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:fie},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:Vae},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:zae},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:rse},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:vae},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:lae}],OFe=o(()=>{let e=[...Object.entries({state:Nae,choice:uie,note:pae,rectWithTitle:bae,labelRect:Zie,iconSquare:Hie,iconCircle:Vie,icon:zie,iconRounded:Uie,imageSquare:jie,anchor:nie,kanbanItem:dse,mindmapCircle:Tse,defaultMindmapNode:xse,classBox:cse,erBox:xM,requirementBox:hse}),...IFe.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),bM=OFe();o(kse,"isValidShape")});var PFe,Hk,Sse=I(()=>{"use strict";kr();Hx();Qt();gt();TM();sr();wr();ki();PFe="flowchart-",Hk=class{constructor(){this.vertexCounter=0;this.config=xe();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=zr;this.setAccDescription=qr;this.setDiagramTitle=Xr;this.getAccTitle=Vr;this.getAccDescription=Ur;this.getDiagramTitle=Wr;this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{o(this,"FlowDB")}sanitizeText(e){return nt.sanitizeText(e,this.config)}lookUpDomId(e){for(let r of this.vertices.values())if(r.id===e)return r.domId;return e}addVertex(e,r,n,i,a,s,l={},u){if(!e||e.trim().length===0)return;let h;if(u!==void 0){let m;u.includes(` + `,p=i.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",d);return i.append("line").attr("class","node-line-").attr("x1",-u/2).attr("y1",h/2).attr("x2",u/2).attr("y2",h/2),l.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>l.node()),rt(e,p),e.calcIntersect=function(m,g){return Qe.rect(m,g)},e.intersect=function(m){return Qe.rect(e,m)},i}var ioe=O(()=>{"use strict";Yt();Ut();$t();o(noe,"defaultMindmapNode")});async function aoe(t,e){let r={padding:e.padding??0};return nE(t,e,r)}var soe=O(()=>{"use strict";MM();o(aoe,"mindmapCircle")});function ooe(t){return t in OM}var yze,vze,OM,PM=O(()=>{"use strict";Vie();Wie();Yie();Xie();MM();Qie();Jie();tae();nae();aae();oae();cae();hae();dae();mae();yae();xae();Tae();kae();Sae();Aae();Dae();Lae();Mae();Oae();Bae();$ae();Gae();qae();Wae();Yae();Xae();Qae();Jae();tse();nse();ase();ose();cse();hse();dse();mse();yse();xse();Tse();kse();Sse();Ase();Dse();Lse();Mse();Ose();Bse();$se();Gse();qse();Use();jse();Kse();Zse();eoe();roe();ioe();soe();yze=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:fse},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:sse},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:pse},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:wse},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:sae},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:nE},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:Jse},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:toe},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:ese},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:bae},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:zae},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:Fae},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:Nse},{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:Iae},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:uae},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:_se},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:Hie},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:lse},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:bse},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:vse},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:gae},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:wae},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:Zie},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:eae},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:rae},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:Vae},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:Fse},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:vae},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:Rse},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:Uae},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:iae},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:lae},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:Pse},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:Vse},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:fae},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:Ise},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:pae},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:use},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:Kae},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:jae},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:Uie},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:Kie},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:Cse},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:Ese},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:zse},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:rse},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:Hae}],vze=o(()=>{let e=[...Object.entries({state:gse,choice:jie,note:Zae,rectWithTitle:ise,labelRect:Pae,iconSquare:Rae,iconCircle:Cae,icon:Eae,iconRounded:_ae,imageSquare:Nae,anchor:Gie,kanbanItem:Qse,mindmapCircle:aoe,defaultMindmapNode:noe,classBox:Yse,erBox:IM,requirementBox:Xse}),...yze.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),OM=vze();o(ooe,"isValidShape")});var xze,sE,loe=O(()=>{"use strict";Ar();ib();jt();xt();PM();ar();Ur();si();a0();S2();xze="flowchart-",sE=class{constructor(){this.vertexCounter=0;this.config=ve();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=Lr;this.setAccDescription=Pr;this.setDiagramTitle=zr;this.getAccTitle=Or;this.getAccDescription=Br;this.getDiagramTitle=Fr;this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{o(this,"FlowDB")}sanitizeText(e){return st.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}lookUpDomId(e){for(let r of this.vertices.values())if(r.id===e)return r.domId;return e}addVertex(e,r,n,i,a,s,l={},u){if(!e||e.trim().length===0)return;let h;if(u!==void 0){let m;u.includes(` `)?m=u+` `:m=`{ `+u+` -}`,h=Wf(m,{schema:Uf})}let f=this.edges.find(m=>m.id===e);if(f){let m=h;m?.animate!==void 0&&(f.animate=m.animate),m?.animation!==void 0&&(f.animation=m.animation),m?.curve!==void 0&&(f.interpolate=m.curve);return}let d,p=this.vertices.get(e);if(p===void 0&&(p={id:e,labelType:"text",domId:PFe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,p)),this.vertexCounter++,r!==void 0?(this.config=xe(),d=this.sanitizeText(r.text.trim()),p.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),p.text=d):p.text===void 0&&(p.text=e),n!==void 0&&(p.type=n),i?.forEach(m=>{p.styles.push(m)}),a?.forEach(m=>{p.classes.push(m)}),s!==void 0&&(p.dir=s),p.props===void 0?p.props=l:l!==void 0&&Object.assign(p.props,l),h!==void 0){if(h.shape){if(h.shape!==h.shape.toLowerCase()||h.shape.includes("_"))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);if(!kse(h.shape))throw new Error(`No such shape: ${h.shape}.`);p.type=h?.shape}h?.label&&(p.text=h?.label),h?.icon&&(p.icon=h?.icon,!h.label?.trim()&&p.text===e&&(p.text="")),h?.form&&(p.form=h?.form),h?.pos&&(p.pos=h?.pos),h?.img&&(p.img=h?.img,!h.label?.trim()&&p.text===e&&(p.text="")),h?.constraint&&(p.constraint=h.constraint),h.w&&(p.assetWidth=Number(h.w)),h.h&&(p.assetHeight=Number(h.h))}}addSingleLink(e,r,n,i){let l={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};X.info("abc78 Got edge...",l);let u=n.text;if(u!==void 0&&(l.text=this.sanitizeText(u.text.trim()),l.text.startsWith('"')&&l.text.endsWith('"')&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=u.type),n!==void 0&&(l.type=n.type,l.stroke=n.stroke,l.length=n.length>10?10:n.length),i&&!this.edges.some(h=>h.id===i))l.id=i,l.isUserDefinedId=!0;else{let h=this.edges.filter(f=>f.start===l.start&&f.end===l.end);h.length===0?l.id=nu(l.start,l.end,{counter:0,prefix:"L"}):l.id=nu(l.start,l.end,{counter:h.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))X.info("Pushing edge..."),this.edges.push(l);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. +}`,h=Kf(m,{schema:Xf})}let f=this.edges.find(m=>m.id===e);if(f){let m=h;m?.animate!==void 0&&(f.animate=m.animate),m?.animation!==void 0&&(f.animation=m.animation),m?.curve!==void 0&&(f.interpolate=m.curve);return}let d,p=this.vertices.get(e);if(p===void 0&&(p={id:e,labelType:"text",domId:xze+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,p)),this.vertexCounter++,r!==void 0?(this.config=ve(),d=this.sanitizeText(r.text.trim()),p.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),p.text=d):p.text===void 0&&(p.text=e),n!==void 0&&(p.type=n),i?.forEach(m=>{p.styles.push(m)}),a?.forEach(m=>{p.classes.push(m)}),s!==void 0&&(p.dir=s),p.props===void 0?p.props=l:l!==void 0&&Object.assign(p.props,l),h!==void 0){if(h.shape){if(h.shape!==h.shape.toLowerCase()||h.shape.includes("_"))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);if(!ooe(h.shape))throw new Error(`No such shape: ${h.shape}.`);p.type=h?.shape}h?.label&&(p.text=h?.label,p.labelType=this.sanitizeNodeLabelType(h?.labelType)),h?.icon&&(p.icon=h?.icon,!h.label?.trim()&&p.text===e&&(p.text="")),h?.form&&(p.form=h?.form),h?.pos&&(p.pos=h?.pos),h?.img&&(p.img=h?.img,!h.label?.trim()&&p.text===e&&(p.text="")),h?.constraint&&(p.constraint=h.constraint),h.w&&(p.assetWidth=Number(h.w)),h.h&&(p.assetHeight=Number(h.h))}}addSingleLink(e,r,n,i){let l={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};K.info("abc78 Got edge...",l);let u=n.text;if(u!==void 0&&(l.text=this.sanitizeText(u.text.trim()),l.text.startsWith('"')&&l.text.endsWith('"')&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=this.sanitizeNodeLabelType(u.type)),n!==void 0&&(l.type=n.type,l.stroke=n.stroke,l.length=n.length>10?10:n.length),i&&!this.edges.some(h=>h.id===i))l.id=i,l.isUserDefinedId=!0;else{let h=this.edges.filter(f=>f.start===l.start&&f.end===l.end);h.length===0?l.id=hu(l.start,l.end,{counter:0,prefix:"L"}):l.id=hu(l.start,l.end,{counter:h.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))K.info("Pushing edge..."),this.edges.push(l);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){let i=this.isLinkData(n)?n.id.replace("@",""):void 0;X.info("addLink",e,r,i);for(let a of e)for(let s of r){let l=a===e[e.length-1],u=s===r[0];l&&u?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){let n=r.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){let l=s.replace("fill","bgFill");a.textStyles.push(l)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(let n of e.split(",")){let i=this.vertices.get(n);i&&i.classes.push(r);let a=this.edges.find(l=>l.id===n);a&&a.classes.push(r);let s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(let n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){let i=this.lookUpDomId(e);if(xe().securityLevel!=="loose"||r===void 0)return;let a=[];if(typeof n=="string"){a=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{let l=document.querySelector(`[id="${i}"]`);l!==null&&l.addEventListener("click",()=>{jt.runFunc(r,...a)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{let a=this.vertices.get(i);a!==void 0&&(a.link=jt.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let r=He(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=He("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),He(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=He(a.currentTarget);if(s.attr("title")===null)return;let u=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),r.html(r.html().replace(/<br\/>/g,"
    ")),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),He(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=xe(),Mr()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);let l=o(p=>{let m={boolean:{},number:{},string:{}},g=[],y;return{nodeList:p.filter(function(x){let b=typeof x;return x.stmt&&x.stmt==="dir"?(y=x.value,!1):x.trim()===""?!1:b in m?m[b].hasOwnProperty(x)?!1:m[b][x]=!0:g.includes(x)?!1:g.push(x)}),dir:y}},"uniq")(r.flat()),u=l.nodeList,h=l.dir,f=xe().flowchart??{};if(h=h??(f.inheritDir?this.getDirection()??xe().direction??void 0:void 0),this.version==="gen-1")for(let p=0;p2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){let l=this.indexNodes2(e,s);if(l.result)return{result:!0,count:a+l.count};a=a+l.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){let n=r.length,i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");let l=this.countChar(".",n);return l&&(a="dotted",s=l),{type:i,stroke:a,length:s}}destructLink(e,r){let n=this.destructEndLink(e),i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(let n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){let n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){let l=n.get(e.id),u=i.get(e.id)??!1,h=this.findNode(r,e.id);if(h)h.cssStyles=e.styles,h.cssCompiledStyles=this.getCompiledStyles(e.classes),h.cssClasses=e.classes.join(" ");else{let f={id:e.id,label:e.text,labelStyle:"",parentId:l,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};u?r.push({...f,isGroup:!0,shape:"rect"}):r.push({...f,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){let e=xe(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let h=i.length-1;h>=0;h--){let f=i[h];f.nodes.length>0&&s.set(f.id,!0);for(let d of f.nodes)a.set(d,f.id)}for(let h=i.length-1;h>=0;h--){let f=i[h];r.push({id:f.id,label:f.title,labelStyle:"",parentId:a.get(f.id),padding:8,cssCompiledStyles:this.getCompiledStyles(f.classes),cssClasses:f.classes.join(" "),shape:"rect",dir:f.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(h=>{this.addNodeFromVertex(h,r,a,s,e,e.look||"classic")});let u=this.getEdges();return u.forEach((h,f)=>{let{arrowTypeStart:d,arrowTypeEnd:p}=this.destructEdgeType(h.type),m=[...u.defaultStyle??[]];h.style&&m.push(...h.style);let g={id:nu(h.start,h.end,{counter:f,prefix:"L"},h.id),isUserDefinedId:h.isUserDefinedId,start:h.start,end:h.end,type:h.type??"normal",label:h.text,labelpos:"c",thickness:h.stroke,minlen:h.length,classes:h?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":d,arrowTypeEnd:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":p,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(h.classes),labelStyle:m,style:m,pattern:h.stroke,look:e.look,animate:h.animate,animation:h.animation,curve:h.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(g)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return Ew.flowchart}}});var xl,y0=I(()=>{"use strict";kr();xl=o((t,e)=>{let r;return e==="sandbox"&&(r=He("#i"+t)),(e==="sandbox"?He(r.nodes()[0].contentDocument.body):He("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Eh,ab=I(()=>{"use strict";Eh=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});var Ese,BFe,FFe,$Fe,zFe,GFe,VFe,Cse,l1,Ase,Yk=I(()=>{"use strict";Qt();wr();gt();ab();kr();Yt();yl();eM();qk();m0();Vt();Ese=o(async(t,e)=>{X.info("Creating subgraph rect for ",e.id,e);let r=xe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Qe(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=Sr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await Ai(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(Sr(r.flowchart.htmlLabels)){let C=g.children[0],D=He(g);y=C.getBoundingClientRect(),D.attr("width",y.width),D.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;X.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){let C=Je.svg(d),D=tt(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),R=C.path(so(b,T,v,x,0),D);E=d.insert(()=>(X.debug("Rough node insert CXC",R),R),":first-child"),E.select("path:nth-child(2)").attr("style",h.join(";")),E.select("path").attr("style",f.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Eh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let C=m.select("span");C&&C.attr("style",l)}let k=E.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(C){return Hf(e,C)},{cluster:d,labelBBox:y}},"rect"),BFe=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Hf(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),FFe=o(async(t,e)=>{let r=xe(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=d.node().appendChild(await ou(e.label,e.labelStyle,void 0,!0)),g=m.getBBox();if(Sr(r.flowchart.htmlLabels)){let R=m.children[0],O=He(m);g=R.getBoundingClientRect(),O.attr("width",g.width),O.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,T=e.height+y-g.height-6,E=e.x-x/2,w=e.y-b/2;e.width=x;let k=e.y-e.height/2-v+g.height+2,C;if(e.look==="handDrawn"){let R=e.cssClasses.includes("statediagram-cluster-alt"),O=Je.svg(h),L=e.rx||e.ry?O.path(so(E,w,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):O.rectangle(E,w,x,b,{seed:i});C=h.insert(()=>L,":first-child");let S=O.rectangle(E,k,x,T,{fill:R?a:s,fillStyle:R?"hachure":"solid",stroke:u,seed:i});C=h.insert(()=>L,":first-child"),p=h.insert(()=>S)}else C=f.insert("rect",":first-child"),C.attr("class","outer").attr("x",E).attr("y",w).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",E).attr("y",k).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-g.width/2}, ${w+1-(Sr(r.flowchart.htmlLabels)?0:3)})`);let D=C.node().getBBox();return e.height=D.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(R){return Hf(e,R)},{cluster:h,labelBBox:g}},"roundedWithTitle"),$Fe=o(async(t,e)=>{X.info("Creating subgraph rect for ",e.id,e);let r=xe(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Qe(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=Sr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await Ai(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}),y=g.getBBox();if(Sr(r.flowchart.htmlLabels)){let C=g.children[0],D=He(g);y=C.getBoundingClientRect(),D.attr("width",y.width),D.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;X.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){let C=Je.svg(d),D=tt(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),R=C.path(so(b,T,v,x,e.rx),D);E=d.insert(()=>(X.debug("Rough node insert CXC",R),R),":first-child"),E.select("path:nth-child(2)").attr("style",h.join(";")),E.select("path").attr("style",f.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Eh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let C=m.select("span");C&&C.attr("style",l)}let k=E.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(C){return Hf(e,C)},{cluster:d,labelBBox:y}},"kanbanSection"),zFe=o((t,e)=>{let r=xe(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Je.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=s.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return Hf(e,y)},{cluster:s,labelBBox:{}}},"divider"),GFe=Ese,VFe={rect:Ese,squareRect:GFe,roundedWithTitle:FFe,noteGroup:BFe,divider:zFe,kanbanSection:$Fe},Cse=new Map,l1=o(async(t,e)=>{let r=e.shape||"rect",n=await VFe[r](t,e);return Cse.set(e.id,n),n},"insertCluster"),Ase=o(()=>{Cse=new Map},"clear")});function jk(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=ii(t),e=ii(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var Ia,wM,ii,Xk,kM=I(()=>{"use strict";Ia={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4},wM={arrow_point:9,arrow_cross:12.5,arrow_circle:12.5};o(jk,"calculateDeltaAndAngle");ii=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),Xk=o(t=>({x:o(function(e,r,n){let i=0,a=ii(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Ia,t.arrowTypeEnd)){let{angle:m,deltaX:g}=jk(n[n.length-1],n[n.length-2]);i=Ia[t.arrowTypeEnd]*Math.cos(m)*(g>=0?1:-1)}let s=Math.abs(ii(e).x-ii(n[n.length-1]).x),l=Math.abs(ii(e).y-ii(n[n.length-1]).y),u=Math.abs(ii(e).x-ii(n[0]).x),h=Math.abs(ii(e).y-ii(n[0]).y),f=Ia[t.arrowTypeStart],d=Ia[t.arrowTypeEnd],p=1;if(s0&&l0&&h=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Ia,t.arrowTypeEnd)){let{angle:m,deltaY:g}=jk(n[n.length-1],n[n.length-2]);i=Ia[t.arrowTypeEnd]*Math.abs(Math.sin(m))*(g>=0?1:-1)}let s=Math.abs(ii(e).y-ii(n[n.length-1]).y),l=Math.abs(ii(e).x-ii(n[n.length-1]).x),u=Math.abs(ii(e).y-ii(n[0]).y),h=Math.abs(ii(e).x-ii(n[0]).x),f=Ia[t.arrowTypeStart],d=Ia[t.arrowTypeEnd],p=1;if(s0&&l0&&h{"use strict";gt();Dse=o((t,e,r,n,i,a)=>{e.arrowTypeStart&&_se(t,"start",e.arrowTypeStart,r,n,i,a),e.arrowTypeEnd&&_se(t,"end",e.arrowTypeEnd,r,n,i,a)},"addEdgeMarkers"),qFe={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},_se=o((t,e,r,n,i,a,s)=>{let l=qFe[r];if(!l){X.warn(`Unknown arrow type: ${r}`);return}let u=l.type,f=`${i}_${a}-${u}${e==="start"?"Start":"End"}`;if(s&&s.trim()!==""){let d=s.replace(/[^\dA-Za-z]/g,"_"),p=`${f}_${d}`;if(!document.getElementById(p)){let m=document.getElementById(f);if(m){let g=m.cloneNode(!0);g.id=p,g.querySelectorAll("path, circle, line").forEach(v=>{v.setAttribute("stroke",s),l.fill&&v.setAttribute("fill",s)}),m.parentNode?.appendChild(g)}}t.attr(`marker-${e}`,`url(${n}#${p})`)}else t.attr(`marker-${e}`,`url(${n}#${f})`)},"addEdgeMarker")});function Qk(t,e){xe().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function HFe(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}function XFe(t,e){if(t.length<2)return"";let r="",n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&Ia[e.arrowTypeStart]){let i=Ia[e.arrowTypeStart],a=t[0],s=t[1],{angle:l}=Mse(a,s),u=i*Math.cos(l),h=i*Math.sin(l);r[0].x=a.x+u,r[0].y=a.y+h}let n=t.length;if(n>=2&&Ia[e.arrowTypeEnd]){let i=Ia[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:l}=Mse(s,a),u=i*Math.cos(l),h=i*Math.sin(l);r[n-1].x=a.x-u,r[n-1].y=a.y-h}return r}var Zk,Oa,Ise,Kk,Jk,eS,UFe,WFe,Lse,Nse,YFe,jFe,tS,SM=I(()=>{"use strict";Qt();wr();gt();yl();sr();kM();ab();kr();Yt();qk();Rse();Vt();Zk=new Map,Oa=new Map,Ise=o(()=>{Zk.clear(),Oa.clear()},"clear"),Kk=o(t=>t?t.reduce((r,n)=>r+";"+n,""):"","getLabelStyles"),Jk=o(async(t,e)=>{let r=Sr(xe().flowchart.htmlLabels),{labelStyles:n}=Qe(e);e.labelStyle=n;let i=await Ai(t,e.label,{style:e.labelStyle,useHtmlLabels:r,addSvgBackground:!0,isNode:!1});X.info("abc82",e,e.labelType);let a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id);s.node().appendChild(i);let l=i.getBBox();if(r){let h=i.children[0],f=He(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),Zk.set(e.id,a),e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=await ou(e.startLabelLeft,Kk(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Oa.get(e.id)||Oa.set(e.id,{}),Oa.get(e.id).startLeft=f,Qk(u,e.startLabelLeft)}if(e.startLabelRight){let h=await ou(e.startLabelRight,Kk(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Oa.get(e.id)||Oa.set(e.id,{}),Oa.get(e.id).startRight=f,Qk(u,e.startLabelRight)}if(e.endLabelLeft){let h=await ou(e.endLabelLeft,Kk(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Oa.get(e.id)||Oa.set(e.id,{}),Oa.get(e.id).endLeft=f,Qk(u,e.endLabelLeft)}if(e.endLabelRight){let h=await ou(e.endLabelRight,Kk(e.labelStyle)),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Oa.get(e.id)||Oa.set(e.id,{}),Oa.get(e.id).endRight=f,Qk(u,e.endLabelRight)}return i},"insertEdgeLabel");o(Qk,"setTerminalWidth");eS=o((t,e)=>{X.debug("Moving label abc88 ",t.id,t.label,Zk.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=xe(),{subGraphTitleTotalMargin:i}=Eh(n);if(t.label){let a=Zk.get(t.id),s=t.x,l=t.y;if(r){let u=jt.calcLabelPosition(r);X.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=Oa.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=Oa.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=Oa.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=Oa.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),UFe=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),WFe=o((t,e,r)=>{X.debug(`intersection calc abc89: +You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){let i=this.isLinkData(n)?n.id.replace("@",""):void 0;K.info("addLink",e,r,i);for(let a of e)for(let s of r){let l=a===e[e.length-1],u=s===r[0];l&&u?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){let n=r.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){let l=s.replace("fill","bgFill");a.textStyles.push(l)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(let n of e.split(",")){let i=this.vertices.get(n);i&&i.classes.push(r);let a=this.edges.find(l=>l.id===n);a&&a.classes.push(r);let s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(let n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){let i=this.lookUpDomId(e);if(ve().securityLevel!=="loose"||r===void 0)return;let a=[];if(typeof n=="string"){a=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{let l=document.querySelector(`[id="${i}"]`);l!==null&&l.addEventListener("click",()=>{Xt.runFunc(r,...a)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{let a=this.vertices.get(i);a!==void 0&&(a.link=Xt.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let r=sk();je(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=je(a.currentTarget),l=s.attr("title");if(l===null)return;let u=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),r.html(fl.sanitize(l)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),je(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=ve(),_r()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);let l=o(p=>{let m={boolean:{},number:{},string:{}},g=[],y;return{nodeList:p.filter(function(x){let b=typeof x;return x.stmt&&x.stmt==="dir"?(y=x.value,!1):x.trim()===""?!1:b in m?m[b].hasOwnProperty(x)?!1:m[b][x]=!0:g.includes(x)?!1:g.push(x)}),dir:y}},"uniq")(r.flat()),u=l.nodeList,h=l.dir,f=ve().flowchart??{};if(h=h??(f.inheritDir?this.getDirection()??ve().direction??void 0:void 0),this.version==="gen-1")for(let p=0;p2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){let l=this.indexNodes2(e,s);if(l.result)return{result:!0,count:a+l.count};a=a+l.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){let n=r.length,i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");let l=this.countChar(".",n);return l&&(a="dotted",s=l),{type:i,stroke:a,length:s}}destructLink(e,r){let n=this.destructEndLink(e),i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(let n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){let n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){let l=n.get(e.id),u=i.get(e.id)??!1,h=this.findNode(r,e.id);if(h)h.cssStyles=e.styles,h.cssCompiledStyles=this.getCompiledStyles(e.classes),h.cssClasses=e.classes.join(" ");else{let f={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:l,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};u?r.push({...f,isGroup:!0,shape:"rect"}):r.push({...f,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){let e=ve(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let h=i.length-1;h>=0;h--){let f=i[h];f.nodes.length>0&&s.set(f.id,!0);for(let d of f.nodes)a.set(d,f.id)}for(let h=i.length-1;h>=0;h--){let f=i[h];r.push({id:f.id,label:f.title,labelStyle:"",labelType:f.labelType,parentId:a.get(f.id),padding:8,cssCompiledStyles:this.getCompiledStyles(f.classes),cssClasses:f.classes.join(" "),shape:"rect",dir:f.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(h=>{this.addNodeFromVertex(h,r,a,s,e,e.look||"classic")});let u=this.getEdges();return u.forEach((h,f)=>{let{arrowTypeStart:d,arrowTypeEnd:p}=this.destructEdgeType(h.type),m=[...u.defaultStyle??[]];h.style&&m.push(...h.style);let g={id:hu(h.start,h.end,{counter:f,prefix:"L"},h.id),isUserDefinedId:h.isUserDefinedId,start:h.start,end:h.end,type:h.type??"normal",label:h.text,labelType:h.labelType,labelpos:"c",thickness:h.stroke,minlen:h.length,classes:h?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":d,arrowTypeEnd:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":p,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(h.classes),labelStyle:m,style:m,pattern:h.stroke,look:e.look,animate:h.animate,animation:h.animation,curve:h.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(g)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return Fw.flowchart}}});var Sl,b0=O(()=>{"use strict";Ar();Sl=o((t,e)=>{let r;return e==="sandbox"&&(r=je("#i"+t)),(e==="sandbox"?je(r.nodes()[0].contentDocument.body):je("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Lh,gb=O(()=>{"use strict";Lh=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});var coe,bze,Tze,wze,kze,Eze,Sze,uoe,g1,hoe,oE=O(()=>{"use strict";jt();$r();xt();gb();Ar();Wt();co();mM();iE();x0();Ut();coe=o(async(t,e)=>{K.info("Creating subgraph rect for ",e.id,e);let r=ve(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Ze(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=Sr(r),m=d.insert("g").attr("class","cluster-label "),g;e.labelType==="markdown"?g=await Fn(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}):g=await yc(m,e.label,e.labelStyle||"",!1,!0);let y=g.getBBox();if(Sr(r)){let S=g.children[0],A=je(g);y=S.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;K.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){let S=Je.svg(d),A=nt(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),L=S.path(ho(b,T,v,x,0),A);E=d.insert(()=>(K.debug("Rough node insert CXC",L),L),":first-child"),E.select("path:nth-child(2)").attr("style",h.join(";")),E.select("path").attr("style",f.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Lh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let S=m.select("span");S&&S.attr("style",l)}let k=E.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(S){return Qf(e,S)},{cluster:d,labelBBox:y}},"rect"),bze=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Qf(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),Tze=o(async(t,e)=>{let r=ve(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=await yc(d,e.label,e.labelStyle,void 0,!0),g=m.getBBox();if(Sr(r)){let L=m.children[0],I=je(m);g=L.getBoundingClientRect(),I.attr("width",g.width),I.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,T=e.height+y-g.height-6,E=e.x-x/2,w=e.y-b/2;e.width=x;let k=e.y-e.height/2-v+g.height+2,S;if(e.look==="handDrawn"){let L=e.cssClasses.includes("statediagram-cluster-alt"),I=Je.svg(h),N=e.rx||e.ry?I.path(ho(E,w,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):I.rectangle(E,w,x,b,{seed:i});S=h.insert(()=>N,":first-child");let C=I.rectangle(E,k,x,T,{fill:L?a:s,fillStyle:L?"hachure":"solid",stroke:u,seed:i});S=h.insert(()=>N,":first-child"),p=h.insert(()=>C)}else S=f.insert("rect",":first-child"),S.attr("class","outer").attr("x",E).attr("y",w).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",E).attr("y",k).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-g.width/2}, ${w+1-(Sr(r)?0:3)})`);let A=S.node().getBBox();return e.height=A.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(L){return Qf(e,L)},{cluster:h,labelBBox:g}},"roundedWithTitle"),wze=o(async(t,e)=>{K.info("Creating subgraph rect for ",e.id,e);let r=ve(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Ze(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=Sr(r),m=d.insert("g").attr("class","cluster-label "),g=await Fn(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}),y=g.getBBox();if(Sr(r)){let S=g.children[0],A=je(g);y=S.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;K.trace("Data ",e,JSON.stringify(e));let E;if(e.look==="handDrawn"){let S=Je.svg(d),A=nt(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),L=S.path(ho(b,T,v,x,e.rx),A);E=d.insert(()=>(K.debug("Rough node insert CXC",L),L),":first-child"),E.select("path:nth-child(2)").attr("style",h.join(";")),E.select("path").attr("style",f.join(";").replace("fill","stroke"))}else E=d.insert("rect",":first-child"),E.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Lh(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let S=m.select("span");S&&S.attr("style",l)}let k=E.node().getBBox();return e.offsetX=0,e.width=k.width,e.height=k.height,e.offsetY=y.height-e.padding/2,e.intersect=function(S){return Qf(e,S)},{cluster:d,labelBBox:y}},"kanbanSection"),kze=o((t,e)=>{let r=ve(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Je.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=s.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return Qf(e,y)},{cluster:s,labelBBox:{}}},"divider"),Eze=coe,Sze={rect:coe,squareRect:Eze,roundedWithTitle:Tze,noteGroup:bze,divider:kze,kanbanSection:wze},uoe=new Map,g1=o(async(t,e)=>{let r=e.shape||"rect",n=await Sze[r](t,e);return uoe.set(e.id,n),n},"insertCluster"),hoe=o(()=>{uoe=new Map},"clear")});var Cl,BM=O(()=>{"use strict";Cl=o((t,e)=>{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";let r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform")});function lE(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=li(t),e=li(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var Ba,FM,li,cE,$M=O(()=>{"use strict";Ba={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4},FM={arrow_point:9,arrow_cross:12.5,arrow_circle:12.5};o(lE,"calculateDeltaAndAngle");li=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),cE=o(t=>({x:o(function(e,r,n){let i=0,a=li(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Ba,t.arrowTypeEnd)){let{angle:m,deltaX:g}=lE(n[n.length-1],n[n.length-2]);i=Ba[t.arrowTypeEnd]*Math.cos(m)*(g>=0?1:-1)}let s=Math.abs(li(e).x-li(n[n.length-1]).x),l=Math.abs(li(e).y-li(n[n.length-1]).y),u=Math.abs(li(e).x-li(n[0]).x),h=Math.abs(li(e).y-li(n[0]).y),f=Ba[t.arrowTypeStart],d=Ba[t.arrowTypeEnd],p=1;if(s0&&l0&&h=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Ba,t.arrowTypeEnd)){let{angle:m,deltaY:g}=lE(n[n.length-1],n[n.length-2]);i=Ba[t.arrowTypeEnd]*Math.abs(Math.sin(m))*(g>=0?1:-1)}let s=Math.abs(li(e).y-li(n[n.length-1]).y),l=Math.abs(li(e).x-li(n[n.length-1]).x),u=Math.abs(li(e).y-li(n[0]).y),h=Math.abs(li(e).x-li(n[0]).x),f=Ba[t.arrowTypeStart],d=Ba[t.arrowTypeEnd],p=1;if(s0&&l0&&h{"use strict";xt();doe=o((t,e,r,n,i,a)=>{e.arrowTypeStart&&foe(t,"start",e.arrowTypeStart,r,n,i,a),e.arrowTypeEnd&&foe(t,"end",e.arrowTypeEnd,r,n,i,a)},"addEdgeMarkers"),Cze={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},foe=o((t,e,r,n,i,a,s)=>{let l=Cze[r];if(!l){K.warn(`Unknown arrow type: ${r}`);return}let u=l.type,f=`${i}_${a}-${u}${e==="start"?"Start":"End"}`;if(s&&s.trim()!==""){let d=s.replace(/[^\dA-Za-z]/g,"_"),p=`${f}_${d}`;if(!document.getElementById(p)){let m=document.getElementById(f);if(m){let g=m.cloneNode(!0);g.id=p,g.querySelectorAll("path, circle, line").forEach(v=>{v.setAttribute("stroke",s),l.fill&&v.setAttribute("fill",s)}),m.parentNode?.appendChild(g)}}t.attr(`marker-${e}`,`url(${n}#${p})`)}else t.attr(`marker-${e}`,`url(${n}#${f})`)},"addEdgeMarker")});function uE(t,e){Sr(ve())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function Rze(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}function Mze(t,e){if(t.length<2)return"";let r="",n=t.length,i=1e-5;for(let a=0;a({...i}));if(t.length>=2&&Ba[e.arrowTypeStart]){let i=Ba[e.arrowTypeStart],a=t[0],s=t[1],{angle:l}=yoe(a,s),u=i*Math.cos(l),h=i*Math.sin(l);r[0].x=a.x+u,r[0].y=a.y+h}let n=t.length;if(n>=2&&Ba[e.arrowTypeEnd]){let i=Ba[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:l}=yoe(s,a),u=i*Math.cos(l),h=i*Math.sin(l);r[n-1].x=a.x-u,r[n-1].y=a.y-h}return r}var Aze,hE,Fa,voe,yb,fE,dE,_ze,Dze,moe,goe,Lze,Nze,pE,zM=O(()=>{"use strict";jt();$r();xt();co();BM();ar();$M();gb();Ar();Wt();iE();poe();Ut();Aze=o(t=>typeof t=="string"?t:ve()?.flowchart?.curve,"resolveEdgeCurveType"),hE=new Map,Fa=new Map,voe=o(()=>{hE.clear(),Fa.clear()},"clear"),yb=o(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),fE=o(async(t,e)=>{let r=ve(),n=Sr(r),{labelStyles:i}=Ze(e);e.labelStyle=i;let a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),l=e.labelType==="markdown",h=await Fn(t,e.label,{style:yb(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:l,width:l?void 0:void 0},r);s.node().appendChild(h),K.info("abc82",e,e.labelType);let f=h.getBBox(),d=f;if(n){let m=h.children[0],g=je(h);f=m.getBoundingClientRect(),d=f,g.attr("width",f.width),g.attr("height",f.height)}else{let m=je(h).select("text").node();m&&typeof m.getBBox=="function"&&(d=m.getBBox())}s.attr("transform",Cl(d,n)),hE.set(e.id,a),e.width=f.width,e.height=f.height;let p;if(e.startLabelLeft){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await yc(g,e.startLabelLeft,yb(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(n){let x=y.children[0],b=je(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Cl(v,n)),Fa.get(e.id)||Fa.set(e.id,{}),Fa.get(e.id).startLeft=m,uE(p,e.startLabelLeft)}if(e.startLabelRight){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await yc(g,e.startLabelRight,yb(e.labelStyle)||"",!1,!1);p=y,g.node().appendChild(y);let v=y.getBBox();if(n){let x=y.children[0],b=je(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Cl(v,n)),Fa.get(e.id)||Fa.set(e.id,{}),Fa.get(e.id).startRight=m,uE(p,e.startLabelRight)}if(e.endLabelLeft){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await yc(g,e.endLabelLeft,yb(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(n){let x=y.children[0],b=je(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Cl(v,n)),m.node().appendChild(y),Fa.get(e.id)||Fa.set(e.id,{}),Fa.get(e.id).endLeft=m,uE(p,e.endLabelLeft)}if(e.endLabelRight){let m=t.insert("g").attr("class","edgeTerminals"),g=m.insert("g").attr("class","inner"),y=await yc(g,e.endLabelRight,yb(e.labelStyle)||"",!1,!1);p=y;let v=y.getBBox();if(n){let x=y.children[0],b=je(y);v=x.getBoundingClientRect(),b.attr("width",v.width),b.attr("height",v.height)}g.attr("transform",Cl(v,n)),m.node().appendChild(y),Fa.get(e.id)||Fa.set(e.id,{}),Fa.get(e.id).endRight=m,uE(p,e.endLabelRight)}return h},"insertEdgeLabel");o(uE,"setTerminalWidth");dE=o((t,e)=>{K.debug("Moving label abc88 ",t.id,t.label,hE.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=ve(),{subGraphTitleTotalMargin:i}=Lh(n);if(t.label){let a=hE.get(t.id),s=t.x,l=t.y;if(r){let u=Xt.calcLabelPosition(r);K.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=Fa.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=Fa.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=Fa.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=Fa.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),_ze=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),Dze=o((t,e,r)=>{K.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{X.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(X.info("abc88 checking point",a,e),!UFe(e,a)&&!i){let s=WFe(e,n,a);X.debug("abc88 inside",a,n,s),X.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?X.warn("abc88 no intersect",s,r):r.push(s),i=!0}else X.warn("abc88 outside",a,n),n=a,i||r.push(a)}),X.debug("returning points",r),r},"cutPathAtIntersect");o(HFe,"extractCornerPoints");Nse=o(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),YFe=o(function(t){let{cornerPointPositions:e}=HFe(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){X.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else X.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),jFe=o((t,e,r)=>{let n=t-e-r,i=2,a=2,s=i+a,l=Math.floor(n/s),u=Array(l).fill(`${i} ${a}`).join(" ");return`0 ${e} ${u} ${r}`},"generateDashArray"),tS=o(function(t,e,r,n,i,a,s,l=!1){let{handDrawnSeed:u}=xe(),h=e.points,f=!1,d=i;var p=a;let m=[];for(let _ in e.cssCompiledStyles)Zx(_)||m.push(e.cssCompiledStyles[_]);X.debug("UIO intersect check",e.points,p.x,d.x),p.intersect&&d.intersect&&!l&&(h=h.slice(1,e.points.length-1),h.unshift(d.intersect(h[0])),X.debug("Last point UIO",e.start,"-->",e.end,h[h.length-1],p,p.intersect(h[h.length-1])),h.push(p.intersect(h[h.length-1])));let g=btoa(JSON.stringify(h));e.toCluster&&(X.info("to cluster abc88",r.get(e.toCluster)),h=Lse(e.points,r.get(e.toCluster).node),f=!0),e.fromCluster&&(X.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(h,null,2)),h=Lse(h.reverse(),r.get(e.fromCluster).node).reverse(),f=!0);let y=h.filter(_=>!Number.isNaN(_.y));y=YFe(y);let v=cl;switch(v=mh,e.curve){case"linear":v=mh;break;case"basis":v=cl;break;case"cardinal":v=yx;break;case"bumpX":v=fx;break;case"bumpY":v=dx;break;case"catmullRom":v=bx;break;case"monotoneX":v=Tx;break;case"monotoneY":v=wx;break;case"natural":v=Pg;break;case"step":v=Bg;break;case"stepAfter":v=Sx;break;case"stepBefore":v=kx;break;default:v=cl}let{x,y:b}=Xk(e),T=ac().x(x).y(b).curve(v),E;switch(e.thickness){case"normal":E="edge-thickness-normal";break;case"thick":E="edge-thickness-thick";break;case"invisible":E="edge-thickness-invisible";break;default:E="edge-thickness-normal"}switch(e.pattern){case"solid":E+=" edge-pattern-solid";break;case"dotted":E+=" edge-pattern-dotted";break;case"dashed":E+=" edge-pattern-dashed";break;default:E+=" edge-pattern-solid"}let w,k=e.curve==="rounded"?XFe(KFe(y,e),5):T(y),C=Array.isArray(e.style)?e.style:[e.style],D=C.find(_=>_?.startsWith("stroke:")),R=!1;if(e.look==="handDrawn"){let _=Je.svg(t);Object.assign([],y);let N=_.path(k,{roughness:.3,seed:u});E+=" transition",w=He(N).select("path").attr("id",e.id).attr("class"," "+E+(e.classes?" "+e.classes:"")).attr("style",C?C.reduce((P,B)=>P+";"+B,""):"");let M=w.attr("d");w.attr("d",M),t.node().appendChild(w.node())}else{let _=m.join(";"),N=C?C.reduce((V,K)=>V+K+";",""):"",M="";e.animate&&(M=" edge-animation-fast"),e.animation&&(M=" edge-animation-"+e.animation);let P=(_?_+";"+N+";":N)+";"+(C?C.reduce((V,K)=>V+";"+K,""):"");w=t.append("path").attr("d",k).attr("id",e.id).attr("class"," "+E+(e.classes?" "+e.classes:"")+(M??"")).attr("style",P),D=P.match(/stroke:([^;]+)/)?.[1],R=e.animate===!0||!!e.animation||_.includes("animation");let B=w.node(),F=typeof B.getTotalLength=="function"?B.getTotalLength():0,G=wM[e.arrowTypeStart]||0,$=wM[e.arrowTypeEnd]||0;if(e.look==="neo"&&!R){let K=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?jFe(F,G,$):`0 ${G} ${F-G-$} ${$}`}; stroke-dashoffset: 0;`;w.attr("style",K+w.attr("style"))}}w.attr("data-edge",!0),w.attr("data-et","edge"),w.attr("data-id",e.id),w.attr("data-points",g),e.showPoints&&y.forEach(_=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",_.x).attr("cy",_.y)});let O="";(xe().flowchart.arrowMarkerAbsolute||xe().state.arrowMarkerAbsolute)&&(O=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,O=O.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),X.info("arrowTypeStart",e.arrowTypeStart),X.info("arrowTypeEnd",e.arrowTypeEnd),Dse(w,e,O,s,n,D);let L=Math.floor(h.length/2),S=h[L];jt.isLabelCoordinateInPath(S,w.attr("d"))||(f=!0);let A={};return f&&(A.updatedPath=h),A.originalPath=e.points,A},"insertEdge");o(XFe,"generateRoundedPath");o(Mse,"calculateDeltaAndAngle");o(KFe,"applyMarkerOffsetsToPoints")});var QFe,ZFe,JFe,e$e,t$e,r$e,n$e,i$e,a$e,s$e,o$e,l$e,c$e,u$e,h$e,f$e,d$e,rS,EM=I(()=>{"use strict";gt();QFe=o((t,e,r,n)=>{e.forEach(i=>{d$e[i](t,r,n)})},"insertMarkers"),ZFe=o((t,e,r)=>{X.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),JFe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),e$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),t$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),r$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),n$e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),i$e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),a$e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),s$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),o$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),l$e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),c$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),u$e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),h$e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{K.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(K.info("abc88 checking point",a,e),!_ze(e,a)&&!i){let s=Dze(e,n,a);K.debug("abc88 inside",a,n,s),K.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?K.warn("abc88 no intersect",s,r):r.push(s),i=!0}else K.warn("abc88 outside",a,n),n=a,i||r.push(a)}),K.debug("returning points",r),r},"cutPathAtIntersect");o(Rze,"extractCornerPoints");goe=o(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),Lze=o(function(t){let{cornerPointPositions:e}=Rze(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){K.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else K.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),Nze=o((t,e,r)=>{let n=t-e-r,i=2,a=2,s=i+a,l=Math.floor(n/s),u=Array(l).fill(`${i} ${a}`).join(" ");return`0 ${e} ${u} ${r}`},"generateDashArray"),pE=o(function(t,e,r,n,i,a,s,l=!1){let{handDrawnSeed:u}=ve(),h=e.points,f=!1,d=i;var p=a;let m=[];for(let R in e.cssCompiledStyles)ub(R)||m.push(e.cssCompiledStyles[R]);K.debug("UIO intersect check",e.points,p.x,d.x),p.intersect&&d.intersect&&!l&&(h=h.slice(1,e.points.length-1),h.unshift(d.intersect(h[0])),K.debug("Last point UIO",e.start,"-->",e.end,h[h.length-1],p,p.intersect(h[h.length-1])),h.push(p.intersect(h[h.length-1])));let g=btoa(JSON.stringify(h));e.toCluster&&(K.info("to cluster abc88",r.get(e.toCluster)),h=moe(e.points,r.get(e.toCluster).node),f=!0),e.fromCluster&&(K.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(h,null,2)),h=moe(h.reverse(),r.get(e.fromCluster).node).reverse(),f=!0);let y=h.filter(R=>!Number.isNaN(R.y)),v=Aze(e.curve);v!=="rounded"&&(y=Lze(y));let x=au;switch(v){case"linear":x=au;break;case"basis":x=fc;break;case"cardinal":x=Rx;break;case"bumpX":x=Sx;break;case"bumpY":x=Cx;break;case"catmullRom":x=Mx;break;case"monotoneX":x=Ix;break;case"monotoneY":x=Ox;break;case"natural":x=qg;break;case"step":x=Ug;break;case"stepAfter":x=Bx;break;case"stepBefore":x=Px;break;case"rounded":x=au;break;default:x=fc}let{x:b,y:T}=cE(e),E=hc().x(b).y(T).curve(x),w;switch(e.thickness){case"normal":w="edge-thickness-normal";break;case"thick":w="edge-thickness-thick";break;case"invisible":w="edge-thickness-invisible";break;default:w="edge-thickness-normal"}switch(e.pattern){case"solid":w+=" edge-pattern-solid";break;case"dotted":w+=" edge-pattern-dotted";break;case"dashed":w+=" edge-pattern-dashed";break;default:w+=" edge-pattern-solid"}let k,S=v==="rounded"?Mze(Ize(y,e),5):E(y),A=Array.isArray(e.style)?e.style:[e.style],L=A.find(R=>R?.startsWith("stroke:")),I="";e.animate&&(I="edge-animation-fast"),e.animation&&(I="edge-animation-"+e.animation);let N=!1;if(e.look==="handDrawn"){let R=Je.svg(t);Object.assign([],y);let P=R.path(S,{roughness:.3,seed:u});w+=" transition",k=je(P).select("path").attr("id",e.id).attr("class"," "+w+(e.classes?" "+e.classes:"")+(I?" "+I:"")).attr("style",A?A.reduce((F,G)=>F+";"+G,""):"");let B=k.attr("d");k.attr("d",B),t.node().appendChild(k.node())}else{let R=m.join(";"),P=A?A.reduce((X,Q)=>X+Q+";",""):"",B=(R?R+";"+P+";":P)+";"+(A?A.reduce((X,Q)=>X+";"+Q,""):"");k=t.append("path").attr("d",S).attr("id",e.id).attr("class"," "+w+(e.classes?" "+e.classes:"")+(I?" "+I:"")).attr("style",B),L=B.match(/stroke:([^;]+)/)?.[1],N=e.animate===!0||!!e.animation||R.includes("animation");let F=k.node(),G=typeof F.getTotalLength=="function"?F.getTotalLength():0,$=FM[e.arrowTypeStart]||0,V=FM[e.arrowTypeEnd]||0;if(e.look==="neo"&&!N){let Q=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?Nze(G,$,V):`0 ${$} ${G-$-V} ${V}`}; stroke-dashoffset: 0;`;k.attr("style",Q+k.attr("style"))}}k.attr("data-edge",!0),k.attr("data-et","edge"),k.attr("data-id",e.id),k.attr("data-points",g),e.showPoints&&y.forEach(R=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",R.x).attr("cy",R.y)});let C="";(ve().flowchart.arrowMarkerAbsolute||ve().state.arrowMarkerAbsolute)&&(C=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,C=C.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),K.info("arrowTypeStart",e.arrowTypeStart),K.info("arrowTypeEnd",e.arrowTypeEnd),doe(k,e,C,s,n,L);let _=Math.floor(h.length/2),D=h[_];Xt.isLabelCoordinateInPath(D,k.attr("d"))||(f=!0);let M={};return f&&(M.updatedPath=h),M.originalPath=e.points,M},"insertEdge");o(Mze,"generateRoundedPath");o(yoe,"calculateDeltaAndAngle");o(Ize,"applyMarkerOffsetsToPoints")});var Oze,Pze,Bze,Fze,$ze,zze,Gze,Vze,qze,Uze,Wze,Hze,Yze,jze,Xze,Kze,Qze,mE,GM=O(()=>{"use strict";xt();Oze=o((t,e,r,n)=>{e.forEach(i=>{Qze[i](t,r,n)})},"insertMarkers"),Pze=o((t,e,r)=>{K.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),Bze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Fze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),$ze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),zze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Gze=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Vze=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),qze=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Uze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Wze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),Hze=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),Yze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),jze=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),Xze=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`)},"requirement_arrow"),f$e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),d$e={extension:ZFe,composition:JFe,aggregation:e$e,dependency:t$e,lollipop:r$e,point:n$e,circle:i$e,cross:a$e,barb:s$e,only_one:o$e,zero_or_one:l$e,one_or_more:c$e,zero_or_more:u$e,requirement_arrow:h$e,requirement_contains:f$e},rS=QFe});async function c1(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?bM[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),nS.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}var nS,Ose,Pse,sb,iS=I(()=>{"use strict";gt();TM();nS=new Map;o(c1,"insertNode");Ose=o((t,e)=>{nS.set(e.id,t)},"setNodeElem"),Pse=o(()=>{nS.clear()},"clear"),sb=o(t=>{let e=nS.get(t.id);X.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var Bse,Fse=I(()=>{"use strict";ti();wr();gt();Yk();SM();EM();iS();Bt();sr();Bse={common:nt,getConfig:tr,insertCluster:l1,insertEdge:tS,insertEdgeLabel:Jk,insertMarkers:rS,insertNode:c1,interpolateToCurve:dN,labelHelper:ft,log:X,positionEdgeLabel:eS}});function m$e(t){return typeof t=="symbol"||gi(t)&&Ma(t)==p$e}var p$e,Fo,v0=I(()=>{"use strict";yh();fl();p$e="[object Symbol]";o(m$e,"isSymbol");Fo=m$e});function g$e(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";o(g$e,"arrayMap");oo=g$e});function Gse(t){if(typeof t=="string")return t;if(zt(t))return oo(t,Gse)+"";if(Fo(t))return zse?zse.call(t):"";var e=t+"";return e=="0"&&1/t==-y$e?"-0":e}var y$e,$se,zse,Vse,qse=I(()=>{"use strict";r0();x0();ni();v0();y$e=1/0,$se=da?da.prototype:void 0,zse=$se?$se.toString:void 0;o(Gse,"baseToString");Vse=Gse});function x$e(t){for(var e=t.length;e--&&v$e.test(t.charAt(e)););return e}var v$e,Use,Wse=I(()=>{"use strict";v$e=/\s/;o(x$e,"trimmedEndIndex");Use=x$e});function T$e(t){return t&&t.slice(0,Use(t)+1).replace(b$e,"")}var b$e,Hse,Yse=I(()=>{"use strict";Wse();b$e=/^\s+/;o(T$e,"baseTrim");Hse=T$e});function C$e(t){if(typeof t=="number")return t;if(Fo(t))return jse;if(In(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=In(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Hse(t);var r=k$e.test(t);return r||S$e.test(t)?E$e(t.slice(2),r?2:8):w$e.test(t)?jse:+t}var jse,w$e,k$e,S$e,E$e,Xse,Kse=I(()=>{"use strict";Yse();Oo();v0();jse=NaN,w$e=/^[-+]0x[0-9a-f]+$/i,k$e=/^0b[01]+$/i,S$e=/^0o[0-7]+$/i,E$e=parseInt;o(C$e,"toNumber");Xse=C$e});function _$e(t){if(!t)return t===0?t:0;if(t=Xse(t),t===Qse||t===-Qse){var e=t<0?-1:1;return e*A$e}return t===t?t:0}var Qse,A$e,u1,CM=I(()=>{"use strict";Kse();Qse=1/0,A$e=17976931348623157e292;o(_$e,"toFinite");u1=_$e});function D$e(t){var e=u1(t),r=e%1;return e===e?r?e-r:e:0}var lu,h1=I(()=>{"use strict";CM();o(D$e,"toInteger");lu=D$e});var R$e,aS,Zse=I(()=>{"use strict";Mf();ul();R$e=Zs(Ei,"WeakMap"),aS=R$e});function L$e(){}var yi,AM=I(()=>{"use strict";o(L$e,"noop");yi=L$e});function N$e(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(N$e,"arrayEach");sS=N$e});function M$e(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";o(M$e,"baseFindIndex");oS=M$e});function I$e(t){return t!==t}var Jse,eoe=I(()=>{"use strict";o(I$e,"baseIsNaN");Jse=I$e});function O$e(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";o(O$e,"strictIndexOf");toe=O$e});function P$e(t,e,r){return e===e?toe(t,e,r):oS(t,Jse,r)}var f1,lS=I(()=>{"use strict";DM();eoe();roe();o(P$e,"baseIndexOf");f1=P$e});function B$e(t,e){var r=t==null?0:t.length;return!!r&&f1(t,e,0)>-1}var cS,RM=I(()=>{"use strict";lS();o(B$e,"arrayIncludes");cS=B$e});var F$e,noe,ioe=I(()=>{"use strict";eN();F$e=nk(Object.keys,Object),noe=F$e});function G$e(t){if(!Jc(t))return noe(t);var e=[];for(var r in Object(t))z$e.call(t,r)&&r!="constructor"&&e.push(r);return e}var $$e,z$e,d1,uS=I(()=>{"use strict";Kg();ioe();$$e=Object.prototype,z$e=$$e.hasOwnProperty;o(G$e,"baseKeys");d1=G$e});function V$e(t){return Ci(t)?lk(t):d1(t)}var en,cu=I(()=>{"use strict";aN();uS();dl();o(V$e,"keys");en=V$e});var q$e,U$e,W$e,Pa,aoe=I(()=>{"use strict";e1();o0();cN();dl();Kg();cu();q$e=Object.prototype,U$e=q$e.hasOwnProperty,W$e=hk(function(t,e){if(Jc(e)||Ci(e)){gl(e,en(e),t);return}for(var r in e)U$e.call(e,r)&&eu(t,r,e[r])}),Pa=W$e});function j$e(t,e){if(zt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Fo(t)?!0:Y$e.test(t)||!H$e.test(t)||e!=null&&t in Object(e)}var H$e,Y$e,p1,hS=I(()=>{"use strict";ni();v0();H$e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Y$e=/^\w*$/;o(j$e,"isKey");p1=j$e});function K$e(t){var e=Vg(t,function(n){return r.size===X$e&&r.clear(),n}),r=e.cache;return e}var X$e,soe,ooe=I(()=>{"use strict";Y9();X$e=500;o(K$e,"memoizeCapped");soe=K$e});var Q$e,Z$e,J$e,loe,coe=I(()=>{"use strict";ooe();Q$e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Z$e=/\\(\\)?/g,J$e=soe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Q$e,function(r,n,i,a){e.push(i?a.replace(Z$e,"$1"):n||r)}),e}),loe=J$e});function eze(t){return t==null?"":Vse(t)}var fS,LM=I(()=>{"use strict";qse();o(eze,"toString");fS=eze});function tze(t,e){return zt(t)?t:p1(t,e)?[t]:loe(fS(t))}var Qf,ob=I(()=>{"use strict";ni();hS();coe();LM();o(tze,"castPath");Qf=tze});function nze(t){if(typeof t=="string"||Fo(t))return t;var e=t+"";return e=="0"&&1/t==-rze?"-0":e}var rze,uu,m1=I(()=>{"use strict";v0();rze=1/0;o(nze,"toKey");uu=nze});function ize(t,e){e=Qf(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";ob();m1();o(ize,"baseGet");Zf=ize});function aze(t,e,r){var n=t==null?void 0:Zf(t,e);return n===void 0?r:n}var uoe,hoe=I(()=>{"use strict";lb();o(aze,"get");uoe=aze});function sze(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";o(sze,"arrayPush");g1=sze});function oze(t){return zt(t)||oc(t)||!!(foe&&t&&t[foe])}var foe,doe,poe=I(()=>{"use strict";r0();Qg();ni();foe=da?da.isConcatSpreadable:void 0;o(oze,"isFlattenable");doe=oze});function moe(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=doe),i||(i=[]);++a0&&r(l)?e>1?moe(l,e-1,r,n,i):g1(i,l):n||(i[i.length]=l)}return i}var hu,y1=I(()=>{"use strict";dS();poe();o(moe,"baseFlatten");hu=moe});function lze(t){var e=t==null?0:t.length;return e?hu(t,1):[]}var ln,pS=I(()=>{"use strict";y1();o(lze,"flatten");ln=lze});function cze(t){return uk(ck(t,void 0,ln),t+"")}var goe,yoe=I(()=>{"use strict";pS();sN();lN();o(cze,"flatRest");goe=cze});function uze(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";o(uze,"baseSlice");mS=uze});function xze(t){return vze.test(t)}var hze,fze,dze,pze,mze,gze,yze,vze,voe,xoe=I(()=>{"use strict";hze="\\ud800-\\udfff",fze="\\u0300-\\u036f",dze="\\ufe20-\\ufe2f",pze="\\u20d0-\\u20ff",mze=fze+dze+pze,gze="\\ufe0e\\ufe0f",yze="\\u200d",vze=RegExp("["+yze+hze+mze+gze+"]");o(xze,"hasUnicode");voe=xze});function bze(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";o(bze,"arrayReduce");boe=bze});function Tze(t,e){return t&&gl(e,en(e),t)}var woe,koe=I(()=>{"use strict";o0();cu();o(Tze,"baseAssign");woe=Tze});function wze(t,e){return t&&gl(e,Js(e),t)}var Soe,Eoe=I(()=>{"use strict";o0();zf();o(wze,"baseAssignIn");Soe=wze});function kze(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";o(kze,"arrayFilter");v1=kze});function Sze(){return[]}var yS,MM=I(()=>{"use strict";o(Sze,"stubArray");yS=Sze});var Eze,Cze,Coe,Aze,x1,vS=I(()=>{"use strict";gS();MM();Eze=Object.prototype,Cze=Eze.propertyIsEnumerable,Coe=Object.getOwnPropertySymbols,Aze=Coe?function(t){return t==null?[]:(t=Object(t),v1(Coe(t),function(e){return Cze.call(t,e)}))}:yS,x1=Aze});function _ze(t,e){return gl(t,x1(t),e)}var Aoe,_oe=I(()=>{"use strict";o0();vS();o(_ze,"copySymbols");Aoe=_ze});var Dze,Rze,xS,IM=I(()=>{"use strict";dS();ik();vS();MM();Dze=Object.getOwnPropertySymbols,Rze=Dze?function(t){for(var e=[];t;)g1(e,x1(t)),t=Xg(t);return e}:yS,xS=Rze});function Lze(t,e){return gl(t,xS(t),e)}var Doe,Roe=I(()=>{"use strict";o0();IM();o(Lze,"copySymbolsIn");Doe=Lze});function Nze(t,e,r){var n=e(t);return zt(t)?n:g1(n,r(t))}var bS,OM=I(()=>{"use strict";dS();ni();o(Nze,"baseGetAllKeys");bS=Nze});function Mze(t){return bS(t,en,x1)}var cb,PM=I(()=>{"use strict";OM();vS();cu();o(Mze,"getAllKeys");cb=Mze});function Ize(t){return bS(t,Js,xS)}var TS,BM=I(()=>{"use strict";OM();IM();zf();o(Ize,"getAllKeysIn");TS=Ize});var Oze,wS,Loe=I(()=>{"use strict";Mf();ul();Oze=Zs(Ei,"DataView"),wS=Oze});var Pze,kS,Noe=I(()=>{"use strict";Mf();ul();Pze=Zs(Ei,"Promise"),kS=Pze});var Bze,Jf,FM=I(()=>{"use strict";Mf();ul();Bze=Zs(Ei,"Set"),Jf=Bze});var Moe,Fze,Ioe,Ooe,Poe,Boe,$ze,zze,Gze,Vze,qze,b0,$o,T0=I(()=>{"use strict";Loe();K5();Noe();FM();Zse();yh();U9();Moe="[object Map]",Fze="[object Object]",Ioe="[object Promise]",Ooe="[object Set]",Poe="[object WeakMap]",Boe="[object DataView]",$ze=vh(wS),zze=vh(Pf),Gze=vh(kS),Vze=vh(Jf),qze=vh(aS),b0=Ma;(wS&&b0(new wS(new ArrayBuffer(1)))!=Boe||Pf&&b0(new Pf)!=Moe||kS&&b0(kS.resolve())!=Ioe||Jf&&b0(new Jf)!=Ooe||aS&&b0(new aS)!=Poe)&&(b0=o(function(t){var e=Ma(t),r=e==Fze?t.constructor:void 0,n=r?vh(r):"";if(n)switch(n){case $ze:return Boe;case zze:return Moe;case Gze:return Ioe;case Vze:return Ooe;case qze:return Poe}return e},"getTag"));$o=b0});function Hze(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Wze.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Uze,Wze,Foe,$oe=I(()=>{"use strict";Uze=Object.prototype,Wze=Uze.hasOwnProperty;o(Hze,"initCloneArray");Foe=Hze});function Yze(t,e){var r=e?jg(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var zoe,Goe=I(()=>{"use strict";ek();o(Yze,"cloneDataView");zoe=Yze});function Xze(t){var e=new t.constructor(t.source,jze.exec(t));return e.lastIndex=t.lastIndex,e}var jze,Voe,qoe=I(()=>{"use strict";jze=/\w*$/;o(Xze,"cloneRegExp");Voe=Xze});function Kze(t){return Woe?Object(Woe.call(t)):{}}var Uoe,Woe,Hoe,Yoe=I(()=>{"use strict";r0();Uoe=da?da.prototype:void 0,Woe=Uoe?Uoe.valueOf:void 0;o(Kze,"cloneSymbol");Hoe=Kze});function gGe(t,e,r){var n=t.constructor;switch(e){case aGe:return jg(t);case Qze:case Zze:return new n(+t);case sGe:return zoe(t,r);case oGe:case lGe:case cGe:case uGe:case hGe:case fGe:case dGe:case pGe:case mGe:return tk(t,r);case Jze:return new n;case eGe:case nGe:return new n(t);case tGe:return Voe(t);case rGe:return new n;case iGe:return Hoe(t)}}var Qze,Zze,Jze,eGe,tGe,rGe,nGe,iGe,aGe,sGe,oGe,lGe,cGe,uGe,hGe,fGe,dGe,pGe,mGe,joe,Xoe=I(()=>{"use strict";ek();Goe();qoe();Yoe();Z9();Qze="[object Boolean]",Zze="[object Date]",Jze="[object Map]",eGe="[object Number]",tGe="[object RegExp]",rGe="[object Set]",nGe="[object String]",iGe="[object Symbol]",aGe="[object ArrayBuffer]",sGe="[object DataView]",oGe="[object Float32Array]",lGe="[object Float64Array]",cGe="[object Int8Array]",uGe="[object Int16Array]",hGe="[object Int32Array]",fGe="[object Uint8Array]",dGe="[object Uint8ClampedArray]",pGe="[object Uint16Array]",mGe="[object Uint32Array]";o(gGe,"initCloneByTag");joe=gGe});function vGe(t){return gi(t)&&$o(t)==yGe}var yGe,Koe,Qoe=I(()=>{"use strict";T0();fl();yGe="[object Map]";o(vGe,"baseIsMap");Koe=vGe});var Zoe,xGe,Joe,ele=I(()=>{"use strict";Qoe();s0();Px();Zoe=ml&&ml.isMap,xGe=Zoe?pl(Zoe):Koe,Joe=xGe});function TGe(t){return gi(t)&&$o(t)==bGe}var bGe,tle,rle=I(()=>{"use strict";T0();fl();bGe="[object Set]";o(TGe,"baseIsSet");tle=TGe});var nle,wGe,ile,ale=I(()=>{"use strict";rle();s0();Px();nle=ml&&ml.isSet,wGe=nle?pl(nle):tle,ile=wGe});function SS(t,e,r,n,i,a){var s,l=e&kGe,u=e&SGe,h=e&EGe;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!In(t))return t;var f=zt(t);if(f){if(s=Foe(t),!l)return rk(t,s)}else{var d=$o(t),p=d==ole||d==RGe;if(lc(t))return J5(t,l);if(d==lle||d==sle||p&&!i){if(s=u||p?{}:ak(t),!l)return u?Doe(t,Soe(s,t)):Aoe(t,woe(s,t))}else{if(!Gn[d])return i?t:{};s=joe(t,d,l)}}a||(a=new Qc);var m=a.get(t);if(m)return m;a.set(t,s),ile(t)?t.forEach(function(v){s.add(SS(v,e,r,v,t,a))}):Joe(t)&&t.forEach(function(v,x){s.set(x,SS(v,e,r,x,t,a))});var g=h?u?TS:cb:u?Js:en,y=f?void 0:g(t);return sS(y||t,function(v,x){y&&(x=v,v=t[x]),eu(s,x,SS(v,e,r,x,t,a))}),s}var kGe,SGe,EGe,sle,CGe,AGe,_Ge,DGe,ole,RGe,LGe,NGe,lle,MGe,IGe,OGe,PGe,BGe,FGe,$Ge,zGe,GGe,VGe,qGe,UGe,WGe,HGe,YGe,jGe,Gn,ES,$M=I(()=>{"use strict";Mx();_M();e1();koe();Eoe();K9();J9();_oe();Roe();PM();BM();T0();$oe();Xoe();tN();ni();Jg();ele();Oo();ale();cu();zf();kGe=1,SGe=2,EGe=4,sle="[object Arguments]",CGe="[object Array]",AGe="[object Boolean]",_Ge="[object Date]",DGe="[object Error]",ole="[object Function]",RGe="[object GeneratorFunction]",LGe="[object Map]",NGe="[object Number]",lle="[object Object]",MGe="[object RegExp]",IGe="[object Set]",OGe="[object String]",PGe="[object Symbol]",BGe="[object WeakMap]",FGe="[object ArrayBuffer]",$Ge="[object DataView]",zGe="[object Float32Array]",GGe="[object Float64Array]",VGe="[object Int8Array]",qGe="[object Int16Array]",UGe="[object Int32Array]",WGe="[object Uint8Array]",HGe="[object Uint8ClampedArray]",YGe="[object Uint16Array]",jGe="[object Uint32Array]",Gn={};Gn[sle]=Gn[CGe]=Gn[FGe]=Gn[$Ge]=Gn[AGe]=Gn[_Ge]=Gn[zGe]=Gn[GGe]=Gn[VGe]=Gn[qGe]=Gn[UGe]=Gn[LGe]=Gn[NGe]=Gn[lle]=Gn[MGe]=Gn[IGe]=Gn[OGe]=Gn[PGe]=Gn[WGe]=Gn[HGe]=Gn[YGe]=Gn[jGe]=!0;Gn[DGe]=Gn[ole]=Gn[BGe]=!1;o(SS,"baseClone");ES=SS});function KGe(t){return ES(t,XGe)}var XGe,yn,zM=I(()=>{"use strict";$M();XGe=4;o(KGe,"clone");yn=KGe});function JGe(t){return ES(t,QGe|ZGe)}var QGe,ZGe,GM,cle=I(()=>{"use strict";$M();QGe=1,ZGe=4;o(JGe,"cloneDeep");GM=JGe});function eVe(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";o(eVe,"compact");fu=eVe});function rVe(t){return this.__data__.set(t,tVe),this}var tVe,hle,fle=I(()=>{"use strict";tVe="__lodash_hash_undefined__";o(rVe,"setCacheAdd");hle=rVe});function nVe(t){return this.__data__.has(t)}var dle,ple=I(()=>{"use strict";o(nVe,"setCacheHas");dle=nVe});function CS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new i0;++e{"use strict";Q5();fle();ple();o(CS,"SetCache");CS.prototype.add=CS.prototype.push=hle;CS.prototype.has=dle;b1=CS});function iVe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(iVe,"arraySome");_S=iVe});function aVe(t,e){return t.has(e)}var T1,DS=I(()=>{"use strict";o(aVe,"cacheHas");T1=aVe});function lVe(t,e,r,n,i,a){var s=r&sVe,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&oVe?new b1:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";AS();VM();DS();sVe=1,oVe=2;o(lVe,"equalArrays");RS=lVe});function cVe(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var mle,gle=I(()=>{"use strict";o(cVe,"mapToArray");mle=cVe});function uVe(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var w1,LS=I(()=>{"use strict";o(uVe,"setToArray");w1=uVe});function SVe(t,e,r,n,i,a,s){switch(r){case kVe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case wVe:return!(t.byteLength!=e.byteLength||!a(new Yg(t),new Yg(e)));case dVe:case pVe:case yVe:return hl(+t,+e);case mVe:return t.name==e.name&&t.message==e.message;case vVe:case bVe:return t==e+"";case gVe:var l=mle;case xVe:var u=n&hVe;if(l||(l=w1),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;n|=fVe,s.set(t,e);var f=RS(l(t),l(e),n,i,a,s);return s.delete(t),f;case TVe:if(UM)return UM.call(t)==UM.call(e)}return!1}var hVe,fVe,dVe,pVe,mVe,gVe,yVe,vVe,xVe,bVe,TVe,wVe,kVe,yle,UM,vle,xle=I(()=>{"use strict";r0();Q9();n0();qM();gle();LS();hVe=1,fVe=2,dVe="[object Boolean]",pVe="[object Date]",mVe="[object Error]",gVe="[object Map]",yVe="[object Number]",vVe="[object RegExp]",xVe="[object Set]",bVe="[object String]",TVe="[object Symbol]",wVe="[object ArrayBuffer]",kVe="[object DataView]",yle=da?da.prototype:void 0,UM=yle?yle.valueOf:void 0;o(SVe,"equalByTag");vle=SVe});function _Ve(t,e,r,n,i,a){var s=r&EVe,l=cb(t),u=l.length,h=cb(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:AVe.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";PM();EVe=1,CVe=Object.prototype,AVe=CVe.hasOwnProperty;o(_Ve,"equalObjects");ble=_Ve});function LVe(t,e,r,n,i,a){var s=zt(t),l=zt(e),u=s?kle:$o(t),h=l?kle:$o(e);u=u==wle?NS:u,h=h==wle?NS:h;var f=u==NS,d=h==NS,p=u==h;if(p&&lc(t)){if(!lc(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new Qc),s||Ff(t)?RS(t,e,r,n,i,a):vle(t,e,u,r,n,i,a);if(!(r&DVe)){var m=f&&Sle.call(t,"__wrapped__"),g=d&&Sle.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new Qc),i(y,v,r,n,a)}}return p?(a||(a=new Qc),ble(t,e,r,n,i,a)):!1}var DVe,wle,kle,NS,RVe,Sle,Ele,Cle=I(()=>{"use strict";Mx();qM();xle();Tle();T0();ni();Jg();Bx();DVe=1,wle="[object Arguments]",kle="[object Array]",NS="[object Object]",RVe=Object.prototype,Sle=RVe.hasOwnProperty;o(LVe,"baseIsEqualDeep");Ele=LVe});function Ale(t,e,r,n,i){return t===e?!0:t==null||e==null||!gi(t)&&!gi(e)?t!==t&&e!==e:Ele(t,e,r,n,Ale,i)}var MS,WM=I(()=>{"use strict";Cle();fl();o(Ale,"baseIsEqual");MS=Ale});function IVe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";Mx();WM();NVe=1,MVe=2;o(IVe,"baseIsMatch");_le=IVe});function OVe(t){return t===t&&!In(t)}var IS,HM=I(()=>{"use strict";Oo();o(OVe,"isStrictComparable");IS=OVe});function PVe(t){for(var e=en(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,IS(i)]}return e}var Rle,Lle=I(()=>{"use strict";HM();cu();o(PVe,"getMatchData");Rle=PVe});function BVe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var OS,YM=I(()=>{"use strict";o(BVe,"matchesStrictComparable");OS=BVe});function FVe(t){var e=Rle(t);return e.length==1&&e[0][2]?OS(e[0][0],e[0][1]):function(r){return r===t||_le(r,t,e)}}var Nle,Mle=I(()=>{"use strict";Dle();Lle();YM();o(FVe,"baseMatches");Nle=FVe});function $Ve(t,e){return t!=null&&e in Object(t)}var Ile,Ole=I(()=>{"use strict";o($Ve,"baseHasIn");Ile=$Ve});function zVe(t,e,r){e=Qf(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";ob();Qg();ni();$x();sk();m1();o(zVe,"hasPath");PS=zVe});function GVe(t,e){return t!=null&&PS(t,e,Ile)}var BS,XM=I(()=>{"use strict";Ole();jM();o(GVe,"hasIn");BS=GVe});function UVe(t,e){return p1(t)&&IS(e)?OS(uu(t),e):function(r){var n=uoe(r,t);return n===void 0&&n===e?BS(r,t):MS(e,n,VVe|qVe)}}var VVe,qVe,Ple,Ble=I(()=>{"use strict";WM();hoe();XM();hS();HM();YM();m1();VVe=1,qVe=2;o(UVe,"baseMatchesProperty");Ple=UVe});function WVe(t){return function(e){return e?.[t]}}var FS,KM=I(()=>{"use strict";o(WVe,"baseProperty");FS=WVe});function HVe(t){return function(e){return Zf(e,t)}}var Fle,$le=I(()=>{"use strict";lb();o(HVe,"basePropertyDeep");Fle=HVe});function YVe(t){return p1(t)?FS(uu(t)):Fle(t)}var zle,Gle=I(()=>{"use strict";KM();$le();hS();m1();o(YVe,"property");zle=YVe});function jVe(t){return typeof t=="function"?t:t==null?pa:typeof t=="object"?zt(t)?Ple(t[0],t[1]):Nle(t):zle(t)}var An,_s=I(()=>{"use strict";Mle();Ble();bh();ni();Gle();o(jVe,"baseIteratee");An=jVe});function XVe(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";o(XVe,"arrayAggregator");Vle=XVe});function KVe(t,e){return t&&Hg(t,e,en)}var k1,$S=I(()=>{"use strict";Z5();cu();o(KVe,"baseForOwn");k1=KVe});function QVe(t,e){return function(r,n){if(r==null)return r;if(!Ci(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a{"use strict";dl();o(QVe,"createBaseEach");Ule=QVe});var ZVe,lo,ed=I(()=>{"use strict";$S();Wle();ZVe=Ule(k1),lo=ZVe});function JVe(t,e,r,n){return lo(t,function(i,a,s){e(n,i,r(i),s)}),n}var Hle,Yle=I(()=>{"use strict";ed();o(JVe,"baseAggregator");Hle=JVe});function eqe(t,e){return function(r,n){var i=zt(r)?Vle:Hle,a=e?e():{};return i(r,t,An(n,2),a)}}var jle,Xle=I(()=>{"use strict";qle();Yle();_s();ni();o(eqe,"createAggregator");jle=eqe});var tqe,zS,Kle=I(()=>{"use strict";ul();tqe=o(function(){return Ei.Date.now()},"now"),zS=tqe});var Qle,rqe,nqe,td,Zle=I(()=>{"use strict";t1();n0();l0();zf();Qle=Object.prototype,rqe=Qle.hasOwnProperty,nqe=tu(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Po(e[0],e[1],i)&&(n=1);++r{"use strict";o(iqe,"arrayIncludesWith");GS=iqe});function sqe(t,e,r,n){var i=-1,a=cS,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=oo(e,pl(r))),n?(a=GS,s=!1):e.length>=aqe&&(a=T1,s=!1,e=new b1(e));e:for(;++i{"use strict";AS();RM();QM();x0();s0();DS();aqe=200;o(sqe,"baseDifference");Jle=sqe});var oqe,rd,tce=I(()=>{"use strict";ece();y1();t1();ok();oqe=tu(function(t,e){return a0(t)?Jle(t,hu(e,1,a0,!0)):[]}),rd=oqe});function lqe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ya,rce=I(()=>{"use strict";o(lqe,"last");ya=lqe});function cqe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:lu(e),mS(t,e<0?0:e,n)):[]}var Ni,nce=I(()=>{"use strict";NM();h1();o(cqe,"drop");Ni=cqe});function uqe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:lu(e),e=n-e,mS(t,0,e<0?0:e)):[]}var Ch,ice=I(()=>{"use strict";NM();h1();o(uqe,"dropRight");Ch=uqe});function hqe(t){return typeof t=="function"?t:pa}var S1,VS=I(()=>{"use strict";bh();o(hqe,"castFunction");S1=hqe});function fqe(t,e){var r=zt(t)?sS:lo;return r(t,S1(e))}var Re,qS=I(()=>{"use strict";_M();ed();VS();ni();o(fqe,"forEach");Re=fqe});var ace=I(()=>{"use strict";qS()});function dqe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(dqe,"arrayEvery");sce=dqe});function pqe(t,e){var r=!0;return lo(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var lce,cce=I(()=>{"use strict";ed();o(pqe,"baseEvery");lce=pqe});function mqe(t,e,r){var n=zt(t)?sce:lce;return r&&Po(t,e,r)&&(e=void 0),n(t,An(e,3))}var rs,uce=I(()=>{"use strict";oce();cce();_s();ni();l0();o(mqe,"every");rs=mqe});function gqe(t,e){var r=[];return lo(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var US,ZM=I(()=>{"use strict";ed();o(gqe,"baseFilter");US=gqe});function yqe(t,e){var r=zt(t)?v1:US;return r(t,An(e,3))}var cn,JM=I(()=>{"use strict";gS();ZM();_s();ni();o(yqe,"filter");cn=yqe});function vqe(t){return function(e,r,n){var i=Object(e);if(!Ci(e)){var a=An(r,3);e=en(e),r=o(function(l){return a(i[l],l,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var hce,fce=I(()=>{"use strict";_s();dl();cu();o(vqe,"createFind");hce=vqe});function bqe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:lu(r);return i<0&&(i=xqe(n+i,0)),oS(t,An(e,3),i)}var xqe,dce,pce=I(()=>{"use strict";DM();_s();h1();xqe=Math.max;o(bqe,"findIndex");dce=bqe});var Tqe,Ds,mce=I(()=>{"use strict";fce();pce();Tqe=hce(dce),Ds=Tqe});function wqe(t){return t&&t.length?t[0]:void 0}var va,gce=I(()=>{"use strict";o(wqe,"head");va=wqe});var yce=I(()=>{"use strict";gce()});function kqe(t,e){var r=-1,n=Ci(t)?Array(t.length):[];return lo(t,function(i,a,s){n[++r]=e(i,a,s)}),n}var WS,eI=I(()=>{"use strict";ed();dl();o(kqe,"baseMap");WS=kqe});function Sqe(t,e){var r=zt(t)?oo:WS;return r(t,An(e,3))}var it,E1=I(()=>{"use strict";x0();_s();eI();ni();o(Sqe,"map");it=Sqe});function Eqe(t,e){return hu(it(t,e),1)}var Ba,tI=I(()=>{"use strict";y1();E1();o(Eqe,"flatMap");Ba=Eqe});function Cqe(t,e){return t==null?t:Hg(t,S1(e),Js)}var rI,vce=I(()=>{"use strict";Z5();VS();zf();o(Cqe,"forIn");rI=Cqe});function Aqe(t,e){return t&&k1(t,S1(e))}var nI,xce=I(()=>{"use strict";$S();VS();o(Aqe,"forOwn");nI=Aqe});var _qe,Dqe,Rqe,iI,bce=I(()=>{"use strict";Wg();Xle();_qe=Object.prototype,Dqe=_qe.hasOwnProperty,Rqe=jle(function(t,e,r){Dqe.call(t,r)?t[r].push(e):Zc(t,r,[e])}),iI=Rqe});function Lqe(t,e){return t>e}var Tce,wce=I(()=>{"use strict";o(Lqe,"baseGt");Tce=Lqe});function Iqe(t,e){return t!=null&&Mqe.call(t,e)}var Nqe,Mqe,kce,Sce=I(()=>{"use strict";Nqe=Object.prototype,Mqe=Nqe.hasOwnProperty;o(Iqe,"baseHas");kce=Iqe});function Oqe(t,e){return t!=null&&PS(t,e,kce)}var Gt,Ece=I(()=>{"use strict";Sce();jM();o(Oqe,"has");Gt=Oqe});function Bqe(t){return typeof t=="string"||!zt(t)&&gi(t)&&Ma(t)==Pqe}var Pqe,Mi,HS=I(()=>{"use strict";yh();ni();fl();Pqe="[object String]";o(Bqe,"isString");Mi=Bqe});function Fqe(t,e){return oo(e,function(r){return t[r]})}var Cce,Ace=I(()=>{"use strict";x0();o(Fqe,"baseValues");Cce=Fqe});function $qe(t){return t==null?[]:Cce(t,en(t))}var Rr,aI=I(()=>{"use strict";Ace();cu();o($qe,"values");Rr=$qe});function Gqe(t,e,r,n){t=Ci(t)?t:Rr(t),r=r&&!n?lu(r):0;var i=t.length;return r<0&&(r=zqe(i+r,0)),Mi(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&f1(t,e,r)>-1}var zqe,ai,_ce=I(()=>{"use strict";lS();dl();HS();h1();aI();zqe=Math.max;o(Gqe,"includes");ai=Gqe});function qqe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:lu(r);return i<0&&(i=Vqe(n+i,0)),f1(t,e,i)}var Vqe,YS,Dce=I(()=>{"use strict";lS();h1();Vqe=Math.max;o(qqe,"indexOf");YS=qqe});function jqe(t){if(t==null)return!0;if(Ci(t)&&(zt(t)||typeof t=="string"||typeof t.splice=="function"||lc(t)||Ff(t)||oc(t)))return!t.length;var e=$o(t);if(e==Uqe||e==Wqe)return!t.size;if(Jc(t))return!d1(t).length;for(var r in t)if(Yqe.call(t,r))return!1;return!0}var Uqe,Wqe,Hqe,Yqe,Tr,jS=I(()=>{"use strict";uS();T0();Qg();ni();dl();Jg();Kg();Bx();Uqe="[object Map]",Wqe="[object Set]",Hqe=Object.prototype,Yqe=Hqe.hasOwnProperty;o(jqe,"isEmpty");Tr=jqe});function Kqe(t){return gi(t)&&Ma(t)==Xqe}var Xqe,Rce,Lce=I(()=>{"use strict";yh();fl();Xqe="[object RegExp]";o(Kqe,"baseIsRegExp");Rce=Kqe});var Nce,Qqe,bl,Mce=I(()=>{"use strict";Lce();s0();Px();Nce=ml&&ml.isRegExp,Qqe=Nce?pl(Nce):Rce,bl=Qqe});function Zqe(t){return t===void 0}var Er,Ice=I(()=>{"use strict";o(Zqe,"isUndefined");Er=Zqe});function Jqe(t,e){return t{"use strict";o(Jqe,"baseLt");XS=Jqe});function eUe(t,e){var r={};return e=An(e,3),k1(t,function(n,i,a){Zc(r,i,e(n,i,a))}),r}var w0,Oce=I(()=>{"use strict";Wg();$S();_s();o(eUe,"mapValues");w0=eUe});function tUe(t,e,r){for(var n=-1,i=t.length;++n{"use strict";v0();o(tUe,"baseExtremum");C1=tUe});function rUe(t){return t&&t.length?C1(t,pa,Tce):void 0}var co,Pce=I(()=>{"use strict";KS();wce();bh();o(rUe,"max");co=rUe});function nUe(t){return t&&t.length?C1(t,pa,XS):void 0}var uc,oI=I(()=>{"use strict";KS();sI();bh();o(nUe,"min");uc=nUe});function iUe(t,e){return t&&t.length?C1(t,An(e,2),XS):void 0}var k0,Bce=I(()=>{"use strict";KS();_s();sI();o(iUe,"minBy");k0=iUe});function sUe(t){if(typeof t!="function")throw new TypeError(aUe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var aUe,Fce,$ce=I(()=>{"use strict";aUe="Expected a function";o(sUe,"negate");Fce=sUe});function oUe(t,e,r,n){if(!In(t))return t;e=Qf(e,t);for(var i=-1,a=e.length,s=a-1,l=t;l!=null&&++i{"use strict";e1();ob();$x();Oo();m1();o(oUe,"baseSet");zce=oUe});function lUe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";lb();Gce();ob();o(lUe,"basePickBy");QS=lUe});function cUe(t,e){if(t==null)return{};var r=oo(TS(t),function(n){return[n]});return e=An(e),QS(t,r,function(n,i){return e(n,i[0])})}var uo,Vce=I(()=>{"use strict";x0();_s();lI();BM();o(cUe,"pickBy");uo=cUe});function uUe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var qce,Uce=I(()=>{"use strict";o(uUe,"baseSortBy");qce=uUe});function hUe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=Fo(t),s=e!==void 0,l=e===null,u=e===e,h=Fo(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||n&&s&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";v0();o(hUe,"compareAscending");Wce=hUe});function fUe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var Yce,jce=I(()=>{"use strict";Hce();o(fUe,"compareMultiple");Yce=fUe});function dUe(t,e,r){e.length?e=oo(e,function(a){return zt(a)?function(s){return Zf(s,a.length===1?a[0]:a)}:a}):e=[pa];var n=-1;e=oo(e,pl(An));var i=WS(t,function(a,s,l){var u=oo(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return qce(i,function(a,s){return Yce(a,s,r)})}var Xce,Kce=I(()=>{"use strict";x0();lb();_s();eI();Uce();s0();jce();bh();ni();o(dUe,"baseOrderBy");Xce=dUe});var pUe,Qce,Zce=I(()=>{"use strict";KM();pUe=FS("length"),Qce=pUe});function CUe(t){for(var e=Jce.lastIndex=0;Jce.test(t);)++e;return e}var eue,mUe,gUe,yUe,vUe,xUe,bUe,cI,uI,TUe,tue,rue,nue,wUe,iue,aue,kUe,SUe,EUe,Jce,sue,oue=I(()=>{"use strict";eue="\\ud800-\\udfff",mUe="\\u0300-\\u036f",gUe="\\ufe20-\\ufe2f",yUe="\\u20d0-\\u20ff",vUe=mUe+gUe+yUe,xUe="\\ufe0e\\ufe0f",bUe="["+eue+"]",cI="["+vUe+"]",uI="\\ud83c[\\udffb-\\udfff]",TUe="(?:"+cI+"|"+uI+")",tue="[^"+eue+"]",rue="(?:\\ud83c[\\udde6-\\uddff]){2}",nue="[\\ud800-\\udbff][\\udc00-\\udfff]",wUe="\\u200d",iue=TUe+"?",aue="["+xUe+"]?",kUe="(?:"+wUe+"(?:"+[tue,rue,nue].join("|")+")"+aue+iue+")*",SUe=aue+iue+kUe,EUe="(?:"+[tue+cI+"?",cI,rue,nue,bUe].join("|")+")",Jce=RegExp(uI+"(?="+uI+")|"+EUe+SUe,"g");o(CUe,"unicodeSize");sue=CUe});function AUe(t){return voe(t)?sue(t):Qce(t)}var lue,cue=I(()=>{"use strict";Zce();xoe();oue();o(AUe,"stringSize");lue=AUe});function _Ue(t,e){return QS(t,e,function(r,n){return BS(t,n)})}var uue,hue=I(()=>{"use strict";lI();XM();o(_Ue,"basePick");uue=_Ue});var DUe,S0,fue=I(()=>{"use strict";hue();yoe();DUe=goe(function(t,e){return t==null?{}:uue(t,e)}),S0=DUe});function NUe(t,e,r,n){for(var i=-1,a=LUe(RUe((e-t)/(r||1)),0),s=Array(a);a--;)s[n?a:++i]=t,t+=r;return s}var RUe,LUe,due,pue=I(()=>{"use strict";RUe=Math.ceil,LUe=Math.max;o(NUe,"baseRange");due=NUe});function MUe(t){return function(e,r,n){return n&&typeof n!="number"&&Po(e,r,n)&&(r=n=void 0),e=u1(e),r===void 0?(r=e,e=0):r=u1(r),n=n===void 0?e{"use strict";pue();l0();CM();o(MUe,"createRange");mue=MUe});var IUe,Tl,yue=I(()=>{"use strict";gue();IUe=mue(),Tl=IUe});function OUe(t,e,r,n,i){return i(t,function(a,s,l){r=n?(n=!1,a):e(r,a,s,l)}),r}var vue,xue=I(()=>{"use strict";o(OUe,"baseReduce");vue=OUe});function PUe(t,e,r){var n=zt(t)?boe:vue,i=arguments.length<3;return n(t,An(e,4),r,i,lo)}var un,hI=I(()=>{"use strict";Toe();ed();_s();xue();ni();o(PUe,"reduce");un=PUe});function BUe(t,e){var r=zt(t)?v1:US;return r(t,Fce(An(e,3)))}var nd,bue=I(()=>{"use strict";gS();ZM();_s();ni();$ce();o(BUe,"reject");nd=BUe});function zUe(t){if(t==null)return 0;if(Ci(t))return Mi(t)?lue(t):t.length;var e=$o(t);return e==FUe||e==$Ue?t.size:d1(t).length}var FUe,$Ue,fI,Tue=I(()=>{"use strict";uS();T0();dl();HS();cue();FUe="[object Map]",$Ue="[object Set]";o(zUe,"size");fI=zUe});function GUe(t,e){var r;return lo(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var wue,kue=I(()=>{"use strict";ed();o(GUe,"baseSome");wue=GUe});function VUe(t,e,r){var n=zt(t)?_S:wue;return r&&Po(t,e,r)&&(e=void 0),n(t,An(e,3))}var ub,Sue=I(()=>{"use strict";VM();_s();kue();ni();l0();o(VUe,"some");ub=VUe});var qUe,du,Eue=I(()=>{"use strict";y1();Kce();t1();l0();qUe=tu(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Po(t,e[0],e[1])?e=[]:r>2&&Po(e[0],e[1],e[2])&&(e=[e[0]]),Xce(t,hu(e,1),[])}),du=qUe});var UUe,WUe,Cue,Aue=I(()=>{"use strict";FM();AM();LS();UUe=1/0,WUe=Jf&&1/w1(new Jf([,-0]))[1]==UUe?function(t){return new Jf(t)}:yi,Cue=WUe});function YUe(t,e,r){var n=-1,i=cS,a=t.length,s=!0,l=[],u=l;if(r)s=!1,i=GS;else if(a>=HUe){var h=e?null:Cue(t);if(h)return w1(h);s=!1,i=T1,u=new b1}else u=e?[]:l;e:for(;++n{"use strict";AS();RM();QM();DS();Aue();LS();HUe=200;o(YUe,"baseUniq");A1=YUe});var jUe,dI,_ue=I(()=>{"use strict";y1();t1();ZS();ok();jUe=tu(function(t){return A1(hu(t,1,a0,!0))}),dI=jUe});function XUe(t){return t&&t.length?A1(t):[]}var _1,Due=I(()=>{"use strict";ZS();o(XUe,"uniq");_1=XUe});function KUe(t,e){return t&&t.length?A1(t,An(e,2)):[]}var Rue,Lue=I(()=>{"use strict";_s();ZS();o(KUe,"uniqBy");Rue=KUe});function ZUe(t){var e=++QUe;return fS(t)+e}var QUe,E0,Nue=I(()=>{"use strict";LM();QUe=0;o(ZUe,"uniqueId");E0=ZUe});function JUe(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n{"use strict";o(JUe,"baseZipObject");Mue=JUe});function eWe(t,e){return Mue(t||[],e||[],eu)}var JS,Oue=I(()=>{"use strict";e1();Iue();o(eWe,"zipObject");JS=eWe});var Kt=I(()=>{"use strict";aoe();zM();cle();ule();oN();Zle();tce();nce();ice();ace();uce();JM();mce();yce();tI();pS();qS();vce();xce();bce();Ece();bh();_ce();Dce();ni();jS();_x();Oo();Mce();HS();Ice();cu();rce();E1();Oce();Pce();uN();oI();Bce();AM();Kle();fue();Vce();yue();hI();bue();Tue();Sue();Eue();_ue();Due();Nue();aI();Oue();});function Bue(t,e){t[e]?t[e]++:t[e]=1}function Fue(t,e){--t[e]||delete t[e]}function hb(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+Pue+a+Pue+(Er(n)?tWe:n)}function rWe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function pI(t,e){return hb(t,e.v,e.w,e.name)}var tWe,C0,Pue,vn,eE=I(()=>{"use strict";Kt();tWe="\0",C0="\0",Pue="",vn=class{static{o(this,"Graph")}constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=eo(void 0),this._defaultEdgeLabelFn=eo(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[C0]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return $i(e)||(e=eo(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return en(this._nodes)}sources(){var e=this;return cn(this.nodes(),function(r){return Tr(e._in[r])})}sinks(){var e=this;return cn(this.nodes(),function(r){return Tr(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return Re(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=C0,this._children[e]={},this._children[C0][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=o(n=>this.removeEdge(this._edgeObjs[n]),"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Re(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),Re(en(this._in[e]),r),delete this._in[e],delete this._preds[e],Re(en(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Er(r))r=C0;else{r+="";for(var n=r;!Er(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==C0)return r}}children(e){if(Er(e)&&(e=C0),this._isCompound){var r=this._children[e];if(r)return en(r)}else{if(e===C0)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return en(r)}successors(e){var r=this._sucs[e];if(r)return en(r)}neighbors(e){var r=this.predecessors(e);if(r)return dI(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;Re(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Re(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return o(a,"findParent"),this._isCompound&&Re(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return $i(e)||(e=eo(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Rr(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return un(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Er(n)||(n=""+n);var l=hb(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!Er(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=rWe(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,Bue(this._preds[r],e),Bue(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?pI(this._isDirected,arguments[0]):hb(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?pI(this._isDirected,arguments[0]):hb(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?pI(this._isDirected,arguments[0]):hb(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Fue(this._preds[r],e),Fue(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Rr(n);return r?cn(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Rr(n);return r?cn(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};vn.prototype._nodeCount=0;vn.prototype._edgeCount=0;o(Bue,"incrementOrInitEntry");o(Fue,"decrementOrRemoveEntry");o(hb,"edgeArgsToId");o(rWe,"edgeArgsToObj");o(pI,"edgeObjToId")});var wl=I(()=>{"use strict";eE()});function $ue(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function nWe(t,e){if(t!=="_next"&&t!=="_prev")return e}var rE,zue=I(()=>{"use strict";rE=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return $ue(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&$ue(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,nWe)),n=n._prev;return"["+e.join(", ")+"]"}};o($ue,"unlink");o(nWe,"filterOutLinks")});function Gue(t,e){if(t.nodeCount()<=1)return[];var r=sWe(t,e||iWe),n=aWe(r.graph,r.buckets,r.zeroIdx);return ln(it(n,function(i){return t.outEdges(i.v,i.w)}))}function aWe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)mI(t,e,r,s);for(;s=i.dequeue();)mI(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){n=n.concat(mI(t,e,r,s,!0));break}}}return n}function mI(t,e,r,n,i){var a=i?[]:void 0;return Re(t.inEdges(n.v),function(s){var l=t.edge(s),u=t.node(s.v);i&&a.push({v:s.v,w:s.w}),u.out-=l,gI(e,r,u)}),Re(t.outEdges(n.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,gI(e,r,h)}),t.removeNode(n.v),a}function sWe(t,e){var r=new vn,n=0,i=0;Re(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Re(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=Tl(i+n+3).map(function(){return new rE}),s=n+1;return Re(r.nodes(),function(l){gI(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function gI(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var iWe,Vue=I(()=>{"use strict";Kt();wl();zue();iWe=eo(1);o(Gue,"greedyFAS");o(aWe,"doGreedyFAS");o(mI,"removeNode");o(sWe,"buildState");o(gI,"assignBucket")});function que(t){var e=t.graph().acyclicer==="greedy"?Gue(t,r(t)):oWe(t);Re(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,E0("rev"))});function r(n){return function(i){return n.edge(i).weight}}o(r,"weightFn")}function oWe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,Re(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return o(i,"dfs"),Re(t.nodes(),i),e}function Uue(t){Re(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}var yI=I(()=>{"use strict";Kt();Vue();o(que,"run");o(oWe,"dfsFAS");o(Uue,"undo")});function pu(t,e,r,n){var i;do i=E0(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function Hue(t){var e=new vn().setGraph(t.graph());return Re(t.nodes(),function(r){e.setNode(r,t.node(r))}),Re(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function nE(t){var e=new vn({multigraph:t.isMultigraph()}).setGraph(t.graph());return Re(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Re(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function vI(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(s=-s),u=s,h=s*a/i),{x:r+u,y:n+h}}function id(t){var e=it(Tl(bI(t)+1),function(){return[]});return Re(t.nodes(),function(r){var n=t.node(r),i=n.rank;Er(i)||(e[i][n.order]=r)}),e}function Yue(t){var e=uc(it(t.nodes(),function(r){return t.node(r).rank}));Re(t.nodes(),function(r){var n=t.node(r);Gt(n,"rank")&&(n.rank-=e)})}function jue(t){var e=uc(it(t.nodes(),function(a){return t.node(a).rank})),r=[];Re(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;Re(r,function(a,s){Er(a)&&s%i!==0?--n:n&&Re(a,function(l){t.node(l).rank+=n})})}function xI(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),pu(t,"border",i,e)}function bI(t){return co(it(t.nodes(),function(e){var r=t.node(e).rank;if(!Er(r))return r}))}function Xue(t,e){var r={lhs:[],rhs:[]};return Re(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function Kue(t,e){var r=zS();try{return e()}finally{console.log(t+" time: "+(zS()-r)+"ms")}}function Que(t,e){return e()}var mu=I(()=>{"use strict";Kt();wl();o(pu,"addDummyNode");o(Hue,"simplify");o(nE,"asNonCompoundGraph");o(vI,"intersectRect");o(id,"buildLayerMatrix");o(Yue,"normalizeRanks");o(jue,"removeEmptyRanks");o(xI,"addBorderNode");o(bI,"maxRank");o(Xue,"partition");o(Kue,"time");o(Que,"notime")});function Jue(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&Re(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a{"use strict";Kt();mu();o(Jue,"addBorderSegments");o(Zue,"addBorderNode")});function rhe(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&ihe(t)}function nhe(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&lWe(t),(e==="lr"||e==="rl")&&(cWe(t),ihe(t))}function ihe(t){Re(t.nodes(),function(e){the(t.node(e))}),Re(t.edges(),function(e){the(t.edge(e))})}function the(t){var e=t.width;t.width=t.height,t.height=e}function lWe(t){Re(t.nodes(),function(e){TI(t.node(e))}),Re(t.edges(),function(e){var r=t.edge(e);Re(r.points,TI),Object.prototype.hasOwnProperty.call(r,"y")&&TI(r)})}function TI(t){t.y=-t.y}function cWe(t){Re(t.nodes(),function(e){wI(t.node(e))}),Re(t.edges(),function(e){var r=t.edge(e);Re(r.points,wI),Object.prototype.hasOwnProperty.call(r,"x")&&wI(r)})}function wI(t){var e=t.x;t.x=t.y,t.y=e}var ahe=I(()=>{"use strict";Kt();o(rhe,"adjust");o(nhe,"undo");o(ihe,"swapWidthHeight");o(the,"swapWidthHeightOne");o(lWe,"reverseY");o(TI,"reverseYOne");o(cWe,"swapXY");o(wI,"swapXYOne")});function she(t){t.graph().dummyChains=[],Re(t.edges(),function(e){hWe(t,e)})}function hWe(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h=void 0,f,d;for(d=0,++n;n{"use strict";Kt();mu();o(she,"run");o(hWe,"normalizeEdge");o(ohe,"undo")});function fb(t){var e={};function r(n){var i=t.node(n);if(Object.prototype.hasOwnProperty.call(e,n))return i.rank;e[n]=!0;var a=uc(it(t.outEdges(n),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}o(r,"dfs"),Re(t.sources(),r)}function A0(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var iE=I(()=>{"use strict";Kt();o(fb,"longestPath");o(A0,"slack")});function aE(t){var e=new vn({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;fWe(e,t){"use strict";Kt();wl();iE();o(aE,"feasibleTree");o(fWe,"tightTree");o(dWe,"findMinSlackEdge");o(pWe,"shiftRanks")});var che=I(()=>{"use strict"});var EI=I(()=>{"use strict"});var fnr,CI=I(()=>{"use strict";Kt();EI();fnr=eo(1)});var uhe=I(()=>{"use strict";CI()});var AI=I(()=>{"use strict"});var hhe=I(()=>{"use strict";AI()});var knr,fhe=I(()=>{"use strict";Kt();knr=eo(1)});function _I(t){var e={},r={},n=[];function i(a){if(Object.prototype.hasOwnProperty.call(r,a))throw new db;Object.prototype.hasOwnProperty.call(e,a)||(r[a]=!0,e[a]=!0,Re(t.predecessors(a),i),delete r[a],n.push(a))}if(o(i,"visit"),Re(t.sinks(),i),fI(e)!==t.nodeCount())throw new db;return n}function db(){}var DI=I(()=>{"use strict";Kt();_I.CycleException=db;o(_I,"topsort");o(db,"CycleException");db.prototype=new Error});var dhe=I(()=>{"use strict";DI()});function sE(t,e,r){zt(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return Re(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);phe(t,s,r==="post",a,n,i)}),i}function phe(t,e,r,n,i,a){Object.prototype.hasOwnProperty.call(n,e)||(n[e]=!0,r||a.push(e),Re(i(e),function(s){phe(t,s,r,n,i,a)}),r&&a.push(e))}var RI=I(()=>{"use strict";Kt();o(sE,"dfs");o(phe,"doDfs")});function LI(t,e){return sE(t,e,"post")}var mhe=I(()=>{"use strict";RI();o(LI,"postorder")});function NI(t,e){return sE(t,e,"pre")}var ghe=I(()=>{"use strict";RI();o(NI,"preorder")});var yhe=I(()=>{"use strict";EI();eE()});var vhe=I(()=>{"use strict";che();CI();uhe();hhe();fhe();dhe();mhe();ghe();yhe();AI();DI()});function sd(t){t=Hue(t),fb(t);var e=aE(t);II(e),MI(e,t);for(var r,n;r=whe(e);)n=khe(e,t,r),She(e,t,r,n)}function MI(t,e){var r=LI(t,t.nodes());r=r.slice(0,r.length-1),Re(r,function(n){xWe(t,e,n)})}function xWe(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=bhe(t,e,r)}function bhe(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),l=0;return s||(a=!1,s=e.edge(i,r)),l=s.weight,Re(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,TWe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function II(t,e){arguments.length<2&&(e=t.nodes()[0]),The(t,{},1,e)}function The(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,Re(t.neighbors(n),function(l){Object.prototype.hasOwnProperty.call(e,l)||(r=The(t,e,r,l,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function whe(t){return Ds(t.edges(),function(e){return t.edge(e).cutvalue<0})}function khe(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),s=t.node(i),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=cn(e.edges(),function(f){return u===xhe(t,t.node(f.v),l)&&u!==xhe(t,t.node(f.w),l)});return k0(h,function(f){return A0(e,f)})}function She(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),II(t),MI(t,e),bWe(t,e)}function bWe(t,e){var r=Ds(t.nodes(),function(i){return!e.node(i).parent}),n=NI(t,r);n=n.slice(1),Re(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),l=!1;s||(s=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function TWe(t,e,r){return t.hasEdge(e,r)}function xhe(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var Ehe=I(()=>{"use strict";Kt();vhe();mu();SI();iE();sd.initLowLimValues=II;sd.initCutValues=MI;sd.calcCutValue=bhe;sd.leaveEdge=whe;sd.enterEdge=khe;sd.exchangeEdges=She;o(sd,"networkSimplex");o(MI,"initCutValues");o(xWe,"assignCutValue");o(bhe,"calcCutValue");o(II,"initLowLimValues");o(The,"dfsAssignLowLim");o(whe,"leaveEdge");o(khe,"enterEdge");o(She,"exchangeEdges");o(bWe,"updateRanks");o(TWe,"isTreeEdge");o(xhe,"isDescendant")});function OI(t){switch(t.graph().ranker){case"network-simplex":Che(t);break;case"tight-tree":kWe(t);break;case"longest-path":wWe(t);break;default:Che(t)}}function kWe(t){fb(t),aE(t)}function Che(t){sd(t)}var wWe,PI=I(()=>{"use strict";SI();Ehe();iE();o(OI,"rank");wWe=fb;o(kWe,"tightTreeRanker");o(Che,"networkSimplexRanker")});function Ahe(t){var e=pu(t,"root",{},"_root"),r=SWe(t),n=co(Rr(r))-1,i=2*n+1;t.graph().nestingRoot=e,Re(t.edges(),function(s){t.edge(s).minlen*=i});var a=EWe(t)+1;Re(t.children(),function(s){_he(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function _he(t,e,r,n,i,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=xI(t,"_bt"),h=xI(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Re(l,function(d){_he(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:i+a[s]})}function SWe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&Re(a,function(s){r(s,i+1)}),e[n]=i}return o(r,"dfs"),Re(t.children(),function(n){r(n,1)}),e}function EWe(t){return un(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function Dhe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Re(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var Rhe=I(()=>{"use strict";Kt();mu();o(Ahe,"run");o(_he,"dfs");o(SWe,"treeDepths");o(EWe,"sumWeights");o(Dhe,"cleanup")});function Lhe(t,e,r){var n={},i;Re(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=n[l],n[l]=s):(u=i,i=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var Nhe=I(()=>{"use strict";Kt();o(Lhe,"addSubgraphConstraints")});function Mhe(t,e,r){var n=AWe(t),i=new vn({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return Re(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,l||n),Re(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=Er(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function AWe(t){for(var e;t.hasNode(e=E0("_root")););return e}var Ihe=I(()=>{"use strict";Kt();wl();o(Mhe,"buildLayerGraph");o(AWe,"createRootNode")});function Ohe(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var Phe=I(()=>{"use strict";Kt();o(Ohe,"crossCount");o(_We,"twoLayerCrossCount")});function Bhe(t){var e={},r=cn(t.nodes(),function(l){return!t.children(l).length}),n=co(it(r,function(l){return t.node(l).rank})),i=it(Tl(n+1),function(){return[]});function a(l){if(!Gt(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),Re(t.successors(l),a)}}o(a,"dfs");var s=du(r,function(l){return t.node(l).rank});return Re(s,a),i}var Fhe=I(()=>{"use strict";Kt();o(Bhe,"initOrder")});function $he(t,e){return it(e,function(r){var n=t.inEdges(r);if(n.length){var i=un(n,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var zhe=I(()=>{"use strict";Kt();o($he,"barycenter")});function Ghe(t,e){var r={};Re(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Er(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),Re(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Er(a)&&!Er(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=cn(r,function(i){return!i.indegree});return DWe(n)}function DWe(t){var e=[];function r(a){return function(s){s.merged||(Er(s.barycenter)||Er(a.barycenter)||s.barycenter>=a.barycenter)&&RWe(a,s)}}o(r,"handleIn");function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(n,"handleOut");t.length;){var i=t.pop();e.push(i),Re(i.in.reverse(),r(i)),Re(i.out,n(i))}return it(cn(e,function(a){return!a.merged}),function(a){return S0(a,["vs","i","barycenter","weight"])})}function RWe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var Vhe=I(()=>{"use strict";Kt();o(Ghe,"resolveConflicts");o(DWe,"doResolveConflicts");o(RWe,"mergeEntries")});function Uhe(t,e){var r=Xue(t,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),n=r.lhs,i=du(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;n.sort(LWe(!!e)),u=qhe(a,i,u),Re(n,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=qhe(a,i,u)});var h={vs:ln(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function qhe(t,e,r){for(var n;e.length&&(n=ya(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function LWe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var Whe=I(()=>{"use strict";Kt();mu();o(Uhe,"sort");o(qhe,"consumeUnsortable");o(LWe,"compareWithBias")});function BI(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(i=cn(i,function(g){return g!==s&&g!==l}));var h=$he(t,i);Re(h,function(g){if(t.children(g.v).length){var y=BI(t,g.v,r,n);u[g.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter")&&MWe(g,y)}});var f=Ghe(h,r);NWe(f,u);var d=Uhe(f,n);if(s&&(d.vs=ln([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function NWe(t,e){Re(t,function(r){r.vs=ln(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function MWe(t,e){Er(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var Hhe=I(()=>{"use strict";Kt();zhe();Vhe();Whe();o(BI,"sortSubgraph");o(NWe,"expandSubgraphs");o(MWe,"mergeBarycenters")});function Xhe(t){var e=bI(t),r=Yhe(t,Tl(1,e+1),"inEdges"),n=Yhe(t,Tl(e-1,-1,-1),"outEdges"),i=Bhe(t);jhe(t,i);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){IWe(l%2?r:n,l%4>=2),i=id(t);var h=Ohe(t,i);h{"use strict";Kt();wl();mu();Nhe();Ihe();Phe();Fhe();Hhe();o(Xhe,"order");o(Yhe,"buildLayerGraphs");o(IWe,"sweepLayerGraphs");o(jhe,"assignOrder")});function Qhe(t){var e=PWe(t);Re(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=OWe(t,e,i.v,i.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function PWe(t){var e={},r=0;function n(i){var a=r;Re(t.children(i),n),e[i]={low:a,lim:r++}}return o(n,"dfs"),Re(t.children(),n),e}var Zhe=I(()=>{"use strict";Kt();o(Qhe,"parentDummyChains");o(OWe,"findPath");o(PWe,"postorder")});function BWe(t,e){var r={};function n(i,a){var s=0,l=0,u=i.length,h=ya(a);return Re(a,function(f,d){var p=$We(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Re(a.slice(l,d+1),function(g){Re(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&Jhe(r,p,f)})})}o(n,"scan");function i(a,s){var l=-1,u,h=0;return Re(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(s,h,d,l,u),h=d,l=u)}n(s,h,s.length,u,a.length)}),s}return o(i,"visitLayer"),un(e,i),r}function $We(t,e){if(t.node(e).dummy)return Ds(t.predecessors(e),function(r){return t.node(r).dummy})}function Jhe(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function zWe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function GWe(t,e,r,n){var i={},a={},s={};return Re(e,function(l){Re(l,function(u,h){i[u]=u,a[u]=u,s[u]=h})}),Re(e,function(l){var u=-1;Re(l,function(h){var f=n(h);if(f.length){f=du(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";Kt();wl();mu();o(BWe,"findType1Conflicts");o(FWe,"findType2Conflicts");o($We,"findOtherInnerSegmentNode");o(Jhe,"addConflict");o(zWe,"hasConflict");o(GWe,"verticalAlignment");o(VWe,"horizontalCompaction");o(qWe,"buildBlockGraph");o(UWe,"findSmallestWidthAlignment");o(WWe,"alignCoordinates");o(HWe,"balance");o(efe,"positionX");o(YWe,"sep");o(jWe,"width")});function rfe(t){t=nE(t),XWe(t),nI(efe(t),function(e,r){t.node(r).x=e})}function XWe(t){var e=id(t),r=t.graph().ranksep,n=0;Re(e,function(i){var a=co(it(i,function(s){return t.node(s).height}));Re(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}var nfe=I(()=>{"use strict";Kt();mu();tfe();o(rfe,"position");o(XWe,"positionY")});function pb(t,e){var r=e&&e.debugTiming?Kue:Que;r("layout",()=>{var n=r(" buildLayoutGraph",()=>sHe(t));r(" runLayout",()=>KWe(n,r)),r(" updateInputGraph",()=>QWe(t,n))})}function KWe(t,e){e(" makeSpaceForEdgeLabels",()=>oHe(t)),e(" removeSelfEdges",()=>gHe(t)),e(" acyclic",()=>que(t)),e(" nestingGraph.run",()=>Ahe(t)),e(" rank",()=>OI(nE(t))),e(" injectEdgeLabelProxies",()=>lHe(t)),e(" removeEmptyRanks",()=>jue(t)),e(" nestingGraph.cleanup",()=>Dhe(t)),e(" normalizeRanks",()=>Yue(t)),e(" assignRankMinMax",()=>cHe(t)),e(" removeEdgeLabelProxies",()=>uHe(t)),e(" normalize.run",()=>she(t)),e(" parentDummyChains",()=>Qhe(t)),e(" addBorderSegments",()=>Jue(t)),e(" order",()=>Xhe(t)),e(" insertSelfEdges",()=>yHe(t)),e(" adjustCoordinateSystem",()=>rhe(t)),e(" position",()=>rfe(t)),e(" positionSelfEdges",()=>vHe(t)),e(" removeBorderNodes",()=>mHe(t)),e(" normalize.undo",()=>ohe(t)),e(" fixupEdgeLabelCoords",()=>dHe(t)),e(" undoCoordinateSystem",()=>nhe(t)),e(" translateGraph",()=>hHe(t)),e(" assignNodeIntersects",()=>fHe(t)),e(" reversePoints",()=>pHe(t)),e(" acyclic.undo",()=>Uue(t))}function QWe(t,e){Re(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),Re(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function sHe(t){var e=new vn({multigraph:!0,compound:!0}),r=$I(t.graph());return e.setGraph(Gf({},JWe,FI(r,ZWe),S0(r,eHe))),Re(t.nodes(),function(n){var i=$I(t.node(n));e.setNode(n,td(FI(i,tHe),rHe)),e.setParent(n,t.parent(n))}),Re(t.edges(),function(n){var i=$I(t.edge(n));e.setEdge(n,Gf({},iHe,FI(i,nHe),S0(i,aHe)))}),e}function oHe(t){var e=t.graph();e.ranksep/=2,Re(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function lHe(t){Re(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};pu(t,"edge-proxy",a,"_ep")}})}function cHe(t){var e=0;Re(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=co(e,n.maxRank))}),t.graph().maxRank=e}function uHe(t){Re(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function hHe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}o(u,"getExtremes"),Re(t.nodes(),function(h){u(t.node(h))}),Re(t.edges(),function(h){var f=t.edge(h);Object.prototype.hasOwnProperty.call(f,"x")&&u(f)}),e-=s,n-=l,Re(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),Re(t.edges(),function(h){var f=t.edge(h);Re(f.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=e),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=n)}),a.width=r-e+s,a.height=i-n+l}function fHe(t){Re(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(vI(n,a)),r.points.push(vI(i,s))})}function dHe(t){Re(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function pHe(t){Re(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function mHe(t){Re(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(ya(r.borderLeft)),s=t.node(ya(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),Re(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function gHe(t){Re(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function yHe(t){var e=id(t);Re(e,function(r){var n=0;Re(r,function(i,a){var s=t.node(i);s.order=a+n,Re(s.selfEdges,function(l){pu(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function vHe(t){Re(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-l},{x:i+5*s/6,y:a-l},{x:i+s,y:a},{x:i+5*s/6,y:a+l},{x:i+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function FI(t,e){return w0(S0(t,e),Number)}function $I(t){var e={};return Re(t,function(r,n){e[n.toLowerCase()]=r}),e}var ZWe,JWe,eHe,tHe,rHe,nHe,iHe,aHe,ife=I(()=>{"use strict";Kt();wl();ehe();ahe();yI();kI();PI();Rhe();Khe();Zhe();nfe();mu();o(pb,"layout");o(KWe,"runLayout");o(QWe,"updateInputGraph");ZWe=["nodesep","edgesep","ranksep","marginx","marginy"],JWe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},eHe=["acyclicer","ranker","rankdir","align"],tHe=["width","height"],rHe={width:0,height:0},nHe=["minlen","weight","width","height","labeloffset"],iHe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},aHe=["labelpos"];o(sHe,"buildLayoutGraph");o(oHe,"makeSpaceForEdgeLabels");o(lHe,"injectEdgeLabelProxies");o(cHe,"assignRankMinMax");o(uHe,"removeEdgeLabelProxies");o(hHe,"translateGraph");o(fHe,"assignNodeIntersects");o(dHe,"fixupEdgeLabelCoords");o(pHe,"reversePointsForReversedEdges");o(mHe,"removeBorderNodes");o(gHe,"removeSelfEdges");o(yHe,"insertSelfEdges");o(vHe,"positionSelfEdges");o(FI,"selectNumberAttrs");o($I,"canonicalize")});var zI=I(()=>{"use strict";yI();ife();kI();PI()});function kl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:xHe(t),edges:bHe(t)};return Er(t.graph())||(e.value=yn(t.graph())),e}function xHe(t){return it(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Er(r)||(i.value=r),Er(n)||(i.parent=n),i})}function bHe(t){return it(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Er(e.name)||(n.name=e.name),Er(r)||(n.value=r),n})}var GI=I(()=>{"use strict";Kt();eE();o(kl,"write");o(xHe,"writeNodes");o(bHe,"writeEdges")});var Lr,_0,ofe,lfe,oE,THe,cfe,ufe,wHe,D1,sfe,hfe,ffe,dfe,pfe,mfe=I(()=>{"use strict";gt();wl();GI();Lr=new Map,_0=new Map,ofe=new Map,lfe=o(()=>{_0.clear(),ofe.clear(),Lr.clear()},"clear"),oE=o((t,e)=>{let r=_0.get(e)||[];return X.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),THe=o((t,e)=>{let r=_0.get(e)||[];return X.info("Descendants of ",e," is ",r),X.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||oE(t.v,e)||oE(t.w,e)||r.includes(t.w):(X.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),cfe=o((t,e,r,n)=>{X.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),X.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)cfe(a,e,r,n);else{let s=e.node(a);X.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(X.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(X.debug("Setting parent",a,t),r.setParent(a,t)):(X.info("In copy ",t,"root",n,"data",e.node(t),n),X.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);X.debug("Copying Edges",l),l.forEach(u=>{X.info("Edge",u);let h=e.edge(u.v,u.w,u.name);X.info("Edge data",h,n);try{THe(u,n)?(X.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),X.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):X.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){X.error(f)}})}X.debug("Removing node",a),e.removeNode(a)})},"copy"),ufe=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)ofe.set(i,t),n=[...n,...ufe(i,e)];return n},"extractDescendants"),wHe=o((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),D1=o((t,e,r)=>{let n=e.children(t);if(X.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let s=D1(a,e,r),l=wHe(e,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),sfe=o(t=>!Lr.has(t)||!Lr.get(t).externalConnections?t:Lr.has(t)?Lr.get(t).id:t,"getAnchorId"),hfe=o((t,e)=>{if(!t||e>10){X.debug("Opting out, no graph ");return}else X.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(X.warn("Cluster identified",r," Replacement id in edges: ",D1(r,t,r)),_0.set(r,ufe(r,t)),Lr.set(r,{id:D1(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(X.debug("Cluster identified",r,_0),i.forEach(a=>{let s=oE(a.v,r),l=oE(a.w,r);s^l&&(X.warn("Edge: ",a," leaves cluster ",r),X.warn("Descendants of XXX ",r,": ",_0.get(r)),Lr.get(r).externalConnections=!0)})):X.debug("Not a cluster ",r,_0)});for(let r of Lr.keys()){let n=Lr.get(r).id,i=t.parent(n);i!==r&&Lr.has(i)&&!Lr.get(i).externalConnections&&(Lr.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);X.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),X.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(X.warn("Fix XXX",Lr,"ids:",r.v,r.w,"Translating: ",Lr.get(r.v)," --- ",Lr.get(r.w)),Lr.get(r.v)||Lr.get(r.w)){if(X.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=sfe(r.v),a=sfe(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);Lr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);Lr.get(s).externalConnections=!0,n.toCluster=r.w}X.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),X.warn("Adjusted Graph",kl(t)),ffe(t,0),X.trace(Lr)},"adjustClustersAndEdges"),ffe=o((t,e)=>{if(X.warn("extractor - ",e,kl(t),t.children("D")),e>10){X.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){X.debug("Done, no node has children",t.nodes());return}X.debug("Nodes = ",r,e);for(let i of r)if(X.debug("Extracting node",i,Lr,Lr.has(i)&&!Lr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Lr.has(i))X.debug("Not a cluster",i,e);else if(!Lr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){X.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Lr.get(i)?.clusterData?.dir&&(s=Lr.get(i).clusterData.dir,X.warn("Fixing dir",Lr.get(i).clusterData.dir,s));let l=new vn({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});X.warn("Old graph before copy",kl(t)),cfe(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Lr.get(i).clusterData,label:Lr.get(i).label,graph:l}),X.warn("New graph after copy node: (",i,")",kl(l)),X.debug("Old graph after copy",kl(t))}else X.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Lr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),X.debug(Lr);r=t.nodes(),X.warn("New list of nodes",r);for(let i of r){let a=t.node(i);X.warn(" Now next level",i,a),a?.clusterNode&&ffe(a.graph,e+1)}},"extractor"),dfe=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=dfe(t,i);r=[...r,...a]}),r},"sorter"),pfe=o(t=>dfe(t,t.children()),"sortNodesByHierarchy")});var yfe={};vr(yfe,{render:()=>kHe});var gfe,kHe,vfe=I(()=>{"use strict";zI();GI();wl();EM();Bt();mfe();iS();Yk();SM();gt();ab();Qt();gfe=o(async(t,e,r,n,i,a)=>{X.warn("Graph in recursive render:XAX",kl(e),i);let s=e.graph().rankdir;X.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?X.info("Recursive render XXX",e.nodes()):X.info("No nodes found for",e),e.edges().length>0&&X.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));X.trace(`Setting data for parent cluster XXX + L0,20`)},"requirement_arrow"),Kze=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),Qze={extension:Pze,composition:Bze,aggregation:Fze,dependency:$ze,lollipop:zze,point:Gze,circle:Vze,cross:qze,barb:Uze,only_one:Wze,zero_or_one:Hze,one_or_more:Yze,zero_or_more:jze,requirement_arrow:Xze,requirement_contains:Kze},mE=Oze});async function y1(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?OM[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),gE.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}var gE,xoe,boe,vb,yE=O(()=>{"use strict";xt();PM();gE=new Map;o(y1,"insertNode");xoe=o((t,e)=>{gE.set(e.id,t)},"setNodeElem"),boe=o(()=>{gE.clear()},"clear"),vb=o(t=>{let e=gE.get(t.id);K.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var Toe,woe=O(()=>{"use strict";$r();Ur();xt();oE();zM();GM();yE();$t();ar();Toe={common:st,getConfig:Zt,insertCluster:g1,insertEdge:pE,insertEdgeLabel:fE,insertMarkers:mE,insertNode:y1,interpolateToCurve:_N,labelHelper:pt,log:K,positionEdgeLabel:dE}});function Jze(t){return typeof t=="symbol"||wi(t)&&Pa(t)==Zze}var Zze,Ho,T0=O(()=>{"use strict";Th();xl();Zze="[object Symbol]";o(Jze,"isSymbol");Ho=Jze});function eGe(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";o(eGe,"arrayMap");fo=eGe});function Soe(t){if(typeof t=="string")return t;if(zt(t))return fo(t,Soe)+"";if(Ho(t))return Eoe?Eoe.call(t):"";var e=t+"";return e=="0"&&1/t==-tGe?"-0":e}var tGe,koe,Eoe,Coe,Aoe=O(()=>{"use strict";s0();w0();oi();T0();tGe=1/0,koe=ya?ya.prototype:void 0,Eoe=koe?koe.toString:void 0;o(Soe,"baseToString");Coe=Soe});function nGe(t){for(var e=t.length;e--&&rGe.test(t.charAt(e)););return e}var rGe,_oe,Doe=O(()=>{"use strict";rGe=/\s/;o(nGe,"trimmedEndIndex");_oe=nGe});function aGe(t){return t&&t.slice(0,_oe(t)+1).replace(iGe,"")}var iGe,Roe,Loe=O(()=>{"use strict";Doe();iGe=/^\s+/;o(aGe,"baseTrim");Roe=aGe});function uGe(t){if(typeof t=="number")return t;if(Ho(t))return Noe;if(On(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=On(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Roe(t);var r=oGe.test(t);return r||lGe.test(t)?cGe(t.slice(2),r?2:8):sGe.test(t)?Noe:+t}var Noe,sGe,oGe,lGe,cGe,Moe,Ioe=O(()=>{"use strict";Loe();Vo();T0();Noe=NaN,sGe=/^[-+]0x[0-9a-f]+$/i,oGe=/^0b[01]+$/i,lGe=/^0o[0-7]+$/i,cGe=parseInt;o(uGe,"toNumber");Moe=uGe});function fGe(t){if(!t)return t===0?t:0;if(t=Moe(t),t===Ooe||t===-Ooe){var e=t<0?-1:1;return e*hGe}return t===t?t:0}var Ooe,hGe,v1,VM=O(()=>{"use strict";Ioe();Ooe=1/0,hGe=17976931348623157e292;o(fGe,"toFinite");v1=fGe});function dGe(t){var e=v1(t),r=e%1;return e===e?r?e-r:e:0}var mu,x1=O(()=>{"use strict";VM();o(dGe,"toInteger");mu=dGe});var pGe,vE,Poe=O(()=>{"use strict";Ff();yl();pGe=ro(Ri,"WeakMap"),vE=pGe});function mGe(){}var ki,qM=O(()=>{"use strict";o(mGe,"noop");ki=mGe});function gGe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(gGe,"arrayEach");xE=gGe});function yGe(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";o(yGe,"baseFindIndex");bE=yGe});function vGe(t){return t!==t}var Boe,Foe=O(()=>{"use strict";o(vGe,"baseIsNaN");Boe=vGe});function xGe(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";o(xGe,"strictIndexOf");$oe=xGe});function bGe(t,e,r){return e===e?$oe(t,e,r):bE(t,Boe,r)}var b1,TE=O(()=>{"use strict";WM();Foe();zoe();o(bGe,"baseIndexOf");b1=bGe});function TGe(t,e){var r=t==null?0:t.length;return!!r&&b1(t,e,0)>-1}var wE,HM=O(()=>{"use strict";TE();o(TGe,"arrayIncludes");wE=TGe});var wGe,Goe,Voe=O(()=>{"use strict";mN();wGe=yk(Object.keys,Object),Goe=wGe});function SGe(t){if(!lu(t))return Goe(t);var e=[];for(var r in Object(t))EGe.call(t,r)&&r!="constructor"&&e.push(r);return e}var kGe,EGe,T1,kE=O(()=>{"use strict";n1();Voe();kGe=Object.prototype,EGe=kGe.hasOwnProperty;o(SGe,"baseKeys");T1=SGe});function CGe(t){return Li(t)?wk(t):T1(t)}var nn,gu=O(()=>{"use strict";bN();kE();bl();o(CGe,"keys");nn=CGe});var AGe,_Ge,DGe,$a,qoe=O(()=>{"use strict";o1();h0();EN();bl();n1();gu();AGe=Object.prototype,_Ge=AGe.hasOwnProperty,DGe=Sk(function(t,e){if(lu(e)||Li(e)){kl(e,nn(e),t);return}for(var r in e)_Ge.call(e,r)&&cu(t,r,e[r])}),$a=DGe});function NGe(t,e){if(zt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ho(t)?!0:LGe.test(t)||!RGe.test(t)||e!=null&&t in Object(e)}var RGe,LGe,w1,EE=O(()=>{"use strict";oi();T0();RGe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LGe=/^\w*$/;o(NGe,"isKey");w1=NGe});function IGe(t){var e=Xg(t,function(n){return r.size===MGe&&r.clear(),n}),r=e.cache;return e}var MGe,Uoe,Woe=O(()=>{"use strict";lN();MGe=500;o(IGe,"memoizeCapped");Uoe=IGe});var OGe,PGe,BGe,Hoe,Yoe=O(()=>{"use strict";Woe();OGe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,PGe=/\\(\\)?/g,BGe=Uoe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(OGe,function(r,n,i,a){e.push(i?a.replace(PGe,"$1"):n||r)}),e}),Hoe=BGe});function FGe(t){return t==null?"":Coe(t)}var SE,YM=O(()=>{"use strict";Aoe();o(FGe,"toString");SE=FGe});function $Ge(t,e){return zt(t)?t:w1(t,e)?[t]:Hoe(SE(t))}var td,xb=O(()=>{"use strict";oi();EE();Yoe();YM();o($Ge,"castPath");td=$Ge});function GGe(t){if(typeof t=="string"||Ho(t))return t;var e=t+"";return e=="0"&&1/t==-zGe?"-0":e}var zGe,yu,k1=O(()=>{"use strict";T0();zGe=1/0;o(GGe,"toKey");yu=GGe});function VGe(t,e){e=td(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";xb();k1();o(VGe,"baseGet");rd=VGe});function qGe(t,e,r){var n=t==null?void 0:rd(t,e);return n===void 0?r:n}var joe,Xoe=O(()=>{"use strict";bb();o(qGe,"get");joe=qGe});function UGe(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";o(UGe,"arrayPush");E1=UGe});function WGe(t){return zt(t)||pc(t)||!!(Koe&&t&&t[Koe])}var Koe,Qoe,Zoe=O(()=>{"use strict";s0();i1();oi();Koe=ya?ya.isConcatSpreadable:void 0;o(WGe,"isFlattenable");Qoe=WGe});function Joe(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=Qoe),i||(i=[]);++a0&&r(l)?e>1?Joe(l,e-1,r,n,i):E1(i,l):n||(i[i.length]=l)}return i}var vu,S1=O(()=>{"use strict";CE();Zoe();o(Joe,"baseFlatten");vu=Joe});function HGe(t){var e=t==null?0:t.length;return e?vu(t,1):[]}var fn,AE=O(()=>{"use strict";S1();o(HGe,"flatten");fn=HGe});function YGe(t){return Ek(kk(t,void 0,fn),t+"")}var ele,tle=O(()=>{"use strict";AE();TN();kN();o(YGe,"flatRest");ele=YGe});function jGe(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";o(jGe,"baseSlice");_E=jGe});function nVe(t){return rVe.test(t)}var XGe,KGe,QGe,ZGe,JGe,eVe,tVe,rVe,rle,nle=O(()=>{"use strict";XGe="\\ud800-\\udfff",KGe="\\u0300-\\u036f",QGe="\\ufe20-\\ufe2f",ZGe="\\u20d0-\\u20ff",JGe=KGe+QGe+ZGe,eVe="\\ufe0e\\ufe0f",tVe="\\u200d",rVe=RegExp("["+tVe+XGe+JGe+eVe+"]");o(nVe,"hasUnicode");rle=nVe});function iVe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";o(iVe,"arrayReduce");ile=iVe});function aVe(t,e){return t&&kl(e,nn(e),t)}var sle,ole=O(()=>{"use strict";h0();gu();o(aVe,"baseAssign");sle=aVe});function sVe(t,e){return t&&kl(e,no(e),t)}var lle,cle=O(()=>{"use strict";h0();Wf();o(sVe,"baseAssignIn");lle=sVe});function oVe(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";o(oVe,"arrayFilter");C1=oVe});function lVe(){return[]}var RE,XM=O(()=>{"use strict";o(lVe,"stubArray");RE=lVe});var cVe,uVe,ule,hVe,A1,LE=O(()=>{"use strict";DE();XM();cVe=Object.prototype,uVe=cVe.propertyIsEnumerable,ule=Object.getOwnPropertySymbols,hVe=ule?function(t){return t==null?[]:(t=Object(t),C1(ule(t),function(e){return uVe.call(t,e)}))}:RE,A1=hVe});function fVe(t,e){return kl(t,A1(t),e)}var hle,fle=O(()=>{"use strict";h0();LE();o(fVe,"copySymbols");hle=fVe});var dVe,pVe,NE,KM=O(()=>{"use strict";CE();vk();LE();XM();dVe=Object.getOwnPropertySymbols,pVe=dVe?function(t){for(var e=[];t;)E1(e,A1(t)),t=r1(t);return e}:RE,NE=pVe});function mVe(t,e){return kl(t,NE(t),e)}var dle,ple=O(()=>{"use strict";h0();KM();o(mVe,"copySymbolsIn");dle=mVe});function gVe(t,e,r){var n=e(t);return zt(t)?n:E1(n,r(t))}var ME,QM=O(()=>{"use strict";CE();oi();o(gVe,"baseGetAllKeys");ME=gVe});function yVe(t){return ME(t,nn,A1)}var Tb,ZM=O(()=>{"use strict";QM();LE();gu();o(yVe,"getAllKeys");Tb=yVe});function vVe(t){return ME(t,no,NE)}var IE,JM=O(()=>{"use strict";QM();KM();Wf();o(vVe,"getAllKeysIn");IE=vVe});var xVe,OE,mle=O(()=>{"use strict";Ff();yl();xVe=ro(Ri,"DataView"),OE=xVe});var bVe,PE,gle=O(()=>{"use strict";Ff();yl();bVe=ro(Ri,"Promise"),PE=bVe});var TVe,nd,eI=O(()=>{"use strict";Ff();yl();TVe=ro(Ri,"Set"),nd=TVe});var yle,wVe,vle,xle,ble,Tle,kVe,EVe,SVe,CVe,AVe,k0,Yo,E0=O(()=>{"use strict";mle();uk();gle();eI();Poe();Th();aN();yle="[object Map]",wVe="[object Object]",vle="[object Promise]",xle="[object Set]",ble="[object WeakMap]",Tle="[object DataView]",kVe=wh(OE),EVe=wh(Gf),SVe=wh(PE),CVe=wh(nd),AVe=wh(vE),k0=Pa;(OE&&k0(new OE(new ArrayBuffer(1)))!=Tle||Gf&&k0(new Gf)!=yle||PE&&k0(PE.resolve())!=vle||nd&&k0(new nd)!=xle||vE&&k0(new vE)!=ble)&&(k0=o(function(t){var e=Pa(t),r=e==wVe?t.constructor:void 0,n=r?wh(r):"";if(n)switch(n){case kVe:return Tle;case EVe:return yle;case SVe:return vle;case CVe:return xle;case AVe:return ble}return e},"getTag"));Yo=k0});function RVe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&DVe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var _Ve,DVe,wle,kle=O(()=>{"use strict";_Ve=Object.prototype,DVe=_Ve.hasOwnProperty;o(RVe,"initCloneArray");wle=RVe});function LVe(t,e){var r=e?t1(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Ele,Sle=O(()=>{"use strict";pk();o(LVe,"cloneDataView");Ele=LVe});function MVe(t){var e=new t.constructor(t.source,NVe.exec(t));return e.lastIndex=t.lastIndex,e}var NVe,Cle,Ale=O(()=>{"use strict";NVe=/\w*$/;o(MVe,"cloneRegExp");Cle=MVe});function IVe(t){return Dle?Object(Dle.call(t)):{}}var _le,Dle,Rle,Lle=O(()=>{"use strict";s0();_le=ya?ya.prototype:void 0,Dle=_le?_le.valueOf:void 0;o(IVe,"cloneSymbol");Rle=IVe});function eqe(t,e,r){var n=t.constructor;switch(e){case qVe:return t1(t);case OVe:case PVe:return new n(+t);case UVe:return Ele(t,r);case WVe:case HVe:case YVe:case jVe:case XVe:case KVe:case QVe:case ZVe:case JVe:return mk(t,r);case BVe:return new n;case FVe:case GVe:return new n(t);case $Ve:return Cle(t);case zVe:return new n;case VVe:return Rle(t)}}var OVe,PVe,BVe,FVe,$Ve,zVe,GVe,VVe,qVe,UVe,WVe,HVe,YVe,jVe,XVe,KVe,QVe,ZVe,JVe,Nle,Mle=O(()=>{"use strict";pk();Sle();Ale();Lle();dN();OVe="[object Boolean]",PVe="[object Date]",BVe="[object Map]",FVe="[object Number]",$Ve="[object RegExp]",zVe="[object Set]",GVe="[object String]",VVe="[object Symbol]",qVe="[object ArrayBuffer]",UVe="[object DataView]",WVe="[object Float32Array]",HVe="[object Float64Array]",YVe="[object Int8Array]",jVe="[object Int16Array]",XVe="[object Int32Array]",KVe="[object Uint8Array]",QVe="[object Uint8ClampedArray]",ZVe="[object Uint16Array]",JVe="[object Uint32Array]";o(eqe,"initCloneByTag");Nle=eqe});function rqe(t){return wi(t)&&Yo(t)==tqe}var tqe,Ile,Ole=O(()=>{"use strict";E0();xl();tqe="[object Map]";o(rqe,"baseIsMap");Ile=rqe});var Ple,nqe,Ble,Fle=O(()=>{"use strict";Ole();u0();jx();Ple=wl&&wl.isMap,nqe=Ple?Tl(Ple):Ile,Ble=nqe});function aqe(t){return wi(t)&&Yo(t)==iqe}var iqe,$le,zle=O(()=>{"use strict";E0();xl();iqe="[object Set]";o(aqe,"baseIsSet");$le=aqe});var Gle,sqe,Vle,qle=O(()=>{"use strict";zle();u0();jx();Gle=wl&&wl.isSet,sqe=Gle?Tl(Gle):$le,Vle=sqe});function BE(t,e,r,n,i,a){var s,l=e&oqe,u=e&lqe,h=e&cqe;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!On(t))return t;var f=zt(t);if(f){if(s=wle(t),!l)return gk(t,s)}else{var d=Yo(t),p=d==Wle||d==pqe;if(mc(t))return dk(t,l);if(d==Hle||d==Ule||p&&!i){if(s=u||p?{}:xk(t),!l)return u?dle(t,lle(s,t)):hle(t,sle(s,t))}else{if(!Un[d])return i?t:{};s=Nle(t,d,l)}}a||(a=new su);var m=a.get(t);if(m)return m;a.set(t,s),Vle(t)?t.forEach(function(v){s.add(BE(v,e,r,v,t,a))}):Ble(t)&&t.forEach(function(v,x){s.set(x,BE(v,e,r,x,t,a))});var g=h?u?IE:Tb:u?no:nn,y=f?void 0:g(t);return xE(y||t,function(v,x){y&&(x=v,v=t[x]),cu(s,x,BE(v,e,r,x,t,a))}),s}var oqe,lqe,cqe,Ule,uqe,hqe,fqe,dqe,Wle,pqe,mqe,gqe,Hle,yqe,vqe,xqe,bqe,Tqe,wqe,kqe,Eqe,Sqe,Cqe,Aqe,_qe,Dqe,Rqe,Lqe,Nqe,Un,FE,tI=O(()=>{"use strict";Wx();UM();o1();ole();cle();hN();pN();fle();ple();ZM();JM();E0();kle();Mle();gN();oi();s1();Fle();Vo();qle();gu();Wf();oqe=1,lqe=2,cqe=4,Ule="[object Arguments]",uqe="[object Array]",hqe="[object Boolean]",fqe="[object Date]",dqe="[object Error]",Wle="[object Function]",pqe="[object GeneratorFunction]",mqe="[object Map]",gqe="[object Number]",Hle="[object Object]",yqe="[object RegExp]",vqe="[object Set]",xqe="[object String]",bqe="[object Symbol]",Tqe="[object WeakMap]",wqe="[object ArrayBuffer]",kqe="[object DataView]",Eqe="[object Float32Array]",Sqe="[object Float64Array]",Cqe="[object Int8Array]",Aqe="[object Int16Array]",_qe="[object Int32Array]",Dqe="[object Uint8Array]",Rqe="[object Uint8ClampedArray]",Lqe="[object Uint16Array]",Nqe="[object Uint32Array]",Un={};Un[Ule]=Un[uqe]=Un[wqe]=Un[kqe]=Un[hqe]=Un[fqe]=Un[Eqe]=Un[Sqe]=Un[Cqe]=Un[Aqe]=Un[_qe]=Un[mqe]=Un[gqe]=Un[Hle]=Un[yqe]=Un[vqe]=Un[xqe]=Un[bqe]=Un[Dqe]=Un[Rqe]=Un[Lqe]=Un[Nqe]=!0;Un[dqe]=Un[Wle]=Un[Tqe]=!1;o(BE,"baseClone");FE=BE});function Iqe(t){return FE(t,Mqe)}var Mqe,Tn,rI=O(()=>{"use strict";tI();Mqe=4;o(Iqe,"clone");Tn=Iqe});function Bqe(t){return FE(t,Oqe|Pqe)}var Oqe,Pqe,nI,Yle=O(()=>{"use strict";tI();Oqe=1,Pqe=4;o(Bqe,"cloneDeep");nI=Bqe});function Fqe(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";o(Fqe,"compact");xu=Fqe});function zqe(t){return this.__data__.set(t,$qe),this}var $qe,Xle,Kle=O(()=>{"use strict";$qe="__lodash_hash_undefined__";o(zqe,"setCacheAdd");Xle=zqe});function Gqe(t){return this.__data__.has(t)}var Qle,Zle=O(()=>{"use strict";o(Gqe,"setCacheHas");Qle=Gqe});function $E(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new l0;++e{"use strict";hk();Kle();Zle();o($E,"SetCache");$E.prototype.add=$E.prototype.push=Xle;$E.prototype.has=Qle;_1=$E});function Vqe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(Vqe,"arraySome");GE=Vqe});function qqe(t,e){return t.has(e)}var D1,VE=O(()=>{"use strict";o(qqe,"cacheHas");D1=qqe});function Hqe(t,e,r,n,i,a){var s=r&Uqe,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&Wqe?new _1:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";zE();iI();VE();Uqe=1,Wqe=2;o(Hqe,"equalArrays");qE=Hqe});function Yqe(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var Jle,ece=O(()=>{"use strict";o(Yqe,"mapToArray");Jle=Yqe});function jqe(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var R1,UE=O(()=>{"use strict";o(jqe,"setToArray");R1=jqe});function lUe(t,e,r,n,i,a,s){switch(r){case oUe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case sUe:return!(t.byteLength!=e.byteLength||!a(new e1(t),new e1(e)));case Qqe:case Zqe:case tUe:return vl(+t,+e);case Jqe:return t.name==e.name&&t.message==e.message;case rUe:case iUe:return t==e+"";case eUe:var l=Jle;case nUe:var u=n&Xqe;if(l||(l=R1),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;n|=Kqe,s.set(t,e);var f=qE(l(t),l(e),n,i,a,s);return s.delete(t),f;case aUe:if(sI)return sI.call(t)==sI.call(e)}return!1}var Xqe,Kqe,Qqe,Zqe,Jqe,eUe,tUe,rUe,nUe,iUe,aUe,sUe,oUe,tce,sI,rce,nce=O(()=>{"use strict";s0();fN();o0();aI();ece();UE();Xqe=1,Kqe=2,Qqe="[object Boolean]",Zqe="[object Date]",Jqe="[object Error]",eUe="[object Map]",tUe="[object Number]",rUe="[object RegExp]",nUe="[object Set]",iUe="[object String]",aUe="[object Symbol]",sUe="[object ArrayBuffer]",oUe="[object DataView]",tce=ya?ya.prototype:void 0,sI=tce?tce.valueOf:void 0;o(lUe,"equalByTag");rce=lUe});function fUe(t,e,r,n,i,a){var s=r&cUe,l=Tb(t),u=l.length,h=Tb(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:hUe.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";ZM();cUe=1,uUe=Object.prototype,hUe=uUe.hasOwnProperty;o(fUe,"equalObjects");ice=fUe});function mUe(t,e,r,n,i,a){var s=zt(t),l=zt(e),u=s?oce:Yo(t),h=l?oce:Yo(e);u=u==sce?WE:u,h=h==sce?WE:h;var f=u==WE,d=h==WE,p=u==h;if(p&&mc(t)){if(!mc(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new su),s||qf(t)?qE(t,e,r,n,i,a):rce(t,e,u,r,n,i,a);if(!(r&dUe)){var m=f&&lce.call(t,"__wrapped__"),g=d&&lce.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new su),i(y,v,r,n,a)}}return p?(a||(a=new su),ice(t,e,r,n,i,a)):!1}var dUe,sce,oce,WE,pUe,lce,cce,uce=O(()=>{"use strict";Wx();aI();nce();ace();E0();oi();s1();Xx();dUe=1,sce="[object Arguments]",oce="[object Array]",WE="[object Object]",pUe=Object.prototype,lce=pUe.hasOwnProperty;o(mUe,"baseIsEqualDeep");cce=mUe});function hce(t,e,r,n,i){return t===e?!0:t==null||e==null||!wi(t)&&!wi(e)?t!==t&&e!==e:cce(t,e,r,n,hce,i)}var HE,oI=O(()=>{"use strict";uce();xl();o(hce,"baseIsEqual");HE=hce});function vUe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";Wx();oI();gUe=1,yUe=2;o(vUe,"baseIsMatch");fce=vUe});function xUe(t){return t===t&&!On(t)}var YE,lI=O(()=>{"use strict";Vo();o(xUe,"isStrictComparable");YE=xUe});function bUe(t){for(var e=nn(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,YE(i)]}return e}var pce,mce=O(()=>{"use strict";lI();gu();o(bUe,"getMatchData");pce=bUe});function TUe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var jE,cI=O(()=>{"use strict";o(TUe,"matchesStrictComparable");jE=TUe});function wUe(t){var e=pce(t);return e.length==1&&e[0][2]?jE(e[0][0],e[0][1]):function(r){return r===t||fce(r,t,e)}}var gce,yce=O(()=>{"use strict";dce();mce();cI();o(wUe,"baseMatches");gce=wUe});function kUe(t,e){return t!=null&&e in Object(t)}var vce,xce=O(()=>{"use strict";o(kUe,"baseHasIn");vce=kUe});function EUe(t,e,r){e=td(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";xb();i1();oi();Qx();bk();k1();o(EUe,"hasPath");XE=EUe});function SUe(t,e){return t!=null&&XE(t,e,vce)}var KE,hI=O(()=>{"use strict";xce();uI();o(SUe,"hasIn");KE=SUe});function _Ue(t,e){return w1(t)&&YE(e)?jE(yu(t),e):function(r){var n=joe(r,t);return n===void 0&&n===e?KE(r,t):HE(e,n,CUe|AUe)}}var CUe,AUe,bce,Tce=O(()=>{"use strict";oI();Xoe();hI();EE();lI();cI();k1();CUe=1,AUe=2;o(_Ue,"baseMatchesProperty");bce=_Ue});function DUe(t){return function(e){return e?.[t]}}var QE,fI=O(()=>{"use strict";o(DUe,"baseProperty");QE=DUe});function RUe(t){return function(e){return rd(e,t)}}var wce,kce=O(()=>{"use strict";bb();o(RUe,"basePropertyDeep");wce=RUe});function LUe(t){return w1(t)?QE(yu(t)):wce(t)}var Ece,Sce=O(()=>{"use strict";fI();kce();EE();k1();o(LUe,"property");Ece=LUe});function NUe(t){return typeof t=="function"?t:t==null?va:typeof t=="object"?zt(t)?bce(t[0],t[1]):gce(t):Ece(t)}var Ln,Rs=O(()=>{"use strict";yce();Tce();Eh();oi();Sce();o(NUe,"baseIteratee");Ln=NUe});function MUe(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";o(MUe,"arrayAggregator");Cce=MUe});function IUe(t,e){return t&&Jg(t,e,nn)}var L1,ZE=O(()=>{"use strict";fk();gu();o(IUe,"baseForOwn");L1=IUe});function OUe(t,e){return function(r,n){if(r==null)return r;if(!Li(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a{"use strict";bl();o(OUe,"createBaseEach");_ce=OUe});var PUe,po,id=O(()=>{"use strict";ZE();Dce();PUe=_ce(L1),po=PUe});function BUe(t,e,r,n){return po(t,function(i,a,s){e(n,i,r(i),s)}),n}var Rce,Lce=O(()=>{"use strict";id();o(BUe,"baseAggregator");Rce=BUe});function FUe(t,e){return function(r,n){var i=zt(r)?Cce:Rce,a=e?e():{};return i(r,t,Ln(n,2),a)}}var Nce,Mce=O(()=>{"use strict";Ace();Lce();Rs();oi();o(FUe,"createAggregator");Nce=FUe});var $Ue,JE,Ice=O(()=>{"use strict";yl();$Ue=o(function(){return Ri.Date.now()},"now"),JE=$Ue});var Oce,zUe,GUe,ad,Pce=O(()=>{"use strict";l1();o0();f0();Wf();Oce=Object.prototype,zUe=Oce.hasOwnProperty,GUe=uu(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&qo(e[0],e[1],i)&&(n=1);++r{"use strict";o(VUe,"arrayIncludesWith");eS=VUe});function UUe(t,e,r,n){var i=-1,a=wE,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=fo(e,Tl(r))),n?(a=eS,s=!1):e.length>=qUe&&(a=D1,s=!1,e=new _1(e));e:for(;++i{"use strict";zE();HM();dI();w0();u0();VE();qUe=200;o(UUe,"baseDifference");Bce=UUe});var WUe,sd,$ce=O(()=>{"use strict";Fce();S1();l1();Tk();WUe=uu(function(t,e){return c0(t)?Bce(t,vu(e,1,c0,!0)):[]}),sd=WUe});function HUe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ba,zce=O(()=>{"use strict";o(HUe,"last");ba=HUe});function YUe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:mu(e),_E(t,e<0?0:e,n)):[]}var Pi,Gce=O(()=>{"use strict";jM();x1();o(YUe,"drop");Pi=YUe});function jUe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:mu(e),e=n-e,_E(t,0,e<0?0:e)):[]}var Nh,Vce=O(()=>{"use strict";jM();x1();o(jUe,"dropRight");Nh=jUe});function XUe(t){return typeof t=="function"?t:va}var N1,tS=O(()=>{"use strict";Eh();o(XUe,"castFunction");N1=XUe});function KUe(t,e){var r=zt(t)?xE:po;return r(t,N1(e))}var Oe,rS=O(()=>{"use strict";UM();id();tS();oi();o(KUe,"forEach");Oe=KUe});var qce=O(()=>{"use strict";rS()});function QUe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(QUe,"arrayEvery");Uce=QUe});function ZUe(t,e){var r=!0;return po(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var Hce,Yce=O(()=>{"use strict";id();o(ZUe,"baseEvery");Hce=ZUe});function JUe(t,e,r){var n=zt(t)?Uce:Hce;return r&&qo(t,e,r)&&(e=void 0),n(t,Ln(e,3))}var is,jce=O(()=>{"use strict";Wce();Yce();Rs();oi();f0();o(JUe,"every");is=JUe});function eWe(t,e){var r=[];return po(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var nS,pI=O(()=>{"use strict";id();o(eWe,"baseFilter");nS=eWe});function tWe(t,e){var r=zt(t)?C1:nS;return r(t,Ln(e,3))}var dn,mI=O(()=>{"use strict";DE();pI();Rs();oi();o(tWe,"filter");dn=tWe});function rWe(t){return function(e,r,n){var i=Object(e);if(!Li(e)){var a=Ln(r,3);e=nn(e),r=o(function(l){return a(i[l],l,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var Xce,Kce=O(()=>{"use strict";Rs();bl();gu();o(rWe,"createFind");Xce=rWe});function iWe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:mu(r);return i<0&&(i=nWe(n+i,0)),bE(t,Ln(e,3),i)}var nWe,Qce,Zce=O(()=>{"use strict";WM();Rs();x1();nWe=Math.max;o(iWe,"findIndex");Qce=iWe});var aWe,Ls,Jce=O(()=>{"use strict";Kce();Zce();aWe=Xce(Qce),Ls=aWe});function sWe(t){return t&&t.length?t[0]:void 0}var Ta,eue=O(()=>{"use strict";o(sWe,"head");Ta=sWe});var tue=O(()=>{"use strict";eue()});function oWe(t,e){var r=-1,n=Li(t)?Array(t.length):[];return po(t,function(i,a,s){n[++r]=e(i,a,s)}),n}var iS,gI=O(()=>{"use strict";id();bl();o(oWe,"baseMap");iS=oWe});function lWe(t,e){var r=zt(t)?fo:iS;return r(t,Ln(e,3))}var lt,M1=O(()=>{"use strict";w0();Rs();gI();oi();o(lWe,"map");lt=lWe});function cWe(t,e){return vu(lt(t,e),1)}var za,yI=O(()=>{"use strict";S1();M1();o(cWe,"flatMap");za=cWe});function uWe(t,e){return t==null?t:Jg(t,N1(e),no)}var vI,rue=O(()=>{"use strict";fk();tS();Wf();o(uWe,"forIn");vI=uWe});function hWe(t,e){return t&&L1(t,N1(e))}var xI,nue=O(()=>{"use strict";ZE();tS();o(hWe,"forOwn");xI=hWe});var fWe,dWe,pWe,bI,iue=O(()=>{"use strict";Zg();Mce();fWe=Object.prototype,dWe=fWe.hasOwnProperty,pWe=Nce(function(t,e,r){dWe.call(t,r)?t[r].push(e):ou(t,r,[e])}),bI=pWe});function mWe(t,e){return t>e}var aue,sue=O(()=>{"use strict";o(mWe,"baseGt");aue=mWe});function vWe(t,e){return t!=null&&yWe.call(t,e)}var gWe,yWe,oue,lue=O(()=>{"use strict";gWe=Object.prototype,yWe=gWe.hasOwnProperty;o(vWe,"baseHas");oue=vWe});function xWe(t,e){return t!=null&&XE(t,e,oue)}var Gt,cue=O(()=>{"use strict";lue();uI();o(xWe,"has");Gt=xWe});function TWe(t){return typeof t=="string"||!zt(t)&&wi(t)&&Pa(t)==bWe}var bWe,Bi,aS=O(()=>{"use strict";Th();oi();xl();bWe="[object String]";o(TWe,"isString");Bi=TWe});function wWe(t,e){return fo(e,function(r){return t[r]})}var uue,hue=O(()=>{"use strict";w0();o(wWe,"baseValues");uue=wWe});function kWe(t){return t==null?[]:uue(t,nn(t))}var Gr,TI=O(()=>{"use strict";hue();gu();o(kWe,"values");Gr=kWe});function SWe(t,e,r,n){t=Li(t)?t:Gr(t),r=r&&!n?mu(r):0;var i=t.length;return r<0&&(r=EWe(i+r,0)),Bi(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&b1(t,e,r)>-1}var EWe,ci,fue=O(()=>{"use strict";TE();bl();aS();x1();TI();EWe=Math.max;o(SWe,"includes");ci=SWe});function AWe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:mu(r);return i<0&&(i=CWe(n+i,0)),b1(t,e,i)}var CWe,sS,due=O(()=>{"use strict";TE();x1();CWe=Math.max;o(AWe,"indexOf");sS=AWe});function NWe(t){if(t==null)return!0;if(Li(t)&&(zt(t)||typeof t=="string"||typeof t.splice=="function"||mc(t)||qf(t)||pc(t)))return!t.length;var e=Yo(t);if(e==_We||e==DWe)return!t.size;if(lu(t))return!T1(t).length;for(var r in t)if(LWe.call(t,r))return!1;return!0}var _We,DWe,RWe,LWe,Er,oS=O(()=>{"use strict";kE();E0();i1();oi();bl();s1();n1();Xx();_We="[object Map]",DWe="[object Set]",RWe=Object.prototype,LWe=RWe.hasOwnProperty;o(NWe,"isEmpty");Er=NWe});function IWe(t){return wi(t)&&Pa(t)==MWe}var MWe,pue,mue=O(()=>{"use strict";Th();xl();MWe="[object RegExp]";o(IWe,"baseIsRegExp");pue=IWe});var gue,OWe,Al,yue=O(()=>{"use strict";mue();u0();jx();gue=wl&&wl.isRegExp,OWe=gue?Tl(gue):pue,Al=OWe});function PWe(t){return t===void 0}var Dr,vue=O(()=>{"use strict";o(PWe,"isUndefined");Dr=PWe});function BWe(t,e){return t{"use strict";o(BWe,"baseLt");lS=BWe});function FWe(t,e){var r={};return e=Ln(e,3),L1(t,function(n,i,a){ou(r,i,e(n,i,a))}),r}var S0,xue=O(()=>{"use strict";Zg();ZE();Rs();o(FWe,"mapValues");S0=FWe});function $We(t,e,r){for(var n=-1,i=t.length;++n{"use strict";T0();o($We,"baseExtremum");I1=$We});function zWe(t){return t&&t.length?I1(t,va,aue):void 0}var mo,bue=O(()=>{"use strict";cS();sue();Eh();o(zWe,"max");mo=zWe});function GWe(t){return t&&t.length?I1(t,va,lS):void 0}var vc,kI=O(()=>{"use strict";cS();wI();Eh();o(GWe,"min");vc=GWe});function VWe(t,e){return t&&t.length?I1(t,Ln(e,2),lS):void 0}var C0,Tue=O(()=>{"use strict";cS();Rs();wI();o(VWe,"minBy");C0=VWe});function UWe(t){if(typeof t!="function")throw new TypeError(qWe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var qWe,wue,kue=O(()=>{"use strict";qWe="Expected a function";o(UWe,"negate");wue=UWe});function WWe(t,e,r,n){if(!On(t))return t;e=td(e,t);for(var i=-1,a=e.length,s=a-1,l=t;l!=null&&++i{"use strict";o1();xb();Qx();Vo();k1();o(WWe,"baseSet");Eue=WWe});function HWe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";bb();Sue();xb();o(HWe,"basePickBy");uS=HWe});function YWe(t,e){if(t==null)return{};var r=fo(IE(t),function(n){return[n]});return e=Ln(e),uS(t,r,function(n,i){return e(n,i[0])})}var go,Cue=O(()=>{"use strict";w0();Rs();EI();JM();o(YWe,"pickBy");go=YWe});function jWe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var Aue,_ue=O(()=>{"use strict";o(jWe,"baseSortBy");Aue=jWe});function XWe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=Ho(t),s=e!==void 0,l=e===null,u=e===e,h=Ho(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||n&&s&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";T0();o(XWe,"compareAscending");Due=XWe});function KWe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var Lue,Nue=O(()=>{"use strict";Rue();o(KWe,"compareMultiple");Lue=KWe});function QWe(t,e,r){e.length?e=fo(e,function(a){return zt(a)?function(s){return rd(s,a.length===1?a[0]:a)}:a}):e=[va];var n=-1;e=fo(e,Tl(Ln));var i=iS(t,function(a,s,l){var u=fo(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return Aue(i,function(a,s){return Lue(a,s,r)})}var Mue,Iue=O(()=>{"use strict";w0();bb();Rs();gI();_ue();u0();Nue();Eh();oi();o(QWe,"baseOrderBy");Mue=QWe});var ZWe,Oue,Pue=O(()=>{"use strict";fI();ZWe=QE("length"),Oue=ZWe});function uHe(t){for(var e=Bue.lastIndex=0;Bue.test(t);)++e;return e}var Fue,JWe,eHe,tHe,rHe,nHe,iHe,SI,CI,aHe,$ue,zue,Gue,sHe,Vue,que,oHe,lHe,cHe,Bue,Uue,Wue=O(()=>{"use strict";Fue="\\ud800-\\udfff",JWe="\\u0300-\\u036f",eHe="\\ufe20-\\ufe2f",tHe="\\u20d0-\\u20ff",rHe=JWe+eHe+tHe,nHe="\\ufe0e\\ufe0f",iHe="["+Fue+"]",SI="["+rHe+"]",CI="\\ud83c[\\udffb-\\udfff]",aHe="(?:"+SI+"|"+CI+")",$ue="[^"+Fue+"]",zue="(?:\\ud83c[\\udde6-\\uddff]){2}",Gue="[\\ud800-\\udbff][\\udc00-\\udfff]",sHe="\\u200d",Vue=aHe+"?",que="["+nHe+"]?",oHe="(?:"+sHe+"(?:"+[$ue,zue,Gue].join("|")+")"+que+Vue+")*",lHe=que+Vue+oHe,cHe="(?:"+[$ue+SI+"?",SI,zue,Gue,iHe].join("|")+")",Bue=RegExp(CI+"(?="+CI+")|"+cHe+lHe,"g");o(uHe,"unicodeSize");Uue=uHe});function hHe(t){return rle(t)?Uue(t):Oue(t)}var Hue,Yue=O(()=>{"use strict";Pue();nle();Wue();o(hHe,"stringSize");Hue=hHe});function fHe(t,e){return uS(t,e,function(r,n){return KE(t,n)})}var jue,Xue=O(()=>{"use strict";EI();hI();o(fHe,"basePick");jue=fHe});var dHe,A0,Kue=O(()=>{"use strict";Xue();tle();dHe=ele(function(t,e){return t==null?{}:jue(t,e)}),A0=dHe});function gHe(t,e,r,n){for(var i=-1,a=mHe(pHe((e-t)/(r||1)),0),s=Array(a);a--;)s[n?a:++i]=t,t+=r;return s}var pHe,mHe,Que,Zue=O(()=>{"use strict";pHe=Math.ceil,mHe=Math.max;o(gHe,"baseRange");Que=gHe});function yHe(t){return function(e,r,n){return n&&typeof n!="number"&&qo(e,r,n)&&(r=n=void 0),e=v1(e),r===void 0?(r=e,e=0):r=v1(r),n=n===void 0?e{"use strict";Zue();f0();VM();o(yHe,"createRange");Jue=yHe});var vHe,_l,the=O(()=>{"use strict";ehe();vHe=Jue(),_l=vHe});function xHe(t,e,r,n,i){return i(t,function(a,s,l){r=n?(n=!1,a):e(r,a,s,l)}),r}var rhe,nhe=O(()=>{"use strict";o(xHe,"baseReduce");rhe=xHe});function bHe(t,e,r){var n=zt(t)?ile:rhe,i=arguments.length<3;return n(t,Ln(e,4),r,i,po)}var pn,AI=O(()=>{"use strict";ale();id();Rs();nhe();oi();o(bHe,"reduce");pn=bHe});function THe(t,e){var r=zt(t)?C1:nS;return r(t,wue(Ln(e,3)))}var od,ihe=O(()=>{"use strict";DE();pI();Rs();oi();kue();o(THe,"reject");od=THe});function EHe(t){if(t==null)return 0;if(Li(t))return Bi(t)?Hue(t):t.length;var e=Yo(t);return e==wHe||e==kHe?t.size:T1(t).length}var wHe,kHe,_I,ahe=O(()=>{"use strict";kE();E0();bl();aS();Yue();wHe="[object Map]",kHe="[object Set]";o(EHe,"size");_I=EHe});function SHe(t,e){var r;return po(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var she,ohe=O(()=>{"use strict";id();o(SHe,"baseSome");she=SHe});function CHe(t,e,r){var n=zt(t)?GE:she;return r&&qo(t,e,r)&&(e=void 0),n(t,Ln(e,3))}var wb,lhe=O(()=>{"use strict";iI();Rs();ohe();oi();f0();o(CHe,"some");wb=CHe});var AHe,bu,che=O(()=>{"use strict";S1();Iue();l1();f0();AHe=uu(function(t,e){if(t==null)return[];var r=e.length;return r>1&&qo(t,e[0],e[1])?e=[]:r>2&&qo(e[0],e[1],e[2])&&(e=[e[0]]),Mue(t,vu(e,1),[])}),bu=AHe});var _He,DHe,uhe,hhe=O(()=>{"use strict";eI();qM();UE();_He=1/0,DHe=nd&&1/R1(new nd([,-0]))[1]==_He?function(t){return new nd(t)}:ki,uhe=DHe});function LHe(t,e,r){var n=-1,i=wE,a=t.length,s=!0,l=[],u=l;if(r)s=!1,i=eS;else if(a>=RHe){var h=e?null:uhe(t);if(h)return R1(h);s=!1,i=D1,u=new _1}else u=e?[]:l;e:for(;++n{"use strict";zE();HM();dI();VE();hhe();UE();RHe=200;o(LHe,"baseUniq");O1=LHe});var NHe,DI,fhe=O(()=>{"use strict";S1();l1();hS();Tk();NHe=uu(function(t){return O1(vu(t,1,c0,!0))}),DI=NHe});function MHe(t){return t&&t.length?O1(t):[]}var P1,dhe=O(()=>{"use strict";hS();o(MHe,"uniq");P1=MHe});function IHe(t,e){return t&&t.length?O1(t,Ln(e,2)):[]}var phe,mhe=O(()=>{"use strict";Rs();hS();o(IHe,"uniqBy");phe=IHe});function PHe(t){var e=++OHe;return SE(t)+e}var OHe,_0,ghe=O(()=>{"use strict";YM();OHe=0;o(PHe,"uniqueId");_0=PHe});function BHe(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n{"use strict";o(BHe,"baseZipObject");yhe=BHe});function FHe(t,e){return yhe(t||[],e||[],cu)}var fS,xhe=O(()=>{"use strict";o1();vhe();o(FHe,"zipObject");fS=FHe});var rr=O(()=>{"use strict";qoe();rI();Yle();jle();wN();Pce();$ce();Gce();Vce();qce();jce();mI();Jce();tue();yI();AE();rS();rue();nue();iue();cue();Eh();fue();due();oi();oS();zx();Vo();yue();aS();vue();gu();zce();M1();xue();bue();SN();kI();Tue();qM();Ice();Kue();Cue();the();AI();ihe();ahe();lhe();che();fhe();dhe();ghe();TI();xhe();});function The(t,e){t[e]?t[e]++:t[e]=1}function whe(t,e){--t[e]||delete t[e]}function kb(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+bhe+a+bhe+(Dr(n)?$He:n)}function zHe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function RI(t,e){return kb(t,e.v,e.w,e.name)}var $He,D0,bhe,wn,dS=O(()=>{"use strict";rr();$He="\0",D0="\0",bhe="",wn=class{static{o(this,"Graph")}constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=io(void 0),this._defaultEdgeLabelFn=io(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[D0]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return Vi(e)||(e=io(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return nn(this._nodes)}sources(){var e=this;return dn(this.nodes(),function(r){return Er(e._in[r])})}sinks(){var e=this;return dn(this.nodes(),function(r){return Er(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return Oe(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=D0,this._children[e]={},this._children[D0][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=o(n=>this.removeEdge(this._edgeObjs[n]),"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Oe(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),Oe(nn(this._in[e]),r),delete this._in[e],delete this._preds[e],Oe(nn(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Dr(r))r=D0;else{r+="";for(var n=r;!Dr(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==D0)return r}}children(e){if(Dr(e)&&(e=D0),this._isCompound){var r=this._children[e];if(r)return nn(r)}else{if(e===D0)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return nn(r)}successors(e){var r=this._sucs[e];if(r)return nn(r)}neighbors(e){var r=this.predecessors(e);if(r)return DI(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;Oe(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Oe(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return o(a,"findParent"),this._isCompound&&Oe(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return Vi(e)||(e=io(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return Gr(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return pn(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Dr(n)||(n=""+n);var l=kb(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!Dr(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=zHe(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,The(this._preds[r],e),The(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?RI(this._isDirected,arguments[0]):kb(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?RI(this._isDirected,arguments[0]):kb(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?RI(this._isDirected,arguments[0]):kb(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],whe(this._preds[r],e),whe(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=Gr(n);return r?dn(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=Gr(n);return r?dn(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};wn.prototype._nodeCount=0;wn.prototype._edgeCount=0;o(The,"incrementOrInitEntry");o(whe,"decrementOrRemoveEntry");o(kb,"edgeArgsToId");o(zHe,"edgeArgsToObj");o(RI,"edgeObjToId")});var Dl=O(()=>{"use strict";dS()});function khe(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function GHe(t,e){if(t!=="_next"&&t!=="_prev")return e}var mS,Ehe=O(()=>{"use strict";mS=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return khe(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&khe(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,GHe)),n=n._prev;return"["+e.join(", ")+"]"}};o(khe,"unlink");o(GHe,"filterOutLinks")});function She(t,e){if(t.nodeCount()<=1)return[];var r=UHe(t,e||VHe),n=qHe(r.graph,r.buckets,r.zeroIdx);return fn(lt(n,function(i){return t.outEdges(i.v,i.w)}))}function qHe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)LI(t,e,r,s);for(;s=i.dequeue();)LI(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){n=n.concat(LI(t,e,r,s,!0));break}}}return n}function LI(t,e,r,n,i){var a=i?[]:void 0;return Oe(t.inEdges(n.v),function(s){var l=t.edge(s),u=t.node(s.v);i&&a.push({v:s.v,w:s.w}),u.out-=l,NI(e,r,u)}),Oe(t.outEdges(n.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,NI(e,r,h)}),t.removeNode(n.v),a}function UHe(t,e){var r=new wn,n=0,i=0;Oe(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Oe(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=_l(i+n+3).map(function(){return new mS}),s=n+1;return Oe(r.nodes(),function(l){NI(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function NI(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var VHe,Che=O(()=>{"use strict";rr();Dl();Ehe();VHe=io(1);o(She,"greedyFAS");o(qHe,"doGreedyFAS");o(LI,"removeNode");o(UHe,"buildState");o(NI,"assignBucket")});function Ahe(t){var e=t.graph().acyclicer==="greedy"?She(t,r(t)):WHe(t);Oe(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,_0("rev"))});function r(n){return function(i){return n.edge(i).weight}}o(r,"weightFn")}function WHe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,Oe(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return o(i,"dfs"),Oe(t.nodes(),i),e}function _he(t){Oe(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}var MI=O(()=>{"use strict";rr();Che();o(Ahe,"run");o(WHe,"dfsFAS");o(_he,"undo")});function Tu(t,e,r,n){var i;do i=_0(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function Rhe(t){var e=new wn().setGraph(t.graph());return Oe(t.nodes(),function(r){e.setNode(r,t.node(r))}),Oe(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function gS(t){var e=new wn({multigraph:t.isMultigraph()}).setGraph(t.graph());return Oe(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Oe(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function II(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(s=-s),u=s,h=s*a/i),{x:r+u,y:n+h}}function ld(t){var e=lt(_l(PI(t)+1),function(){return[]});return Oe(t.nodes(),function(r){var n=t.node(r),i=n.rank;Dr(i)||(e[i][n.order]=r)}),e}function Lhe(t){var e=vc(lt(t.nodes(),function(r){return t.node(r).rank}));Oe(t.nodes(),function(r){var n=t.node(r);Gt(n,"rank")&&(n.rank-=e)})}function Nhe(t){var e=vc(lt(t.nodes(),function(a){return t.node(a).rank})),r=[];Oe(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;Oe(r,function(a,s){Dr(a)&&s%i!==0?--n:n&&Oe(a,function(l){t.node(l).rank+=n})})}function OI(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Tu(t,"border",i,e)}function PI(t){return mo(lt(t.nodes(),function(e){var r=t.node(e).rank;if(!Dr(r))return r}))}function Mhe(t,e){var r={lhs:[],rhs:[]};return Oe(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function Ihe(t,e){var r=JE();try{return e()}finally{console.log(t+" time: "+(JE()-r)+"ms")}}function Ohe(t,e){return e()}var wu=O(()=>{"use strict";rr();Dl();o(Tu,"addDummyNode");o(Rhe,"simplify");o(gS,"asNonCompoundGraph");o(II,"intersectRect");o(ld,"buildLayerMatrix");o(Lhe,"normalizeRanks");o(Nhe,"removeEmptyRanks");o(OI,"addBorderNode");o(PI,"maxRank");o(Mhe,"partition");o(Ihe,"time");o(Ohe,"notime")});function Bhe(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&Oe(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a{"use strict";rr();wu();o(Bhe,"addBorderSegments");o(Phe,"addBorderNode")});function zhe(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&Vhe(t)}function Ghe(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&HHe(t),(e==="lr"||e==="rl")&&(YHe(t),Vhe(t))}function Vhe(t){Oe(t.nodes(),function(e){$he(t.node(e))}),Oe(t.edges(),function(e){$he(t.edge(e))})}function $he(t){var e=t.width;t.width=t.height,t.height=e}function HHe(t){Oe(t.nodes(),function(e){BI(t.node(e))}),Oe(t.edges(),function(e){var r=t.edge(e);Oe(r.points,BI),Object.prototype.hasOwnProperty.call(r,"y")&&BI(r)})}function BI(t){t.y=-t.y}function YHe(t){Oe(t.nodes(),function(e){FI(t.node(e))}),Oe(t.edges(),function(e){var r=t.edge(e);Oe(r.points,FI),Object.prototype.hasOwnProperty.call(r,"x")&&FI(r)})}function FI(t){var e=t.x;t.x=t.y,t.y=e}var qhe=O(()=>{"use strict";rr();o(zhe,"adjust");o(Ghe,"undo");o(Vhe,"swapWidthHeight");o($he,"swapWidthHeightOne");o(HHe,"reverseY");o(BI,"reverseYOne");o(YHe,"swapXY");o(FI,"swapXYOne")});function Uhe(t){t.graph().dummyChains=[],Oe(t.edges(),function(e){XHe(t,e)})}function XHe(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h=void 0,f,d;for(d=0,++n;n{"use strict";rr();wu();o(Uhe,"run");o(XHe,"normalizeEdge");o(Whe,"undo")});function Eb(t){var e={};function r(n){var i=t.node(n);if(Object.prototype.hasOwnProperty.call(e,n))return i.rank;e[n]=!0;var a=vc(lt(t.outEdges(n),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}o(r,"dfs"),Oe(t.sources(),r)}function R0(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var yS=O(()=>{"use strict";rr();o(Eb,"longestPath");o(R0,"slack")});function vS(t){var e=new wn({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;KHe(e,t){"use strict";rr();Dl();yS();o(vS,"feasibleTree");o(KHe,"tightTree");o(QHe,"findMinSlackEdge");o(ZHe,"shiftRanks")});var Yhe=O(()=>{"use strict"});var GI=O(()=>{"use strict"});var msr,VI=O(()=>{"use strict";rr();GI();msr=io(1)});var jhe=O(()=>{"use strict";VI()});var qI=O(()=>{"use strict"});var Xhe=O(()=>{"use strict";qI()});var Csr,Khe=O(()=>{"use strict";rr();Csr=io(1)});function UI(t){var e={},r={},n=[];function i(a){if(Object.prototype.hasOwnProperty.call(r,a))throw new Sb;Object.prototype.hasOwnProperty.call(e,a)||(r[a]=!0,e[a]=!0,Oe(t.predecessors(a),i),delete r[a],n.push(a))}if(o(i,"visit"),Oe(t.sinks(),i),_I(e)!==t.nodeCount())throw new Sb;return n}function Sb(){}var WI=O(()=>{"use strict";rr();UI.CycleException=Sb;o(UI,"topsort");o(Sb,"CycleException");Sb.prototype=new Error});var Qhe=O(()=>{"use strict";WI()});function xS(t,e,r){zt(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return Oe(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);Zhe(t,s,r==="post",a,n,i)}),i}function Zhe(t,e,r,n,i,a){Object.prototype.hasOwnProperty.call(n,e)||(n[e]=!0,r||a.push(e),Oe(i(e),function(s){Zhe(t,s,r,n,i,a)}),r&&a.push(e))}var HI=O(()=>{"use strict";rr();o(xS,"dfs");o(Zhe,"doDfs")});function YI(t,e){return xS(t,e,"post")}var Jhe=O(()=>{"use strict";HI();o(YI,"postorder")});function jI(t,e){return xS(t,e,"pre")}var efe=O(()=>{"use strict";HI();o(jI,"preorder")});var tfe=O(()=>{"use strict";GI();dS()});var rfe=O(()=>{"use strict";Yhe();VI();jhe();Xhe();Khe();Qhe();Jhe();efe();tfe();qI();WI()});function ud(t){t=Rhe(t),Eb(t);var e=vS(t);KI(e),XI(e,t);for(var r,n;r=sfe(e);)n=ofe(e,t,r),lfe(e,t,r,n)}function XI(t,e){var r=YI(t,t.nodes());r=r.slice(0,r.length-1),Oe(r,function(n){nYe(t,e,n)})}function nYe(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=ife(t,e,r)}function ife(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),l=0;return s||(a=!1,s=e.edge(i,r)),l=s.weight,Oe(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,aYe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function KI(t,e){arguments.length<2&&(e=t.nodes()[0]),afe(t,{},1,e)}function afe(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,Oe(t.neighbors(n),function(l){Object.prototype.hasOwnProperty.call(e,l)||(r=afe(t,e,r,l,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function sfe(t){return Ls(t.edges(),function(e){return t.edge(e).cutvalue<0})}function ofe(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),s=t.node(i),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=dn(e.edges(),function(f){return u===nfe(t,t.node(f.v),l)&&u!==nfe(t,t.node(f.w),l)});return C0(h,function(f){return R0(e,f)})}function lfe(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),KI(t),XI(t,e),iYe(t,e)}function iYe(t,e){var r=Ls(t.nodes(),function(i){return!e.node(i).parent}),n=jI(t,r);n=n.slice(1),Oe(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),l=!1;s||(s=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function aYe(t,e,r){return t.hasEdge(e,r)}function nfe(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var cfe=O(()=>{"use strict";rr();rfe();wu();zI();yS();ud.initLowLimValues=KI;ud.initCutValues=XI;ud.calcCutValue=ife;ud.leaveEdge=sfe;ud.enterEdge=ofe;ud.exchangeEdges=lfe;o(ud,"networkSimplex");o(XI,"initCutValues");o(nYe,"assignCutValue");o(ife,"calcCutValue");o(KI,"initLowLimValues");o(afe,"dfsAssignLowLim");o(sfe,"leaveEdge");o(ofe,"enterEdge");o(lfe,"exchangeEdges");o(iYe,"updateRanks");o(aYe,"isTreeEdge");o(nfe,"isDescendant")});function QI(t){switch(t.graph().ranker){case"network-simplex":ufe(t);break;case"tight-tree":oYe(t);break;case"longest-path":sYe(t);break;default:ufe(t)}}function oYe(t){Eb(t),vS(t)}function ufe(t){ud(t)}var sYe,ZI=O(()=>{"use strict";zI();cfe();yS();o(QI,"rank");sYe=Eb;o(oYe,"tightTreeRanker");o(ufe,"networkSimplexRanker")});function hfe(t){var e=Tu(t,"root",{},"_root"),r=lYe(t),n=mo(Gr(r))-1,i=2*n+1;t.graph().nestingRoot=e,Oe(t.edges(),function(s){t.edge(s).minlen*=i});var a=cYe(t)+1;Oe(t.children(),function(s){ffe(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function ffe(t,e,r,n,i,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=OI(t,"_bt"),h=OI(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Oe(l,function(d){ffe(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:i+a[s]})}function lYe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&Oe(a,function(s){r(s,i+1)}),e[n]=i}return o(r,"dfs"),Oe(t.children(),function(n){r(n,1)}),e}function cYe(t){return pn(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function dfe(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Oe(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var pfe=O(()=>{"use strict";rr();wu();o(hfe,"run");o(ffe,"dfs");o(lYe,"treeDepths");o(cYe,"sumWeights");o(dfe,"cleanup")});function mfe(t,e,r){var n={},i;Oe(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=n[l],n[l]=s):(u=i,i=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var gfe=O(()=>{"use strict";rr();o(mfe,"addSubgraphConstraints")});function yfe(t,e,r){var n=hYe(t),i=new wn({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return Oe(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,l||n),Oe(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=Dr(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function hYe(t){for(var e;t.hasNode(e=_0("_root")););return e}var vfe=O(()=>{"use strict";rr();Dl();o(yfe,"buildLayerGraph");o(hYe,"createRootNode")});function xfe(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var bfe=O(()=>{"use strict";rr();o(xfe,"crossCount");o(fYe,"twoLayerCrossCount")});function Tfe(t){var e={},r=dn(t.nodes(),function(l){return!t.children(l).length}),n=mo(lt(r,function(l){return t.node(l).rank})),i=lt(_l(n+1),function(){return[]});function a(l){if(!Gt(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),Oe(t.successors(l),a)}}o(a,"dfs");var s=bu(r,function(l){return t.node(l).rank});return Oe(s,a),i}var wfe=O(()=>{"use strict";rr();o(Tfe,"initOrder")});function kfe(t,e){return lt(e,function(r){var n=t.inEdges(r);if(n.length){var i=pn(n,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var Efe=O(()=>{"use strict";rr();o(kfe,"barycenter")});function Sfe(t,e){var r={};Oe(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Dr(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),Oe(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Dr(a)&&!Dr(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=dn(r,function(i){return!i.indegree});return dYe(n)}function dYe(t){var e=[];function r(a){return function(s){s.merged||(Dr(s.barycenter)||Dr(a.barycenter)||s.barycenter>=a.barycenter)&&pYe(a,s)}}o(r,"handleIn");function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(n,"handleOut");t.length;){var i=t.pop();e.push(i),Oe(i.in.reverse(),r(i)),Oe(i.out,n(i))}return lt(dn(e,function(a){return!a.merged}),function(a){return A0(a,["vs","i","barycenter","weight"])})}function pYe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var Cfe=O(()=>{"use strict";rr();o(Sfe,"resolveConflicts");o(dYe,"doResolveConflicts");o(pYe,"mergeEntries")});function _fe(t,e){var r=Mhe(t,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),n=r.lhs,i=bu(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;n.sort(mYe(!!e)),u=Afe(a,i,u),Oe(n,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=Afe(a,i,u)});var h={vs:fn(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function Afe(t,e,r){for(var n;e.length&&(n=ba(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function mYe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var Dfe=O(()=>{"use strict";rr();wu();o(_fe,"sort");o(Afe,"consumeUnsortable");o(mYe,"compareWithBias")});function JI(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(i=dn(i,function(g){return g!==s&&g!==l}));var h=kfe(t,i);Oe(h,function(g){if(t.children(g.v).length){var y=JI(t,g.v,r,n);u[g.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter")&&yYe(g,y)}});var f=Sfe(h,r);gYe(f,u);var d=_fe(f,n);if(s&&(d.vs=fn([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function gYe(t,e){Oe(t,function(r){r.vs=fn(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function yYe(t,e){Dr(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var Rfe=O(()=>{"use strict";rr();Efe();Cfe();Dfe();o(JI,"sortSubgraph");o(gYe,"expandSubgraphs");o(yYe,"mergeBarycenters")});function Mfe(t){var e=PI(t),r=Lfe(t,_l(1,e+1),"inEdges"),n=Lfe(t,_l(e-1,-1,-1),"outEdges"),i=Tfe(t);Nfe(t,i);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){vYe(l%2?r:n,l%4>=2),i=ld(t);var h=xfe(t,i);h{"use strict";rr();Dl();wu();gfe();vfe();bfe();wfe();Rfe();o(Mfe,"order");o(Lfe,"buildLayerGraphs");o(vYe,"sweepLayerGraphs");o(Nfe,"assignOrder")});function Ofe(t){var e=bYe(t);Oe(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=xYe(t,e,i.v,i.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function bYe(t){var e={},r=0;function n(i){var a=r;Oe(t.children(i),n),e[i]={low:a,lim:r++}}return o(n,"dfs"),Oe(t.children(),n),e}var Pfe=O(()=>{"use strict";rr();o(Ofe,"parentDummyChains");o(xYe,"findPath");o(bYe,"postorder")});function TYe(t,e){var r={};function n(i,a){var s=0,l=0,u=i.length,h=ba(a);return Oe(a,function(f,d){var p=kYe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Oe(a.slice(l,d+1),function(g){Oe(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&Bfe(r,p,f)})})}o(n,"scan");function i(a,s){var l=-1,u,h=0;return Oe(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(s,h,d,l,u),h=d,l=u)}n(s,h,s.length,u,a.length)}),s}return o(i,"visitLayer"),pn(e,i),r}function kYe(t,e){if(t.node(e).dummy)return Ls(t.predecessors(e),function(r){return t.node(r).dummy})}function Bfe(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function EYe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function SYe(t,e,r,n){var i={},a={},s={};return Oe(e,function(l){Oe(l,function(u,h){i[u]=u,a[u]=u,s[u]=h})}),Oe(e,function(l){var u=-1;Oe(l,function(h){var f=n(h);if(f.length){f=bu(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";rr();Dl();wu();o(TYe,"findType1Conflicts");o(wYe,"findType2Conflicts");o(kYe,"findOtherInnerSegmentNode");o(Bfe,"addConflict");o(EYe,"hasConflict");o(SYe,"verticalAlignment");o(CYe,"horizontalCompaction");o(AYe,"buildBlockGraph");o(_Ye,"findSmallestWidthAlignment");o(DYe,"alignCoordinates");o(RYe,"balance");o(Ffe,"positionX");o(LYe,"sep");o(NYe,"width")});function zfe(t){t=gS(t),MYe(t),xI(Ffe(t),function(e,r){t.node(r).x=e})}function MYe(t){var e=ld(t),r=t.graph().ranksep,n=0;Oe(e,function(i){var a=mo(lt(i,function(s){return t.node(s).height}));Oe(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}var Gfe=O(()=>{"use strict";rr();wu();$fe();o(zfe,"position");o(MYe,"positionY")});function Cb(t,e){var r=e&&e.debugTiming?Ihe:Ohe;r("layout",()=>{var n=r(" buildLayoutGraph",()=>UYe(t));r(" runLayout",()=>IYe(n,r)),r(" updateInputGraph",()=>OYe(t,n))})}function IYe(t,e){e(" makeSpaceForEdgeLabels",()=>WYe(t)),e(" removeSelfEdges",()=>eje(t)),e(" acyclic",()=>Ahe(t)),e(" nestingGraph.run",()=>hfe(t)),e(" rank",()=>QI(gS(t))),e(" injectEdgeLabelProxies",()=>HYe(t)),e(" removeEmptyRanks",()=>Nhe(t)),e(" nestingGraph.cleanup",()=>dfe(t)),e(" normalizeRanks",()=>Lhe(t)),e(" assignRankMinMax",()=>YYe(t)),e(" removeEdgeLabelProxies",()=>jYe(t)),e(" normalize.run",()=>Uhe(t)),e(" parentDummyChains",()=>Ofe(t)),e(" addBorderSegments",()=>Bhe(t)),e(" order",()=>Mfe(t)),e(" insertSelfEdges",()=>tje(t)),e(" adjustCoordinateSystem",()=>zhe(t)),e(" position",()=>zfe(t)),e(" positionSelfEdges",()=>rje(t)),e(" removeBorderNodes",()=>JYe(t)),e(" normalize.undo",()=>Whe(t)),e(" fixupEdgeLabelCoords",()=>QYe(t)),e(" undoCoordinateSystem",()=>Ghe(t)),e(" translateGraph",()=>XYe(t)),e(" assignNodeIntersects",()=>KYe(t)),e(" reversePoints",()=>ZYe(t)),e(" acyclic.undo",()=>_he(t))}function OYe(t,e){Oe(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),Oe(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function UYe(t){var e=new wn({multigraph:!0,compound:!0}),r=tO(t.graph());return e.setGraph(Hf({},BYe,eO(r,PYe),A0(r,FYe))),Oe(t.nodes(),function(n){var i=tO(t.node(n));e.setNode(n,ad(eO(i,$Ye),zYe)),e.setParent(n,t.parent(n))}),Oe(t.edges(),function(n){var i=tO(t.edge(n));e.setEdge(n,Hf({},VYe,eO(i,GYe),A0(i,qYe)))}),e}function WYe(t){var e=t.graph();e.ranksep/=2,Oe(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function HYe(t){Oe(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Tu(t,"edge-proxy",a,"_ep")}})}function YYe(t){var e=0;Oe(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=mo(e,n.maxRank))}),t.graph().maxRank=e}function jYe(t){Oe(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function XYe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}o(u,"getExtremes"),Oe(t.nodes(),function(h){u(t.node(h))}),Oe(t.edges(),function(h){var f=t.edge(h);Object.prototype.hasOwnProperty.call(f,"x")&&u(f)}),e-=s,n-=l,Oe(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),Oe(t.edges(),function(h){var f=t.edge(h);Oe(f.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=e),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=n)}),a.width=r-e+s,a.height=i-n+l}function KYe(t){Oe(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(II(n,a)),r.points.push(II(i,s))})}function QYe(t){Oe(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function ZYe(t){Oe(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function JYe(t){Oe(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(ba(r.borderLeft)),s=t.node(ba(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),Oe(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function eje(t){Oe(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function tje(t){var e=ld(t);Oe(e,function(r){var n=0;Oe(r,function(i,a){var s=t.node(i);s.order=a+n,Oe(s.selfEdges,function(l){Tu(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function rje(t){Oe(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-l},{x:i+5*s/6,y:a-l},{x:i+s,y:a},{x:i+5*s/6,y:a+l},{x:i+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function eO(t,e){return S0(A0(t,e),Number)}function tO(t){var e={};return Oe(t,function(r,n){e[n.toLowerCase()]=r}),e}var PYe,BYe,FYe,$Ye,zYe,GYe,VYe,qYe,Vfe=O(()=>{"use strict";rr();Dl();Fhe();qhe();MI();$I();ZI();pfe();Ife();Pfe();Gfe();wu();o(Cb,"layout");o(IYe,"runLayout");o(OYe,"updateInputGraph");PYe=["nodesep","edgesep","ranksep","marginx","marginy"],BYe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},FYe=["acyclicer","ranker","rankdir","align"],$Ye=["width","height"],zYe={width:0,height:0},GYe=["minlen","weight","width","height","labeloffset"],VYe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},qYe=["labelpos"];o(UYe,"buildLayoutGraph");o(WYe,"makeSpaceForEdgeLabels");o(HYe,"injectEdgeLabelProxies");o(YYe,"assignRankMinMax");o(jYe,"removeEdgeLabelProxies");o(XYe,"translateGraph");o(KYe,"assignNodeIntersects");o(QYe,"fixupEdgeLabelCoords");o(ZYe,"reversePointsForReversedEdges");o(JYe,"removeBorderNodes");o(eje,"removeSelfEdges");o(tje,"insertSelfEdges");o(rje,"positionSelfEdges");o(eO,"selectNumberAttrs");o(tO,"canonicalize")});var rO=O(()=>{"use strict";MI();Vfe();$I();ZI()});function Rl(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:nje(t),edges:ije(t)};return Dr(t.graph())||(e.value=Tn(t.graph())),e}function nje(t){return lt(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Dr(r)||(i.value=r),Dr(n)||(i.parent=n),i})}function ije(t){return lt(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Dr(e.name)||(n.name=e.name),Dr(r)||(n.value=r),n})}var nO=O(()=>{"use strict";rr();dS();o(Rl,"write");o(nje,"writeNodes");o(ije,"writeEdges")});var Vr,L0,Wfe,Hfe,bS,aje,Yfe,jfe,sje,B1,Ufe,Xfe,Kfe,Qfe,Zfe,Jfe=O(()=>{"use strict";xt();Dl();nO();Vr=new Map,L0=new Map,Wfe=new Map,Hfe=o(()=>{L0.clear(),Wfe.clear(),Vr.clear()},"clear"),bS=o((t,e)=>{let r=L0.get(e)||[];return K.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),aje=o((t,e)=>{let r=L0.get(e)||[];return K.info("Descendants of ",e," is ",r),K.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||bS(t.v,e)||bS(t.w,e)||r.includes(t.w):(K.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Yfe=o((t,e,r,n)=>{K.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),K.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Yfe(a,e,r,n);else{let s=e.node(a);K.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(K.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(K.debug("Setting parent",a,t),r.setParent(a,t)):(K.info("In copy ",t,"root",n,"data",e.node(t),n),K.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);K.debug("Copying Edges",l),l.forEach(u=>{K.info("Edge",u);let h=e.edge(u.v,u.w,u.name);K.info("Edge data",h,n);try{aje(u,n)?(K.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),K.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):K.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){K.error(f)}})}K.debug("Removing node",a),e.removeNode(a)})},"copy"),jfe=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)Wfe.set(i,t),n=[...n,...jfe(i,e)];return n},"extractDescendants"),sje=o((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),B1=o((t,e,r)=>{let n=e.children(t);if(K.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let s=B1(a,e,r),l=sje(e,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),Ufe=o(t=>!Vr.has(t)||!Vr.get(t).externalConnections?t:Vr.has(t)?Vr.get(t).id:t,"getAnchorId"),Xfe=o((t,e)=>{if(!t||e>10){K.debug("Opting out, no graph ");return}else K.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(K.warn("Cluster identified",r," Replacement id in edges: ",B1(r,t,r)),L0.set(r,jfe(r,t)),Vr.set(r,{id:B1(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(K.debug("Cluster identified",r,L0),i.forEach(a=>{let s=bS(a.v,r),l=bS(a.w,r);s^l&&(K.warn("Edge: ",a," leaves cluster ",r),K.warn("Descendants of XXX ",r,": ",L0.get(r)),Vr.get(r).externalConnections=!0)})):K.debug("Not a cluster ",r,L0)});for(let r of Vr.keys()){let n=Vr.get(r).id,i=t.parent(n);i!==r&&Vr.has(i)&&!Vr.get(i).externalConnections&&(Vr.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);K.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),K.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(K.warn("Fix XXX",Vr,"ids:",r.v,r.w,"Translating: ",Vr.get(r.v)," --- ",Vr.get(r.w)),Vr.get(r.v)||Vr.get(r.w)){if(K.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Ufe(r.v),a=Ufe(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);Vr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);Vr.get(s).externalConnections=!0,n.toCluster=r.w}K.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),K.warn("Adjusted Graph",Rl(t)),Kfe(t,0),K.trace(Vr)},"adjustClustersAndEdges"),Kfe=o((t,e)=>{if(K.warn("extractor - ",e,Rl(t),t.children("D")),e>10){K.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){K.debug("Done, no node has children",t.nodes());return}K.debug("Nodes = ",r,e);for(let i of r)if(K.debug("Extracting node",i,Vr,Vr.has(i)&&!Vr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Vr.has(i))K.debug("Not a cluster",i,e);else if(!Vr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){K.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Vr.get(i)?.clusterData?.dir&&(s=Vr.get(i).clusterData.dir,K.warn("Fixing dir",Vr.get(i).clusterData.dir,s));let l=new wn({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});K.warn("Old graph before copy",Rl(t)),Yfe(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Vr.get(i).clusterData,label:Vr.get(i).label,graph:l}),K.warn("New graph after copy node: (",i,")",Rl(l)),K.debug("Old graph after copy",Rl(t))}else K.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Vr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),K.debug(Vr);r=t.nodes(),K.warn("New list of nodes",r);for(let i of r){let a=t.node(i);K.warn(" Now next level",i,a),a?.clusterNode&&Kfe(a.graph,e+1)}},"extractor"),Qfe=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=Qfe(t,i);r=[...r,...a]}),r},"sorter"),Zfe=o(t=>Qfe(t,t.children()),"sortNodesByHierarchy")});var tde={};vr(tde,{render:()=>oje});var ede,oje,rde=O(()=>{"use strict";rO();nO();Dl();GM();$t();Jfe();yE();oE();zM();xt();gb();jt();ede=o(async(t,e,r,n,i,a)=>{K.warn("Graph in recursive render:XAX",Rl(e),i);let s=e.graph().rankdir;K.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?K.info("Recursive render XXX",e.nodes()):K.info("No nodes found for",e),e.edges().length>0&&K.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));K.trace(`Setting data for parent cluster XXX Node.id = `,y,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(X.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(X.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){X.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let T=await gfe(d,v.graph,r,n,e.node(y),a),E=T.elem;Ze(v,E),v.diff=T.diff||0,X.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),Ose(E,v)}else e.children(y).length>0?(X.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),X.trace(D1(v.id,e)),Lr.set(v.id,{id:D1(v.id,e),node:v})):(X.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await c1(d,e.node(y),{config:a,dir:s}))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);X.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),X.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),X.info("Fix",Lr,"ids:",v.v,v.w,"Translating: ",Lr.get(v.v),Lr.get(v.w)),await Jk(f,x)});await Promise.all(y)},"processEdges")(),X.info("Graph before layout:",JSON.stringify(kl(e))),X.info("############################################# XXX"),X.info("### Layout ### XXX"),X.info("############################################# XXX"),pb(e),X.info("Graph after layout:",JSON.stringify(kl(e)));let m=0,{subGraphTitleTotalMargin:g}=Eh(a);return await Promise.all(pfe(e).map(async function(y){let v=e.node(y);if(X.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,X.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Lr.get(v.id).node=v,sb(v);else if(e.children(y).length>0){X.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,T=b-x||0;X.debug("OffsetY",T,"labelHeight",b,"halfPadding",x),await l1(u,v),Lr.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,X.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),sb(v)}})),e.edges().forEach(function(y){let v=e.edge(y);X.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(E=>E.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let T=tS(h,v,Lr,r,x,b,n);eS(v,T)}),e.nodes().forEach(function(y){let v=e.node(y);X.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),X.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),kHe=o(async(t,e)=>{let r=new vn({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");rS(n,t.markers,t.type,t.diagramId),Pse(),Ise(),Ase(),lfe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),X.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",p.arrowTypeStart="none",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:o(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,l=!1;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return s=u.done,u},"n"),e:o(function(u){l=!0,a=u},"e"),f:o(function(){try{s||r.return==null||r.return()}finally{if(l)throw a}},"f")}}function Ype(t,e,r){return(e=jpe(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function AHe(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function _He(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,l=[],u=!0,h=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(f){h=!0,i=f}finally{try{if(!u&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(h)throw i}}return l}}function DHe(){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 RHe(){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 Vi(t,e){return SHe(t)||_He(t,e)||FP(t,e)||DHe()}function NE(t){return EHe(t)||AHe(t)||FP(t)||RHe()}function LHe(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function jpe(t){var e=LHe(t,"string");return typeof e=="symbol"?e:e+""}function ea(t){"@babel/helpers - typeof";return ea=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},ea(t)}function FP(t,e){if(t){if(typeof t=="string")return vP(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vP(t,e):void 0}}function zb(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Gb(){if(Tfe)return VI;Tfe=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return o(t,"isObject"),VI=t,VI}function eYe(){if(wfe)return qI;wfe=1;var t=typeof lE=="object"&&lE&&lE.Object===Object&≦return qI=t,qI}function YE(){if(kfe)return UI;kfe=1;var t=eYe(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return UI=r,UI}function tYe(){if(Sfe)return WI;Sfe=1;var t=YE(),e=o(function(){return t.Date.now()},"now");return WI=e,WI}function rYe(){if(Efe)return HI;Efe=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return o(e,"trimmedEndIndex"),HI=e,HI}function nYe(){if(Cfe)return YI;Cfe=1;var t=rYe(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return o(r,"baseTrim"),YI=r,YI}function GP(){if(Afe)return jI;Afe=1;var t=YE(),e=t.Symbol;return jI=e,jI}function iYe(){if(_fe)return XI;_fe=1;var t=GP(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,i=t?t.toStringTag:void 0;function a(s){var l=r.call(s,i),u=s[i];try{s[i]=void 0;var h=!0}catch{}var f=n.call(s);return h&&(l?s[i]=u:delete s[i]),f}return o(a,"getRawTag"),XI=a,XI}function aYe(){if(Dfe)return KI;Dfe=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return o(r,"objectToString"),KI=r,KI}function n0e(){if(Rfe)return QI;Rfe=1;var t=GP(),e=iYe(),r=aYe(),n="[object Null]",i="[object Undefined]",a=t?t.toStringTag:void 0;function s(l){return l==null?l===void 0?i:n:a&&a in Object(l)?e(l):r(l)}return o(s,"baseGetTag"),QI=s,QI}function sYe(){if(Lfe)return ZI;Lfe=1;function t(e){return e!=null&&typeof e=="object"}return o(t,"isObjectLike"),ZI=t,ZI}function Vb(){if(Nfe)return JI;Nfe=1;var t=n0e(),e=sYe(),r="[object Symbol]";function n(i){return typeof i=="symbol"||e(i)&&t(i)==r}return o(n,"isSymbol"),JI=n,JI}function oYe(){if(Mfe)return eO;Mfe=1;var t=nYe(),e=Gb(),r=Vb(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,l=parseInt;function u(h){if(typeof h=="number")return h;if(r(h))return n;if(e(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=e(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=t(h);var d=a.test(h);return d||s.test(h)?l(h.slice(2),d?2:8):i.test(h)?n:+h}return o(u,"toNumber"),eO=u,eO}function lYe(){if(Ife)return tO;Ife=1;var t=Gb(),e=tYe(),r=oYe(),n="Expected a function",i=Math.max,a=Math.min;function s(l,u,h){var f,d,p,m,g,y,v=0,x=!1,b=!1,T=!0;if(typeof l!="function")throw new TypeError(n);u=r(u)||0,t(h)&&(x=!!h.leading,b="maxWait"in h,p=b?i(r(h.maxWait)||0,u):p,T="trailing"in h?!!h.trailing:T);function E(A){var _=f,N=d;return f=d=void 0,v=A,m=l.apply(N,_),m}o(E,"invokeFunc");function w(A){return v=A,g=setTimeout(D,u),x?E(A):m}o(w,"leadingEdge");function k(A){var _=A-y,N=A-v,M=u-_;return b?a(M,p-N):M}o(k,"remainingWait");function C(A){var _=A-y,N=A-v;return y===void 0||_>=u||_<0||b&&N>=p}o(C,"shouldInvoke");function D(){var A=e();if(C(A))return R(A);g=setTimeout(D,k(A))}o(D,"timerExpired");function R(A){return g=void 0,T&&f?E(A):(f=d=void 0,m)}o(R,"trailingEdge");function O(){g!==void 0&&clearTimeout(g),v=0,f=y=d=g=void 0}o(O,"cancel");function L(){return g===void 0?m:R(e())}o(L,"flush");function S(){var A=e(),_=C(A);if(f=arguments,d=this,y=A,_){if(g===void 0)return w(y);if(b)return clearTimeout(g),g=setTimeout(D,u),E(y)}return g===void 0&&(g=setTimeout(D,u)),m}return o(S,"debounced"),S.cancel=O,S.flush=L,S}return o(s,"debounce"),tO=s,tO}function dYe(t,e,r,n,i){var a=i*Math.PI/180,s=Math.cos(a)*(t-r)-Math.sin(a)*(e-n)+r,l=Math.sin(a)*(t-r)+Math.cos(a)*(e-n)+n;return{x:s,y:l}}function mYe(t,e,r){if(r===0)return t;var n=(e.x1+e.x2)/2,i=(e.y1+e.y2)/2,a=e.w/e.h,s=1/a,l=dYe(t.x,t.y,n,i,r),u=pYe(l.x,l.y,n,i,a,s);return{x:u.x,y:u.y}}function CYe(){return $fe||($fe=1,(function(t,e){(function(){var r,n,i,a,s,l,u,h,f,d,p,m,g,y,v;i=Math.floor,d=Math.min,n=o(function(x,b){return xb?1:0},"defaultCmp"),f=o(function(x,b,T,E,w){var k;if(T==null&&(T=0),w==null&&(w=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TO;0<=O?R++:R--)D.push(R);return D}).apply(this).reverse(),C=[],E=0,w=k.length;EL;0<=L?++D:--D)S.push(s(x,T));return S},"nsmallest"),y=o(function(x,b,T,E){var w,k,C;for(E==null&&(E=n),w=x[T];T>b;){if(C=T-1>>1,k=x[C],E(w,k)<0){x[T]=k,T=C;continue}break}return x[T]=w},"_siftdown"),v=o(function(x,b,T){var E,w,k,C,D;for(T==null&&(T=n),w=x.length,D=b,k=x[b],E=2*b+1;E-1}return o(e,"listCacheHas"),RO=e,RO}function xXe(){if(Cde)return LO;Cde=1;var t=JE();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return o(e,"listCacheSet"),LO=e,LO}function bXe(){if(Ade)return NO;Ade=1;var t=mXe(),e=gXe(),r=yXe(),n=vXe(),i=xXe();function a(s){var l=-1,u=s==null?0:s.length;for(this.clear();++l-1&&n%1==0&&n0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function I0e(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:RKe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?S=_:L=_;while(Math.abs(A)>s&&++N=a?b(O,N):M===0?N:E(O,L,L+h)}o(w,"getTForX");var k=!1;function C(){k=!0,(t!==e||r!==n)&&T()}o(C,"precompute");var D=o(function(L){return k||C(),t===e&&r===n?L:L===0?0:L===1?1:v(w(L),e,n)},"f");D.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var R="generateBezier("+[t,e,r,n]+")";return D.toString=function(){return R},D}function gpe(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function ype(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function N1(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=ype(t,i),l=ype(e,i);if(Rt(s)&&Rt(l))return gpe(a,s,l,r,n);if(Pn(s)&&Pn(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=CE[m].apply(null,g)):s.easingImpl=CE[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var T={};vb(x.x,b.x)&&(T.x=N1(x.x,b.x,v,y)),vb(x.y,b.y)&&(T.y=N1(x.y,b.y,v,y)),t.position(T)}var E=s.startPan,w=s.pan,k=a.pan,C=w!=null&&n;C&&(vb(E.x,w.x)&&(k.x=N1(E.x,w.x,v,y)),vb(E.y,w.y)&&(k.y=N1(E.y,w.y,v,y)),t.emit("pan"));var D=s.startZoom,R=s.zoom,O=R!=null&&n;O&&(vb(D,R)&&(a.zoom=Lb(a.minZoom,N1(D,R,v,y),a.maxZoom)),t.emit("zoom")),(C||O)&&t.emit("viewport");var L=s.style;if(L&&L.length>0&&i){for(var S=0;S=0;C--){var D=k[C];D()}k.splice(0,k.length)},"callbacks"),b=m.length-1;b>=0;b--){var T=m[b],E=T._private;if(E.stopped){m.splice(b,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||UKe(f,T,t),qKe(f,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(m.splice(b,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}o(i,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function Z0e(t){this.options=cr({},ZKe,JKe,t)}function J0e(t){this.options=cr({},eQe,t)}function eme(t){this.options=cr({},tQe,t)}function oC(t){this.options=cr({},rQe,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),s=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(n)}function ime(t){this.options=cr({},yQe,t)}function nB(t){this.options=cr({},vQe,t)}function ame(t){this.options=cr({},xQe,t)}function sme(t){this.options=cr({},bQe,t)}function ome(t){this.options=t,this.notifications=0}function ume(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function aB(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(kQe(t,e,r,n,i),{cx:DP,cy:RP,radius:M0,startX:lme,startY:cme,stopX:LP,stopY:NP,startAngle:vu.ang+Math.PI/2*O0,endAngle:Sl.ang-Math.PI/2*O0,counterClockwise:DE})}function hme(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}function Fpe(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function fZe(t,e,r){var n=Fpe(t,t.VERTEX_SHADER,e),i=Fpe(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function dZe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function lB(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function pZe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function mZe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function gZe(t){return t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function yZe(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function vZe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function xZe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function Sme(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function Eme(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function bZe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function TZe(t,e,r,n){var i=Sme(t,e),a=Vi(i,2),s=a[0],l=a[1],u=Eme(t,l,n),h=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,u,t.STATIC_DRAW),l===t.FLOAT?t.vertexAttribPointer(r,s,l,!1,0,0):l===t.INT&&t.vertexAttribIPointer(r,s,l,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),h}function yu(t,e,r,n){var i=Sme(t,r),a=Vi(i,3),s=a[0],l=a[1],u=a[2],h=Eme(t,l,e*s),f=s*u,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*f,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),l===t.FLOAT?t.vertexAttribPointer(n,s,l,!1,f,0):l===t.INT&&t.vertexAttribIPointer(n,s,l,f,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var p=new Array(e),m=0;mxme?(FZe(t),e.call(t,a)):($Ze(t),Dme(t,a,Ab.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,l,u){return WZe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function FZe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function $Ze(t){var e=o(function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()},"clear");e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function zZe(t){var e=t.canvasWidth,r=t.canvasHeight,n=lB(t),i=n.pan,a=n.zoom,s=fP();LE(s,s,[i.x,i.y]),IP(s,s,[a,a]);var l=fP();EZe(l,e,r);var u=fP();return SZe(u,l,s),u}function _me(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=lB(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function GZe(t,e){t.drawSelectionRectangle(e,function(r){return _me(t,r)})}function VZe(t){var e=t.data.contexts[t.NODE];e.save(),_me(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function qZe(t){var e=o(function(i,a,s){for(var l=i.atlasManager.getAtlasCollection(a),u=t.data.contexts[t.NODE],h=l.atlases,f=0;f=0&&E.add(C)}return E}function WZe(t,e,r){var n=UZe(t,e,r),i=t.getCachedZSortedEles(),a,s,l=po(n),u;try{for(l.s();!(u=l.n()).done;){var h=u.value,f=i[h];if(!a&&f.isNode()&&(a=f),!s&&f.isEdge()&&(s=f),a&&s)break}}catch(d){l.e(d)}finally{l.f()}return[a,s].filter(Boolean)}function yP(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function Dme(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&GZe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var l=zZe(t),u=t.getCachedZSortedEles();if(a=u.length,i.startFrame(l,r),r.screen){for(var h=0;h{"use strict";o(vP,"_arrayLikeToArray");o(SHe,"_arrayWithHoles");o(EHe,"_arrayWithoutHoles");o(Td,"_classCallCheck");o(CHe,"_defineProperties");o(wd,"_createClass");o(po,"_createForOfIteratorHelper");o(Ype,"_defineProperty$1");o(AHe,"_iterableToArray");o(_He,"_iterableToArrayLimit");o(DHe,"_nonIterableRest");o(RHe,"_nonIterableSpread");o(Vi,"_slicedToArray");o(NE,"_toConsumableArray");o(LHe,"_toPrimitive");o(jpe,"_toPropertyKey");o(ea,"_typeof");o(FP,"_unsupportedIterableToArray");Zi=typeof window>"u"?null:window,xfe=Zi?Zi.navigator:null;Zi&&Zi.document;NHe=ea(""),Xpe=ea({}),MHe=ea(function(){}),IHe=typeof HTMLElement>"u"?"undefined":ea(HTMLElement),Fb=o(function(e){return e&&e.instanceString&&xi(e.instanceString)?e.instanceString():null},"instanceStr"),nr=o(function(e){return e!=null&&ea(e)==NHe},"string"),xi=o(function(e){return e!=null&&ea(e)===MHe},"fn"),Pn=o(function(e){return!zo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),rn=o(function(e){return e!=null&&ea(e)===Xpe&&!Pn(e)&&e.constructor===Object},"plainObject"),OHe=o(function(e){return e!=null&&ea(e)===Xpe},"object"),Rt=o(function(e){return e!=null&&ea(e)===ea(1)&&!isNaN(e)},"number"),PHe=o(function(e){return Rt(e)&&Math.floor(e)===e},"integer"),ME=o(function(e){if(IHe!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),zo=o(function(e){return $b(e)||Kpe(e)},"elementOrCollection"),$b=o(function(e){return Fb(e)==="collection"&&e._private.single},"element"),Kpe=o(function(e){return Fb(e)==="collection"&&!e._private.single},"collection"),$P=o(function(e){return Fb(e)==="core"},"core"),Qpe=o(function(e){return Fb(e)==="stylesheet"},"stylesheet"),BHe=o(function(e){return Fb(e)==="event"},"event"),md=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),FHe=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),$He=o(function(e){return rn(e)&&Rt(e.x1)&&Rt(e.x2)&&Rt(e.y1)&&Rt(e.y2)},"boundingBox"),zHe=o(function(e){return OHe(e)&&xi(e.then)},"promise"),GHe=o(function(){return xfe&&xfe.userAgent.match(/msie|trident|edge/i)},"ms"),W1=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),jHe=o(function(e,r){return-1*Jpe(e,r)},"descending"),cr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+UHe+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),QHe=o(function(e){var r,n=new RegExp("^"+VHe+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),ZHe=o(function(e){return JHe[e.toLowerCase()]},"colorname2tuple"),e0e=o(function(e){return(Pn(e)?e:null)||ZHe(e)||XHe(e)||QHe(e)||KHe(e)},"color2tuple"),JHe={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]},t0e=o(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:I0,n=r,i;i=e.next(),!i.done;)n=n*a0e+i.value|0;return n},"hashIterableInts"),_b=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:I0;return r*a0e+e|0},"hashInt"),Db=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:B1;return(r<<5)+r+e|0},"hashIntAlt"),hYe=o(function(e,r){return e*2097152+r},"combineHashes"),od=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),cE=o(function(e,r){return[_b(e[0],r[0]),Db(e[1],r[1])]},"hashArrays"),Ofe=o(function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:o(function(){return i=0;i--)e[i]===r&&e.splice(i,1)},"removeFromArray"),UP=o(function(e){e.splice(0,e.length)},"clearArray"),TYe=o(function(e,r){for(var n=0;n"u"?"undefined":ea(Set))!==kYe?Set:SYe,jE=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!$P(e)){si("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){si("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new j1,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];Pn(r.classes)?h=r.classes:nr(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;f0;){var k=b.pop(),C=v(k),D=k.id();if(p[D]=C,C!==1/0)for(var R=k.neighborhood().intersect(g),O=0;O0)for(B.unshift(P);d[G];){var $=d[G];B.unshift($.edge),B.unshift($.node),F=$.node,G=F.id()}return l.spawn(B)},"pathTo")}},"dijkstra")},LYe={kruskal:o(function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),l=n,u=o(function(E){for(var w=0;w0;){if(w(),C++,E===f){for(var D=[],R=a,O=f,L=x[O];D.unshift(R),L!=null&&D.unshift(L),R=v[O],R!=null;)O=R.id(),L=x[O];return{found:!0,distance:d[E],path:this.spawn(D),steps:C}}m[E]=!0;for(var S=T._private.edges,A=0;AL&&(g[O]=L,b[O]=R,T[O]=w),!a){var S=R*f+D;!a&&g[S]>L&&(g[S]=L,b[S]=D,T[S]=w)}}}for(var A=0;A1&&arguments[1]!==void 0?arguments[1]:s,ye=T(j),$e=[],Xe=ye;;){if(Xe==null)return r.spawn();var Ue=b(Xe),Le=Ue.edge,Ie=Ue.pred;if($e.unshift(Xe[0]),Xe.same(Ge)&&$e.length>0)break;Le!=null&&$e.unshift(Le),Xe=Ie}return u.spawn($e)},"pathTo"),k=0;k=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=$Ye(a,e,r),n--}return r},"contractUntil"),zYe={kargerStein:o(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(B){return B.isLoop()});var a=n.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/FYe);if(a<2){si("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),HYe=o(function(e){return Math.PI*e/180},"deg2rad"),uE=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),WP=Math.log2||function(t){return Math.log(t)/Math.log(2)},HP=o(function(e){return e>0?1:e<0?-1:0},"signum"),F0=o(function(e,r){return Math.sqrt(N0(e,r))},"dist"),N0=o(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),YYe=o(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),XYe=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),KYe=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),QYe=o(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),d0e=o(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),wE=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),kE=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var l=Vi(r,4);n=l[0],i=l[1],a=l[2],s=l[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Gfe=o(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),YP=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),hd=o(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),Vfe=o(function(e,r){return hd(e,r.x,r.y)},"pointInBoundingBox"),p0e=o(function(e,r){return hd(e,r.x1,r.y1)&&hd(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),ZYe=(aO=Math.hypot)!==null&&aO!==void 0?aO:function(t,e){return Math.sqrt(t*t+e*e)};o(JYe,"inflatePolygon");o(eje,"miterBox");m0e=o(function(e,r,n,i,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?yd(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=fd(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var T=n+f+l,E=i-d+h-l,w=T,k=i+d-h+l;if(g=fd(e,r,n,i,T,E,w,k,!1),g.length>0)return g}if(p){var C=n-f+h-l,D=i+d+l,R=n+f-h+l,O=D;if(g=fd(e,r,n,i,C,D,R,O,!1),g.length>0)return g}if(m){var L=n-f-l,S=i-d+h-l,A=L,_=i+d-h+l;if(g=fd(e,r,n,i,L,S,A,_,!1),g.length>0)return g}var N;{var M=n-f+h,P=i-d+h;if(N=wb(e,r,n,i,M,P,h+l),N.length>0&&N[0]<=M&&N[1]<=P)return[N[0],N[1]]}{var B=n+f-h,F=i-d+h;if(N=wb(e,r,n,i,B,F,h+l),N.length>0&&N[0]>=B&&N[1]<=F)return[N[0],N[1]]}{var G=n+f-h,$=i+d-h;if(N=wb(e,r,n,i,G,$,h+l),N.length>0&&N[0]>=G&&N[1]>=$)return[N[0],N[1]]}{var V=n-f+h,K=i+d-h;if(N=wb(e,r,n,i,V,K,h+l),N.length>0&&N[0]<=V&&N[1]>=K)return[N[0],N[1]]}return[]},"roundRectangleIntersectLine"),tje=o(function(e,r,n,i,a,s,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,s),p=Math.max(i,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),rje=o(function(e,r,n,i,a,s,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,s)-h,y2:Math.max(i,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),nje=o(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),ije=o(function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),aje=o(function(e,r,n,i,a,s,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*s+2*i*u+4*s*s-4*s*u+u*u,f=9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*s-3*i*i-3*i*u-6*s*s+3*s*u,d=3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*s+i*u-i*r+2*s*s+2*s*r-u*r,p=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,m=[];ije(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,T,E,w=0;w=0?Eh?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),fo=o(function(e,r,n){for(var i,a,s,l,u,h=0,f=0;f=e&&e>=s||i<=e&&e<=s)u=(e-i)/(s-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Lh=o(function(e,r,n,i,a,s,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=BE(f,-h);y=PE(v)}else y=f;return fo(e,r,y)},"pointInsidePolygon"),oje=o(function(e,r,n,i,a,s,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var T=b[0]*u[0]+e,E=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[T,E];var w=b[1]*u[0]+e,k=b[1]*u[1]+r;return[T,E,w,k]}else return[T,E]},"intersectLineCircle"),sO=o(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),fd=o(function(e,r,n,i,a,s,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-s,g=i-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var T=v/b,E=x/b,w=.001,k=0-w,C=1+w;return k<=T&&T<=C&&k<=E&&E<=C?[e+T*d,r+T*g]:h?[e+T*d,r+T*g]:[]}else return v===0||x===0?sO(e,n,l)===l?[l,u]:sO(e,n,a)===a?[a,s]:sO(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),cje=o(function(e,r,n,i,a){var s=[],l=i/2,u=a/2,h=r,f=n;s.push({x:h+l*e[0],y:f+u*e[1]});for(var d=1;d0){var y=BE(d,-u);m=PE(y)}else m=d}else m=n;for(var v,x,b,T,E=0;E2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=E)},"set"),get:o(function(T){return h[T]},"get")},p=0;p0?N=_.edgesTo(A)[0]:N=A.edgesTo(_)[0];var M=i(N);A=A.id(),C[A]>C[L]+M&&(C[A]=C[L]+M,D.nodes.indexOf(A)<0?D.push(A):D.updateItem(A),k[A]=0,w[A]=[]),C[A]==C[L]+M&&(k[A]=k[A]+k[L],w[A].push(L))}else for(var P=0;P0;){for(var $=E.pop(),V=0;V0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),Sje=o(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:Aje,l=i,u,h,f=0;f=2?mb(e,r,n,0,Yfe,_je):mb(e,r,n,0,Hfe)},"euclidean"),squaredEuclidean:o(function(e,r,n){return mb(e,r,n,0,Yfe)},"squaredEuclidean"),manhattan:o(function(e,r,n){return mb(e,r,n,0,Hfe)},"manhattan"),max:o(function(e,r,n){return mb(e,r,n,-1/0,Dje)},"max")};H1["squared-euclidean"]=H1.squaredEuclidean;H1.squaredeuclidean=H1.squaredEuclidean;o(KE,"clusteringDistance");Rje=za({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),XP=o(function(e){return Rje(e)},"setOptions"),FE=o(function(e,r,n,i,a){var s=a!=="kMedoids",l=s?function(d){return n[d]}:function(d){return i[d](n)},u=o(function(p){return i[p](r)},"getQ"),h=n,f=r;return KE(e,i.length,l,u,h,f)},"getDist"),lO=o(function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),Mje=o(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[i[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),Jfe=o(function(e,r,n){for(var i=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&i.push(s)}for(var f=0;fh&&(u=f,h=d)}n[a]=s[u]}return i=Jfe(e,r,n),i},"assign"),ede=o(function(e){for(var r=this.cy(),n=this.nodes(),i=Wje(e),a={},s=0;s=L?(S=L,L=_,A=N):_>S&&(S=_);for(var M=0;M0?1:0;C[R%i.minIterations*l+V]=K,$+=K}if($>0&&(R>=i.minIterations-1||R==i.maxIterations-1)){for(var ee=0,H=0;H1||k>1)&&(l=!0),d[T]=[],b.outgoers().forEach(function(D){D.isEdge()&&d[T].push(D.id())})}else p[T]=[void 0,b.target().id()]}):s.forEach(function(b){var T=b.id();if(b.isNode()){var E=b.degree(!0);E%2&&(u?h?l=!0:h=T:u=T),d[T]=[],b.connectedEdges().forEach(function(w){return d[T].push(w.id())})}else p[T]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(T){for(var E=T,w=[T],k,C,D;d[E].length;)k=d[E].shift(),C=p[k][0],D=p[k][1],E!=D?(d[D]=d[D].filter(function(R){return R!=k}),E=D):!a&&E!=C&&(d[C]=d[C].filter(function(R){return R!=k}),E=C),w.unshift(k),w.unshift(E);return w},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},fE=o(function(){var e=this,r={},n=0,i=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(T){var E=T.id(),w=T.connectedEdges().intersection(e);v.merge(T),r[E].cutVertex?v.merge(w.filter(function(k){return k.isLoop()})):v.merge(w)})}),a.push(v)},"buildComponent"),h=o(function(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,T;y.forEach(function(E){v=E.source().id(),x=E.target().id(),b=v===m?x:v,b!==g&&(T=E.id(),l[T]||(l[T]=!0,s.push({x:m,y:b,edge:E})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(h(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),Jje={hopcroftTarjanBiconnected:fE,htbc:fE,htb:fE,hopcroftTarjanBiconnectedComponents:fE},dE=o(function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),l=o(function(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||l(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:i}},"tarjanStronglyConnected"),eXe={tarjanStronglyConnected:dE,tsc:dE,tscc:dE,tarjanStronglyConnectedComponents:dE},w0e={};[Rb,RYe,LYe,MYe,OYe,BYe,zYe,dje,V1,q1,TP,Cje,$je,qje,Kje,Zje,Jje,eXe].forEach(function(t){cr(w0e,t)});k0e=0,S0e=1,E0e=2,dc=o(function(e){if(!(this instanceof dc))return new dc(e);this.id="Thenable/1.0.7",this.state=k0e,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");dc.prototype={fulfill:o(function(e){return tde(this,S0e,"fulfillValue",e)},"fulfill"),reject:o(function(e){return tde(this,E0e,"rejectReason",e)},"reject"),then:o(function(e,r){var n=this,i=new dc;return n.onFulfilled.push(nde(e,i,"fulfill")),n.onRejected.push(nde(r,i,"reject")),C0e(n),i.proxy},"then")};tde=o(function(e,r,n,i){return e.state===k0e&&(e.state=r,e[n]=i,C0e(e)),e},"deliver"),C0e=o(function(e){e.state===S0e?rde(e,"onFulfilled",e.fulfillValue):e.state===E0e&&rde(e,"onRejected",e.rejectReason)},"execute"),rde=o(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){Pn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,l=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};SE.className=SE.classNames=SE.classes;tn={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ji,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tn.variable="(?:[\\w-.]|(?:\\\\"+tn.metaChar+"))+";tn.className="(?:[\\w-]|(?:\\\\"+tn.metaChar+"))+";tn.value=tn.string+"|"+tn.number;tn.id=tn.variable;(function(){var t,e,r;for(t=tn.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(tn.comparatorOp+="|\\!"+e)})();_n=o(function(){return{checks:[]}},"newQuery"),qt={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},EP=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return jHe(t.selector,e.selector)}),QXe=(function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return bn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return bn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&bn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),nKe=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return nr(f)?'"'+f+'"':e(f)},"cleanVal"),n=o(function(f){return" "+f+" "},"space"),i=o(function(f,d){var p=f.type,m=f.value;switch(p){case qt.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case qt.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case qt.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case qt.DATA_EXIST:{var T=f.field;return"["+T+"]"}case qt.META_COMPARE:{var E=f.operator,w=f.field;return"[["+w+n(e(E))+r(m)+"]]"}case qt.STATE:return m;case qt.ID:return"#"+m;case qt.CLASS:return"."+m;case qt.PARENT:case qt.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case qt.ANCESTOR:case qt.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case qt.COMPOUND_SPLIT:{var k=a(f.left,d),C=a(f.subject,d),D=a(f.right,d);return k+(k.length>0?" ":"")+C+D}case qt.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return JP(this,t,e,I0e)};o(O0e,"addParent");Y1.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return JP(this,t,e,O0e)};o(hKe,"addParentAndChildren");Y1.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return JP(this,t,e,hKe)};Y1.ancestors=Y1.parents;Mb=P0e={data:xn.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:xn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:xn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:xn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:xn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:xn.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};Mb.attr=Mb.data;Mb.removeAttr=Mb.removeData;fKe=P0e,tC={};o(sP,"defineDegreeFunction");cr(tC,{degree:sP(function(t,e){return e.source().same(e.target())?2:1}),indegree:sP(function(t,e){return e.target().same(t)?1:0}),outdegree:sP(function(t,e){return e.source().same(t)?1:0})});o(L1,"defineDegreeBoundsFunction");cr(tC,{minDegree:L1("degree",function(t,e){return te}),minIndegree:L1("indegree",function(t,e){return te}),minOutdegree:L1("outdegree",function(t,e){return te})});cr(tC,{totalDegree:o(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this},"relativePosition")};fc.modelPosition=fc.point=fc.position;fc.modelPositions=fc.points=fc.positions;fc.renderedPoint=fc.renderedPosition;fc.relativePoint=fc.relativePosition;dKe=B0e;U1=kd={};kd.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};kd.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};kd.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(R,O,L){var S=0,A=0,_=O+L;return R>0&&_>0&&(S=O/_*R,A=L/_*R),{biasDiff:S,biasComplementDiff:A}}o(m,"computeBiasValues");function g(R,O,L,S){if(L.units==="%")switch(S){case"width":return R>0?L.pfValue*R:0;case"height":return O>0?L.pfValue*O:0;case"average":return R>0&&O>0?L.pfValue*(R+O)/2:0;case"min":return R>0&&O>0?R>O?L.pfValue*O:L.pfValue*R:0;case"max":return R>0&&O>0?R>O?L.pfValue*R:L.pfValue*O:0;default:return 0}else return L.units==="px"?L.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var T=m(f.width.val-d.w,y,v),E=T.biasDiff,w=T.biasComplementDiff,k=m(f.height.val-d.h,x,b),C=k.biasDiff,D=k.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-E+d.x1+d.x2+w)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-C+d.y1+d.y2+D)/2}o(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),cd=o(function(e,r){return r==null?e:hc(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),gb=o(function(e,r,n){return ho(e,r,n)},"prefixedProperty"),pE=o(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,wE(d,1),hc(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),oP=o(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=gb(s,"labelWidth",n),d=gb(s,"labelHeight",n),p=gb(s,"labelX",n),m=gb(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,w=r.pstyle("text-background-padding").pfValue,k=2,C=d,D=f,R=D/2,O=C/2,L,S,A,_;if(v)L=p-R,S=p+R,A=m-O,_=m+O;else{switch(u.value){case"left":L=p-D,S=p;break;case"center":L=p-R,S=p+R;break;case"right":L=p,S=p+D;break}switch(h.value){case"top":A=m-C,_=m;break;case"center":A=m-O,_=m+O;break;case"bottom":A=m,_=m+C;break}}var N=g-Math.max(b,E)-w-k,M=g+Math.max(b,E)+w+k,P=y-Math.max(b,E)-w-k,B=y+Math.max(b,E)+w+k;L+=N,S+=M,A+=P,_+=B;var F=n||"main",G=a.labelBounds,$=G[F]=G[F]||{};$.x1=L,$.y1=A,$.x2=S,$.y2=_,$.w=S-L,$.h=_-A,$.leftPad=N,$.rightPad=M,$.topPad=P,$.botPad=B;var V=v&&x.strValue==="autorotate",K=x.pfValue!=null&&x.pfValue!==0;if(V||K){var ee=V?gb(a.rstyle,"labelAngle",n):x.pfValue,H=Math.cos(ee),he=Math.sin(ee),Z=(L+S)/2,de=(A+_)/2;if(!v){switch(u.value){case"left":Z=S;break;case"right":Z=L;break}switch(h.value){case"top":de=_;break;case"bottom":de=A;break}}var re=o(function(Te,j){return Te=Te-Z,j=j-de,{x:Te*H-j*he+Z,y:Te*he+j*H+de}},"rotate"),ne=re(L,A),te=re(L,_),Q=re(S,A),le=re(S,_);L=Math.min(ne.x,te.x,Q.x,le.x),S=Math.max(ne.x,te.x,Q.x,le.x),A=Math.min(ne.y,te.y,Q.y,le.y),_=Math.max(ne.y,te.y,Q.y,le.y)}var J=F+"Rot",ge=G[J]=G[J]||{};ge.x1=L,ge.y1=A,ge.x2=S,ge.y2=_,ge.w=S-L,ge.h=_-A,hc(e,L,A,S,_),hc(a.labelBounds.all,L,A,S,_)}return e}},"updateBoundsFromLabel"),rpe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;$0e(e,r,n,s,"outside",s/2)}},"updateBoundsFromOutline"),$0e=o(function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var l=r.cy(),u=r.pstyle("shape").value,h=l.renderer().nodeShapes[u],f=r.position(),d=f.x,p=f.y,m=r.width(),g=r.height();if(h.hasMiterBounds){a==="center"&&(i/=2);var y=h.miterBounds(d,p,m,g,i);cd(e,y)}else s!=null&&s>0&&kE(e,[s,s,s,s])}},"updateBoundsFromMiter"),pKe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;$0e(e,r,n,i,a)}},"updateBoundsFromMiterBorder"),mKe=o(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=Ls(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(ie){return ie.pstyle("display").value!=="none"},"isDisplayed"),T=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(T){var E=0,w=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(w=e.pstyle("overlay-padding").value));var k=0,C=0;i&&r.includeUnderlays&&(k=e.pstyle("underlay-opacity").value,k!==0&&(C=e.pstyle("underlay-padding").value));var D=Math.max(w,C),R=0,O=0;if(i&&(R=e.pstyle("width").pfValue,O=R/2),u&&r.includeNodes){var L=e.position();g=L.x,y=L.y;var S=e.outerWidth(),A=S/2,_=e.outerHeight(),N=_/2;f=g-A,d=g+A,p=y-N,m=y+N,hc(s,f,p,d,m),i&&rpe(s,e),i&&r.includeOutlines&&!a&&rpe(s,e),i&&pKe(s,e)}else if(h&&r.includeEdges)if(i&&!a){var M=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=O,d+=O,p-=O,m+=O,hc(s,f,p,d,m),M==="haystack"){var P=v.haystackPts;if(P&&P.length===2){if(f=P[0].x,p=P[0].y,d=P[1].x,m=P[1].y,f>d){var B=f;f=d,d=B}if(p>m){var F=p;p=m,m=F}hc(s,f-O,p-O,d+O,m+O)}}else if(M==="bezier"||M==="unbundled-bezier"||ud(M,"segments")||ud(M,"taxi")){var G;switch(M){case"bezier":case"unbundled-bezier":G=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":G=v.linePts;break}if(G!=null)for(var $=0;$d){var Z=f;f=d,d=Z}if(p>m){var de=p;p=m,m=de}f-=O,d+=O,p-=O,m+=O,hc(s,f,p,d,m)}if(i&&r.includeEdges&&h&&(pE(s,e,"mid-source"),pE(s,e,"mid-target"),pE(s,e,"source"),pE(s,e,"target")),i){var re=e.pstyle("ghost").value==="yes";if(re){var ne=e.pstyle("ghost-offset-x").pfValue,te=e.pstyle("ghost-offset-y").pfValue;hc(s,s.x1+ne,s.y1+te,s.x2+ne,s.y2+te)}}var Q=l.bodyBounds=l.bodyBounds||{};Gfe(Q,s),kE(Q,x),wE(Q,1),i&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,hc(s,f-D,p-D,d+D,m+D));var le=l.overlayBounds=l.overlayBounds||{};Gfe(le,s),kE(le,x),wE(le,1);var J=l.labelBounds=l.labelBounds||{};J.all!=null?KYe(J.all):J.all=Ls(),i&&r.includeLabels&&(r.includeMainLabels&&oP(s,e,null),h&&(r.includeSourceLabels&&oP(s,e,"source"),r.includeTargetLabels&&oP(s,e,"target")))}return s.x1=El(s.x1),s.y1=El(s.y1),s.x2=El(s.x2),s.y2=El(s.y2),s.w=El(s.x2-s.x1),s.h=El(s.y2-s.y1),s.w>0&&s.h>0&&T&&(kE(s,x),wE(s,1)),s},"boundingBoxImpl"),z0e=o(function(e){var r=0,n=o(function(s){return(s?1:0)<=0;l--)s(l);return this};bd.removeAllListeners=function(){return this.removeListener("*")};bd.emit=bd.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Pn(e)||(e=[e]),LKe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var l=o(function(){var f=n[u];if(f.type===s.type&&(!f.namespace||f.namespace===s.namespace||f.namespace===DKe)&&a.eventMatches(a.context,f,s)){var d=[s];e!=null&&TYe(d,e),a.beforeEmit(a.context,f,s),f.conf&&f.conf.one&&(a.listeners=a.listeners.filter(function(g){return g!==f}));var p=a.callbackContext(a.context,f,s),m=f.callback.apply(p,d);a.afterEmit(a.context,f,s),m===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&nr(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:o(function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":ea(Symbol))!=e&&ea(Symbol.iterator)!=e;r&&($E[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return Ype({next:o(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:o(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(rn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(nr(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});ns.neighbourhood=ns.neighborhood;ns.closedNeighbourhood=ns.closedNeighborhood;ns.openNeighbourhood=ns.openNeighborhood;cr(ns,{source:Cl(o(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:Cl(o(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:dpe({attr:"source"}),targets:dpe({attr:"target"})});o(dpe,"defineSourceFunction");cr(ns,{edgesWith:Cl(ppe(),"edgesWith"),edgesTo:Cl(ppe({thisIsSrc:!0}),"edgesTo")});o(ppe,"defineEdgesWithFunction");cr(ns,{connectedEdges:Cl(function(t){for(var e=[],r=this,n=0;n0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});ns.componentsOf=ns.components;$a=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){si("A collection must have a reference to the core");return}var a=new Dh,s=!1;if(!r)r=[];else if(r.length>0&&rn(r[0])&&!$b(r[0])){s=!0;for(var l=[],u=new j1,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],l,u=0,h=r.length;u0){for(var F=l.length===r.length?r:new $a(n,l),G=0;G0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(_){for(var N=_._private.edges,M=0;M0&&(t?L.emitAndNotify("remove"):e&&L.emit("remove"));for(var S=0;Sf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")})(),Vn=o(function(e,r,n,i){var a=GKe(e,r,n,i);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),CE={linear:o(function(e,r,n){return e+(r-e)*n},"linear"),ease:Vn(.25,.1,.25,1),"ease-in":Vn(.42,0,1,1),"ease-out":Vn(0,0,.58,1),"ease-in-out":Vn(.42,0,.58,1),"ease-in-sine":Vn(.47,0,.745,.715),"ease-out-sine":Vn(.39,.575,.565,1),"ease-in-out-sine":Vn(.445,.05,.55,.95),"ease-in-quad":Vn(.55,.085,.68,.53),"ease-out-quad":Vn(.25,.46,.45,.94),"ease-in-out-quad":Vn(.455,.03,.515,.955),"ease-in-cubic":Vn(.55,.055,.675,.19),"ease-out-cubic":Vn(.215,.61,.355,1),"ease-in-out-cubic":Vn(.645,.045,.355,1),"ease-in-quart":Vn(.895,.03,.685,.22),"ease-out-quart":Vn(.165,.84,.44,1),"ease-in-out-quart":Vn(.77,0,.175,1),"ease-in-quint":Vn(.755,.05,.855,.06),"ease-out-quint":Vn(.23,1,.32,1),"ease-in-out-quint":Vn(.86,0,.07,1),"ease-in-expo":Vn(.95,.05,.795,.035),"ease-out-expo":Vn(.19,1,.22,1),"ease-in-out-expo":Vn(1,0,0,1),"ease-in-circ":Vn(.6,.04,.98,.335),"ease-out-circ":Vn(.075,.82,.165,1),"ease-in-out-circ":Vn(.785,.135,.15,.86),spring:o(function(e,r,n){if(n===0)return CE.linear;var i=VKe(e,r,n);return function(a,s,l){return a+(s-a)*i(l)}},"spring"),"cubic-bezier":Vn};o(gpe,"getEasedValue");o(ype,"getValue");o(N1,"ease");o(qKe,"step$1");o(vb,"valid");o(UKe,"startAnimation");o(vpe,"stepAll");WKe={animate:xn.animate(),animation:xn.animation(),animated:xn.animated(),clearQueue:xn.clearQueue(),delay:xn.delay(),delayAnimation:xn.delayAnimation(),stop:xn.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&IE(o(function(a){vpe(a,e),r()},"animationStep"))}o(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(o(function(a,s){vpe(s,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},HKe={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&$b(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},yE=o(function(e){return nr(e)?new vd(e):e},"argSelector"),Q0e={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new rC(HKe,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,n){return this.emitter().on(e,yE(r),n),this},"on"),removeListener:o(function(e,r,n){return this.emitter().removeListener(e,yE(r),n),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,n){return this.emitter().one(e,yE(r),n),this},"one"),once:o(function(e,r,n){return this.emitter().one(e,yE(r),n),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};xn.eventAliasesOn(Q0e);AP={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};AP.jpeg=AP.jpg;AE={layout:o(function(e){var r=this;if(e==null){si("Layout options must be specified to make a layout");return}if(e.name==null){si("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){si("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;nr(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(cr({},e,{cy:r,eles:a}));return s},"layout")};AE.createLayout=AE.makeLayout=AE.layout;YKe={notify:o(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};_P.invalidateDimensions=_P.resize;_E={collection:o(function(e,r){return nr(e)?this.$(e):zo(e)?e.collection():Pn(e)?(r||(r={}),new $a(this,e,r.unique,r.removed)):new $a(this)},"collection"),nodes:o(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};_E.elements=_E.filter=_E.$;Ta={},Eb="t",XKe="f";Ta.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(E=1),l.color){var k=n.valueMin[0],C=n.valueMax[0],D=n.valueMin[1],R=n.valueMax[1],O=n.valueMin[2],L=n.valueMax[2],S=n.valueMin[3]==null?1:n.valueMin[3],A=n.valueMax[3]==null?1:n.valueMax[3],_=[Math.round(k+(C-k)*E),Math.round(D+(R-D)*E),Math.round(O+(L-O)*E),Math.round(S+(A-S)*E)];a={bypass:n.bypass,name:n.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else if(l.number){var N=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,N,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case s.data:{for(var M=n.field.split("."),P=d.data,B=0;B0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};Ta.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],l=i(s);t.removed()||l!=null&&l(r,n,t)&&a(s)};Ta.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};Ta.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};Ta.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ta.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ta.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};Hb={};Hb.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){bn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new vd(d);if(p.invalid){bn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){bn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],T=x[2],E=e.properties[b];if(!E){bn("Skipping property: Invalid property name in: "+s),u();continue}var w=r.parse(b,T);if(!w){bn("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:T}),u()}if(g){l();break}r.selector(d);for(var k=0;k=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return bn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var T;if(u?T=e.split(/\s+/):Pn(e)?T=e:T=[e],h.evenMultiple&&T.length%2!==0)return null;for(var E=[],w=[],k=[],C="",D=!1,R=0;R0?" ":"")+O.strValue}return h.validate&&!h.validate(E,w)?null:h.singleEnum&&D?E.length===1&&nr(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:k,strValue:C,bypass:r,units:w}}var L=o(function(){for(var re=0;reh.max||h.strictMax&&e===h.max))return null;var M={name:t,value:e,strValue:""+e+(S||""),units:S,bypass:r};return h.unitless||S!=="px"&&S!=="em"?M.pfValue=e:M.pfValue=S==="px"||!S?e:this.getEmSizeInPixels()*e,(S==="ms"||S==="s")&&(M.pfValue=S==="ms"?e:1e3*e),(S==="deg"||S==="rad")&&(M.pfValue=S==="rad"?e:HYe(e)),S==="%"&&(M.pfValue=e/100),M}else if(h.propList){var P=[],B=""+e;if(B!=="none"){for(var F=B.split(/\s*,\s*|\s+/),G=0;G0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((s-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),Rt(e)?s=e:rn(e)&&(s=e.level,e.position!=null?a=XE(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;Rt(h.x)&&(r.pan.x=h.x,l=!1),Rt(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(nr(e)){var n=e;e=this.mutableElements().filter(n)}else zo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=o(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};z0.centre=z0.center;z0.autolockNodes=z0.autolock;z0.autoungrabifyNodes=z0.autoungrabify;Ob={data:xn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:xn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:xn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:xn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ob.attr=Ob.data;Ob.removeAttr=Ob.removeData;Pb=o(function(e){var r=this;e=cr({},e);var n=e.container;n&&!ME(n)&&ME(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Zi!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=cr({name:s?"grid":"null"},l.layout),l.renderer=cr({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new $a(this),listeners:[],aniEles:new $a(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:Rt(l.zoom)?l.zoom:1,pan:{x:rn(l.pan)&&Rt(l.pan.x)?l.pan.x:0,y:rn(l.pan)&&Rt(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(zHe);if(v)return X1.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=cr({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(rn(g)||Pn(g))&&r.add(g),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=cr({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,xi(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,l=!!t.boundingBox,u=Ls(l?t.boundingBox:structuredClone(e.extent())),h;if(zo(t.roots))h=t.roots;else if(Pn(t.roots)){for(var f=[],d=0;d0;){var _=A(),N=R(_,L);if(N)_.outgoers().filter(function(Ge){return Ge.isNode()&&r.has(Ge)}).forEach(S);else if(N===null){bn("Detected double maximal shift for node `"+_.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var M=0;if(t.avoidOverlap)for(var P=0;P0&&x[0].length<=3?Le/2:0),Me=2*Math.PI/x[Xe].length*Ue;return Xe===0&&x[0].length===1&&(Ie=1),{x:Q.x+Ie*Math.cos(Me),y:Q.y+Ie*Math.sin(Me)}}else{var Ae=x[Xe].length,ze=Math.max(Ae===1?0:l?(u.w-t.padding*2-le.w)/((t.grid?ge:Ae)-1):(u.w-t.padding*2-le.w)/((t.grid?ge:Ae)+1),M),Y={x:Q.x+(Ue+1-(Ae+1)/2)*ze,y:Q.y+(Xe+1-(H+1)/2)*J};return Y}},"getPositionTopBottom"),Te={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(Te).indexOf(t.direction)===-1&&si("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(Te).join(", ")));var j=o(function(ye){return mYe(ie(ye),u,Te[t.direction])},"getPosition");return r.nodes().layoutPositions(this,t,j),this};eQe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(J0e,"CircleLayout");J0e.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=Ls(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),T=Math.sqrt(d*d/(x*x+b*b));f=Math.max(T,f)}var E=o(function(k,C){var D=e.startAngle+C*h*(i?1:-1),R=f*Math.cos(D),O=f*Math.sin(D),L={x:l.x+R,y:l.y+O};return L},"getPos");return n.nodes().layoutPositions(this,e,E),this};tQe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(eme,"ConcentricLayout");eme.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=Ls(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var w=Math.abs(b[0].value-E.value);w>=v&&(b=[],x.push(b))}b.push(E)}var k=h+e.minNodeSpacing;if(!e.avoidOverlap){var C=x.length>0&&x[0].length>1,D=Math.min(s.w,s.h)/2-k,R=D/(x.length+C?1:0);k=Math.min(k,R)}for(var O=0,L=0;L1&&e.avoidOverlap){var N=Math.cos(_)-Math.cos(0),M=Math.sin(_)-Math.sin(0),P=Math.sqrt(k*k/(N*N+M*M));O=Math.max(P,O)}S.r=O,O+=k}if(e.equidistant){for(var B=0,F=0,G=0;G=t.numIter||(lQe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),IE(f)}},"frame");f()}else{for(;h;)h=s(u),u++;Tpe(n,t),l()}return this};oC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};oC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};nQe=o(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=Ls(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(D);for(var f=0;fi.count?0:i.graph},"findLCA"),tme=o(function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=GE(e,l,u),v=GE(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,T=x*x+b*b,p=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),hQe=o(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},"nodesOverlap"),GE=o(function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=n/r,h=s/l,f={};return r===0&&0n?(f.x=i,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+s*r/2/n,f.y=a+s/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-s*r/2/n,f.y=a-s/2),f)},"findClippingPoint"),fQe=o(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),pQe=o(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),nme=o(function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),yQe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(ime,"GridLayout");ime.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Ls(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(K){return{x:a.x1,y:a.y1}});else{var s=i.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(ee){if(ee==null)return Math.min(u,h);var H=Math.min(u,h);H==u?u=ee:h=ee},"small"),d=o(function(ee){if(ee==null)return Math.max(u,h);var H=Math.max(u,h);H==u?u=ee:h=ee},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,T=a.h/u;if(e.condense&&(b=0,T=0),e.avoidOverlap)for(var E=0;E=h&&(N=0,_++)},"moveToNextCell"),P={},B=0;B(N=sje(t,e,M[P],M[P+1],M[P+2],M[P+3])))return v(C,N),!0}else if(R.edgeType==="bezier"||R.edgeType==="multibezier"||R.edgeType==="self"||R.edgeType==="compound"){for(var M=R.allpts,P=0;P+5(N=aje(t,e,M[P],M[P+1],M[P+2],M[P+3],M[P+4],M[P+5])))return v(C,N),!0}for(var B=B||D.source,F=F||D.target,G=i.getArrowWidth(O,L),$=[{name:"source",x:R.arrowStartX,y:R.arrowStartY,angle:R.srcArrowAngle},{name:"target",x:R.arrowEndX,y:R.arrowEndY,angle:R.tgtArrowAngle},{name:"mid-source",x:R.midX,y:R.midY,angle:R.midsrcArrowAngle},{name:"mid-target",x:R.midX,y:R.midY,angle:R.midtgtArrowAngle}],P=0;P<$.length;P++){var V=$[P],K=a.arrowShapes[C.pstyle(V.name+"-arrow-shape").value],ee=C.pstyle("width").pfValue;if(K.roughCollide(t,e,G,V.angle,{x:V.x,y:V.y},ee,f)&&K.collide(t,e,G,V.angle,{x:V.x,y:V.y},ee,f))return v(C),!0}h&&l.length>0&&(x(B),x(F))}o(b,"checkEdge");function T(C,D,R){return ho(C,D,R)}o(T,"preprop");function E(C,D){var R=C._private,O=p,L;D?L=D+"-":L="",C.boundingBox();var S=R.labelBounds[D||"main"],A=C.pstyle(L+"label").value,_=C.pstyle("text-events").strValue==="yes";if(!(!_||!A)){var N=T(R.rscratch,"labelX",D),M=T(R.rscratch,"labelY",D),P=T(R.rscratch,"labelAngle",D),B=C.pstyle(L+"text-margin-x").pfValue,F=C.pstyle(L+"text-margin-y").pfValue,G=S.x1-O-B,$=S.x2+O-B,V=S.y1-O-F,K=S.y2+O-F;if(P){var ee=Math.cos(P),H=Math.sin(P),he=o(function(le,J){return le=le-N,J=J-M,{x:le*ee-J*H+N,y:le*H+J*ee+M}},"rotate"),Z=he(G,V),de=he(G,K),re=he($,V),ne=he($,K),te=[Z.x+B,Z.y+F,re.x+B,re.y+F,ne.x+B,ne.y+F,de.x+B,de.y+F];if(fo(t,e,te))return v(C),!0}else if(hd(S,t,e))return v(C),!0}}o(E,"checkLabel");for(var w=s.length-1;w>=0;w--){var k=s[w];k.isNode()?x(k)||E(k):b(k)||E(k)||E(k,"source")||E(k,"target")}return l};V0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,l=[],u=Math.min(t,r),h=Math.max(t,r),f=Math.min(e,n),d=Math.max(e,n);t=u,r=h,e=f,n=d;var p=Ls({x1:t,y1:e,x2:r,y2:n}),m=[{x:p.x1,y:p.y1},{x:p.x2,y:p.y1},{x:p.x2,y:p.y2},{x:p.x1,y:p.y2}],g=[[m[0],m[1]],[m[1],m[2]],[m[2],m[3]],[m[3],m[0]]];function y(le,J,ge){return ho(le,J,ge)}o(y,"preprop");function v(le,J){var ge=le._private,ie=s,Te="";le.boundingBox();var j=ge.labelBounds.main;if(!j)return null;var Ge=y(ge.rscratch,"labelX",J),ye=y(ge.rscratch,"labelY",J),$e=y(ge.rscratch,"labelAngle",J),Xe=le.pstyle(Te+"text-margin-x").pfValue,Ue=le.pstyle(Te+"text-margin-y").pfValue,Le=j.x1-ie-Xe,Ie=j.x2+ie-Xe,Me=j.y1-ie-Ue,Ae=j.y2+ie-Ue;if($e){var ze=Math.cos($e),Y=Math.sin($e),ce=o(function(ue,z){return ue=ue-Ge,z=z-ye,{x:ue*ze-z*Y+Ge,y:ue*Y+z*ze+ye}},"rotate");return[ce(Le,Me),ce(Ie,Me),ce(Ie,Ae),ce(Le,Ae)]}else return[{x:Le,y:Me},{x:Ie,y:Me},{x:Ie,y:Ae},{x:Le,y:Ae}]}o(v,"getRotatedLabelBox");function x(le,J,ge,ie){function Te(j,Ge,ye){return(ye.y-j.y)*(Ge.x-j.x)>(Ge.y-j.y)*(ye.x-j.x)}return o(Te,"ccw"),Te(le,ge,ie)!==Te(J,ge,ie)&&Te(le,J,ge)!==Te(le,J,ie)}o(x,"doLinesIntersect");for(var b=0;b0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),kQe=o(function(e,r,n,i,a){if(e!==Cpe?Ape(r,e,vu):wQe(Sl,vu),Ape(r,n,Sl),Spe=vu.nx*Sl.ny-vu.ny*Sl.nx,Epe=vu.nx*Sl.nx-vu.ny*-Sl.ny,Ah=Math.asin(Math.max(-1,Math.min(1,Spe))),Math.abs(Ah)<1e-6){DP=r.x,RP=r.y,M0=I1=0;return}O0=1,DE=!1,Epe<0?Ah<0?Ah=Math.PI+Ah:(Ah=Math.PI-Ah,O0=-1,DE=!0):Ah>0&&(O0=-1,DE=!0),r.radius!==void 0?I1=r.radius:I1=i,D0=Ah/2,vE=Math.min(vu.len/2,Sl.len/2),a?(gu=Math.abs(Math.cos(D0)*I1/Math.sin(D0)),gu>vE?(gu=vE,M0=Math.abs(gu*Math.sin(D0)/Math.cos(D0))):M0=I1):(gu=Math.min(vE,I1),M0=Math.abs(gu*Math.sin(D0)/Math.cos(D0))),LP=r.x+Sl.nx*gu,NP=r.y+Sl.ny*gu,DP=LP-Sl.ny*M0*O0,RP=NP+Sl.nx*M0*O0,lme=r.x+vu.nx*gu,cme=r.y+vu.ny*gu,Cpe=r},"calcCornerArc");o(ume,"drawPreparedRoundCorner");o(aB,"getRoundCorner");Bb=.01,SQe=Math.sqrt(2*Bb),as={};as.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(w,k,C,D){var R=D-k,O=C-w,L=Math.sqrt(O*O+R*R);return{x:-R/L,y:O/L}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=Vi(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Vi(y,2),x=v[0],b=v[1],T={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=T}else bn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};as.findHaystackPoints=function(t){for(var e=0;e0?Math.max(z-se,0):Math.min(z+se,0)},"subDWH"),A=S(O,D),_=S(L,R),N=!1;b===h?x=Math.abs(A)>Math.abs(_)?i:n:b===u||b===l?(x=n,N=!0):(b===a||b===s)&&(x=i,N=!0);var M=x===n,P=M?_:A,B=M?L:O,F=HP(B),G=!1;!(N&&(E||k))&&(b===l&&B<0||b===u&&B>0||b===a&&B>0||b===s&&B<0)&&(F*=-1,P=F*Math.abs(P),G=!0);var $;if(E){var V=w<0?1+w:w;$=V*P}else{var K=w<0?P:0;$=K+w*F}var ee=o(function(z){return Math.abs(z)=Math.abs(P)},"getIsTooClose"),H=ee($),he=ee(Math.abs(P)-Math.abs($)),Z=H||he;if(Z&&!G)if(M){var de=Math.abs(B)<=p/2,re=Math.abs(O)<=m/2;if(de){var ne=(f.x1+f.x2)/2,te=f.y1,Q=f.y2;r.segpts=[ne,te,ne,Q]}else if(re){var le=(f.y1+f.y2)/2,J=f.x1,ge=f.x2;r.segpts=[J,le,ge,le]}else r.segpts=[f.x1,f.y2]}else{var ie=Math.abs(B)<=d/2,Te=Math.abs(L)<=g/2;if(ie){var j=(f.y1+f.y2)/2,Ge=f.x1,ye=f.x2;r.segpts=[Ge,j,ye,j]}else if(Te){var $e=(f.x1+f.x2)/2,Xe=f.y1,Ue=f.y2;r.segpts=[$e,Xe,$e,Ue]}else r.segpts=[f.x2,f.y1]}else if(M){var Le=f.y1+$+(v?p/2*F:0),Ie=f.x1,Me=f.x2;r.segpts=[Ie,Le,Me,Le]}else{var Ae=f.x1+$+(v?d/2*F:0),ze=f.y1,Y=f.y2;r.segpts=[Ae,ze,Ae,Y]}if(r.isRound){var ce=t.pstyle("taxi-radius").value,U=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(ce),r.isArcRadius=new Array(r.segpts.length/2).fill(U)}};as.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!Rt(r.startX)||!Rt(r.startY),v=!Rt(r.arrowStartX)||!Rt(r.arrowStartY),x=!Rt(r.endX)||!Rt(r.endY),b=!Rt(r.arrowEndX)||!Rt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,w=T*E,k=F0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),C=kB.poolIndex()){var F=P;P=B,B=F}var G=A.srcPos=P.position(),$=A.tgtPos=B.position(),V=A.srcW=P.outerWidth(),K=A.srcH=P.outerHeight(),ee=A.tgtW=B.outerWidth(),H=A.tgtH=B.outerHeight(),he=A.srcShape=r.nodeShapes[e.getNodeShape(P)],Z=A.tgtShape=r.nodeShapes[e.getNodeShape(B)],de=A.srcCornerRadius=P.pstyle("corner-radius").value==="auto"?"auto":P.pstyle("corner-radius").pfValue,re=A.tgtCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,ne=A.tgtRs=B._private.rscratch,te=A.srcRs=P._private.rscratch;A.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Q=0;Q=SQe||(Me=Math.sqrt(Math.max(Ie*Ie,Bb)+Math.max(Le*Le,Bb)));var Ae=A.vector={x:Ie,y:Le},ze=A.vectorNorm={x:Ae.x/Me,y:Ae.y/Me},Y={x:-ze.y,y:ze.x};A.nodesOverlap=!Rt(Me)||Z.checkPoint(j[0],j[1],0,ee,H,$.x,$.y,re,ne)||he.checkPoint(ye[0],ye[1],0,V,K,G.x,G.y,de,te),A.vectorNormInverse=Y,_={nodesOverlap:A.nodesOverlap,dirCounts:A.dirCounts,calculatedIntersection:!0,hasBezier:A.hasBezier,hasUnbundled:A.hasUnbundled,eles:A.eles,srcPos:$,srcRs:ne,tgtPos:G,tgtRs:te,srcW:ee,srcH:H,tgtW:V,tgtH:K,srcIntn:$e,tgtIntn:Ge,srcShape:Z,tgtShape:he,posPts:{x1:Ue.x2,y1:Ue.y2,x2:Ue.x1,y2:Ue.y1},intersectionPts:{x1:Xe.x2,y1:Xe.y2,x2:Xe.x1,y2:Xe.y1},vector:{x:-Ae.x,y:-Ae.y},vectorNorm:{x:-ze.x,y:-ze.y},vectorNormInverse:{x:-Y.x,y:-Y.y}}}var ce=Te?_:A;J.nodesOverlap=ce.nodesOverlap,J.srcIntn=ce.srcIntn,J.tgtIntn=ce.tgtIntn,J.isRound=ge.startsWith("round"),i&&(P.isParent()||P.isChild()||B.isParent()||B.isChild())&&(P.parents().anySame(B)||B.parents().anySame(P)||P.same(B)&&P.isParent())?e.findCompoundLoopPoints(le,ce,Q,ie):P===B?e.findLoopPoints(le,ce,Q,ie):ge.endsWith("segments")?e.findSegmentsPoints(le,ce):ge.endsWith("taxi")?e.findTaxiPoints(le,ce):ge==="straight"||!ie&&A.eles.length%2===1&&Q===Math.floor(A.eles.length/2)?e.findStraightEdgePoints(le):e.findBezierPoints(le,ce,Q,ie,Te),e.findEndpoints(le),e.tryToCorrectInvalidPoints(le,ce),e.checkForInvalidEdgeWarning(le),e.storeAllpts(le),e.storeEdgeProjections(le),e.calculateArrowAngles(le),e.recalculateEdgeLabelProjections(le),e.calculateLabelAngles(le)}},"_loop"),C=0;C0){var j=h,Ge=N0(j,F1(s)),ye=N0(j,F1(Te)),$e=Ge;if(ye2){var Xe=N0(j,{x:Te[2],y:Te[3]});Xe<$e&&(s=[Te[2],Te[3]])}}}var Ue=hE(s,B,a.arrowShapes[d].spacing(t)+m),Le=hE(s,B,a.arrowShapes[d].gap(t)+m);if(b.endX=Le[0],b.endY=Le[1],b.arrowEndX=Ue[0],b.arrowEndY=Ue[1],A==="inside-to-node")s=[h.x,h.y];else if(S.units)s=this.manualEndptToPx(l,S);else if(A==="outside-to-line")s=b.srcIntn;else if(A==="outside-to-node"||A==="outside-to-node-or-label"?$=F:(A==="outside-to-line"||A==="outside-to-line-or-label")&&($=[f.x,f.y]),s=a.nodeShapes[this.getNodeShape(l)].intersectLine(h.x,h.y,l.outerWidth(),l.outerHeight(),$[0],$[1],0,_,y),A==="outside-to-node-or-label"||A==="outside-to-line-or-label"){var Ie=l._private.rscratch,Me=Ie.labelWidth,Ae=Ie.labelHeight,ze=Ie.labelX,Y=Ie.labelY,ce=Me/2,U=Ae/2,ue=l.pstyle("text-valign").value;ue==="top"?Y-=U:ue==="bottom"&&(Y+=U);var z=l.pstyle("text-halign").value;z==="left"?ze-=ce:z==="right"&&(ze+=ce);var se=Nb($[0],$[1],[ze-ce,Y-U,ze+ce,Y-U,ze+ce,Y+U,ze-ce,Y+U],h.x,h.y);if(se.length>0){var oe=f,be=N0(oe,F1(s)),pe=N0(oe,F1(se)),me=be;if(pe2){var De=N0(oe,{x:se[2],y:se[3]});De=g||C){v={cp:E,segment:k};break}}if(v)break}var D=v.cp,R=v.segment,O=(g-x)/R.length,L=R.t1-R.t0,S=m?R.t0+L*O:R.t1-L*O;S=Lb(0,S,1),e=G1(D.p0,D.p1,D.p2,S),p=CQe(D.p0,D.p1,D.p2,S);break}case"straight":case"segments":case"haystack":{for(var A=0,_,N,M,P,B=n.allpts.length,F=0;F+3=g));F+=2);var G=g-N,$=G/_;$=Lb(0,$,1),e=jYe(M,P,$),p=dme(M,P);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};Tu.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Tu.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=B0(n,t._private.labelDimsKey);if(ho(r.rscratch,"prefixedLabelDimsKey",e)!==i){_h(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,l=t.pstyle("text-wrap").strValue,u=ho(r.rscratch,"labelWrapCachedLines",e)||[],h=l!=="wrap"?1:Math.max(u.length,1),f=a.height/h,d=f*s,p=a.width,m=a.height+(h-1)*(s-1)*f;_h(r.rstyle,"labelWidth",e,p),_h(r.rscratch,"labelWidth",e,p),_h(r.rstyle,"labelHeight",e,m),_h(r.rscratch,"labelHeight",e,m),_h(r.rscratch,"labelLineHeight",e,d)}};Tu.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(K,ee){return ee?(_h(r.rscratch,K,e,ee),ee):ho(r.rscratch,K,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=i.split(` -`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var w=x.matchAll(y),k="",C=0,D=po(w),R;try{for(D.s();!(R=D.n()).done;){var O=R.value,L=O[0],S=x.substring(C,O.index);C=O.index+L.length;var A=k.length===0?S:k+S+L,_=this.calculateLabelDimensions(t,A),N=_.width;N<=d?k+=S+L:(k&&g.push(k),k=S+L)}}catch(V){D.e(V)}finally{D.f()}k.match(/^[\s\u200b]+$/)||g.push(k)}else g.push(x)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(` -`)),s("labelWrapKey",u)}else if(l==="ellipsis"){var M=t.pstyle("text-max-width").pfValue,P="",B="\u2026",F=!1;if(this.calculateLabelDimensions(t,i).widthM)break;P+=i[G],G===i.length-1&&(F=!0)}return F||(P+=B),P}return i};Tu.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Tu.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,u=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,f=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!f){f=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=f.getContext("2d");var p=f.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}d.font="".concat(s," ").concat(h," ").concat(l,"px ").concat(u);for(var m=0,g=0,y=e.split(` -`),v=0;v1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var wt=a(z);ut&&(t.hoverData.tapholdCancelled=!0);var St=o(function(){var _e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];_e.length===0?(_e.push(rt[0]),_e.push(rt[1])):(_e[0]+=rt[0],_e[1]+=rt[1])},"updateDragDelta");oe=!0,i(xt,["mousemove","vmousemove","tapdrag"],z,{x:De[0],y:De[1]});var bt=o(function(_e){return{originalEvent:z,type:_e,position:{x:De[0],y:De[1]}}},"makeEvent"),pt=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||be.emit(bt("boxstart")),Ye[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(ut){var Zr=bt("cxtdrag");Pe?Pe.emit(Zr):be.emit(Zr),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||xt!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(bt("cxtdragout")),t.hoverData.cxtOver=xt,xt&&xt.emit(bt("cxtdragover")))}}else if(t.hoverData.dragging){if(oe=!0,be.panningEnabled()&&be.userPanningEnabled()){var Lt;if(t.hoverData.justStartedPan){var Dn=t.hoverData.mdownPos;Lt={x:(De[0]-Dn[0])*pe,y:(De[1]-Dn[1])*pe},t.hoverData.justStartedPan=!1}else Lt={x:rt[0]*pe,y:rt[1]*pe};be.panBy(Lt),be.emit(bt("dragpan")),t.hoverData.dragged=!0}De=t.projectIntoViewport(z.clientX,z.clientY)}else if(Ye[4]==1&&(Pe==null||Pe.pannable())){if(ut){if(!t.hoverData.dragging&&be.boxSelectionEnabled()&&(wt||!be.panningEnabled()||!be.userPanningEnabled()))pt();else if(!t.hoverData.selecting&&be.panningEnabled()&&be.userPanningEnabled()){var Hr=s(Pe,t.hoverData.downs);Hr&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Ye[4]=0,t.data.bgActivePosistion=F1(Ce),t.redrawHint("select",!0),t.redraw())}Pe&&Pe.pannable()&&Pe.active()&&Pe.unactivate()}}else{if(Pe&&Pe.pannable()&&Pe.active()&&Pe.unactivate(),(!Pe||!Pe.grabbed())&&xt!=je&&(je&&i(je,["mouseout","tapdragout"],z,{x:De[0],y:De[1]}),xt&&i(xt,["mouseover","tapdragover"],z,{x:De[0],y:De[1]}),t.hoverData.last=xt),Pe)if(ut){if(be.boxSelectionEnabled()&&wt)Pe&&Pe.grabbed()&&(x(We),Pe.emit(bt("freeon")),We.emit(bt("free")),t.dragData.didDrag&&(Pe.emit(bt("dragfreeon")),We.emit(bt("dragfree")))),pt();else if(Pe&&Pe.grabbed()&&t.nodeIsDraggable(Pe)){var mr=!t.dragData.didDrag;mr&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||y(We,{inDragLayer:!0});var hr={x:0,y:0};if(Rt(rt[0])&&Rt(rt[1])&&(hr.x+=rt[0],hr.y+=rt[1],mr)){var Br=t.hoverData.dragDelta;Br&&Rt(Br[0])&&Rt(Br[1])&&(hr.x+=Br[0],hr.y+=Br[1])}t.hoverData.draggingEles=!0,We.silentShift(hr).emit(bt("position")).emit(bt("drag")),t.redrawHint("drag",!0),t.redraw()}}else St();oe=!0}if(Ye[2]=De[0],Ye[3]=De[1],oe)return z.stopPropagation&&z.stopPropagation(),z.preventDefault&&z.preventDefault(),!1}},"mousemoveHandler"),!1);var S,A,_;t.registerBinding(e,"mouseup",o(function(z){if(!(t.hoverData.which===1&&z.which!==1&&t.hoverData.capture)){var se=t.hoverData.capture;if(se){t.hoverData.capture=!1;var oe=t.cy,be=t.projectIntoViewport(z.clientX,z.clientY),pe=t.selection,me=t.findNearestElement(be[0],be[1],!0,!1),De=t.dragData.possibleDragElements,Ce=t.hoverData.down,Fe=a(z);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,Ce&&Ce.unactivate();var Ye=o(function(Ut){return{originalEvent:z,type:Ut,position:{x:be[0],y:be[1]}}},"makeEvent");if(t.hoverData.which===3){var xt=Ye("cxttapend");if(Ce?Ce.emit(xt):oe.emit(xt),!t.hoverData.cxtDragged){var je=Ye("cxttap");Ce?Ce.emit(je):oe.emit(je)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(me,["mouseup","tapend","vmouseup"],z,{x:be[0],y:be[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(Ce,["click","tap","vclick"],z,{x:be[0],y:be[1]}),A=!1,z.timeStamp-_<=oe.multiClickDebounceTime()?(S&&clearTimeout(S),A=!0,_=null,i(Ce,["dblclick","dbltap","vdblclick"],z,{x:be[0],y:be[1]})):(S=setTimeout(function(){A||i(Ce,["oneclick","onetap","voneclick"],z,{x:be[0],y:be[1]})},oe.multiClickDebounceTime()),_=z.timeStamp)),Ce==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(z)&&(oe.$(r).unselect(["tapunselect"]),De.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=De=oe.collection()),me==Ce&&!t.dragData.didDrag&&!t.hoverData.selecting&&me!=null&&me._private.selectable&&(t.hoverData.dragging||(oe.selectionType()==="additive"||Fe?me.selected()?me.unselect(["tapunselect"]):me.select(["tapselect"]):Fe||(oe.$(r).unmerge(me).unselect(["tapunselect"]),me.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Pe=oe.collection(t.getAllInBox(pe[0],pe[1],pe[2],pe[3]));t.redrawHint("select",!0),Pe.length>0&&t.redrawHint("eles",!0),oe.emit(Ye("boxend"));var rt=o(function(Ut){return Ut.selectable()&&!Ut.selected()},"eleWouldBeSelected");oe.selectionType()==="additive"||Fe||oe.$(r).unmerge(Pe).unselect(),Pe.emit(Ye("box")).stdFilter(rt).select().emit(Ye("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!pe[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var We=Ce&&Ce.grabbed();x(De),We&&(Ce.emit(Ye("freeon")),De.emit(Ye("free")),t.dragData.didDrag&&(Ce.emit(Ye("dragfreeon")),De.emit(Ye("dragfree"))))}}pe[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},"mouseupHandler"),!1);var N=[],M=4,P,B=1e5,F=o(function(z,se){for(var oe=0;oe=M){var be=N;if(P=F(be,5),!P){var pe=Math.abs(be[0]);P=G(be)&&pe>5}if(P)for(var me=0;me5&&(oe=HP(oe)*5),je=oe/-250,P&&(je/=B,je*=3),je=je*t.wheelSensitivity;var Pe=z.deltaMode===1;Pe&&(je*=33);var rt=De.zoom()*Math.pow(10,je);z.type==="gesturechange"&&(rt=t.gestureStartZoom*z.scale),De.zoom({level:rt,renderedPosition:{x:xt[0],y:xt[1]}}),De.emit({type:z.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:z,position:{x:Ye[0],y:Ye[1]}})}}}},"wheelHandler");t.registerBinding(t.container,"wheel",$,!0),t.registerBinding(e,"scroll",o(function(z){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(z){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||z.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(ue){t.hasTouchStarted||$(ue)},!0),t.registerBinding(t.container,"mouseout",o(function(z){var se=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseout",position:{x:se[0],y:se[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(z){var se=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseover",position:{x:se[0],y:se[1]}})},"mouseOverHandler"),!1);var V,K,ee,H,he,Z,de,re,ne,te,Q,le,J,ge=o(function(z,se,oe,be){return Math.sqrt((oe-z)*(oe-z)+(be-se)*(be-se))},"distance"),ie=o(function(z,se,oe,be){return(oe-z)*(oe-z)+(be-se)*(be-se)},"distanceSq"),Te;t.registerBinding(t.container,"touchstart",Te=o(function(z){if(t.hasTouchStarted=!0,!!O(z)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var se=t.cy,oe=t.touchData.now,be=t.touchData.earlier;if(z.touches[0]){var pe=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);oe[0]=pe[0],oe[1]=pe[1]}if(z.touches[1]){var pe=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);oe[2]=pe[0],oe[3]=pe[1]}if(z.touches[2]){var pe=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);oe[4]=pe[0],oe[5]=pe[1]}var me=o(function(wt){return{originalEvent:z,type:wt,position:{x:oe[0],y:oe[1]}}},"makeEvent");if(z.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var De=t.findContainerClientCoords();ne=De[0],te=De[1],Q=De[2],le=De[3],V=z.touches[0].clientX-ne,K=z.touches[0].clientY-te,ee=z.touches[1].clientX-ne,H=z.touches[1].clientY-te,J=0<=V&&V<=Q&&0<=ee&&ee<=Q&&0<=K&&K<=le&&0<=H&&H<=le;var Ce=se.pan(),Fe=se.zoom();he=ge(V,K,ee,H),Z=ie(V,K,ee,H),de=[(V+ee)/2,(K+H)/2],re=[(de[0]-Ce.x)/Fe,(de[1]-Ce.y)/Fe];var Ye=200,xt=Ye*Ye;if(Z=1){for(var Tt=t.touchData.startPosition=[null,null,null,null,null,null],Mt=0;Mt=t.touchTapThreshold2}if(se&&t.touchData.cxt){z.preventDefault();var Mt=z.touches[0].clientX-ne,mt=z.touches[0].clientY-te,at=z.touches[1].clientX-ne,wt=z.touches[1].clientY-te,St=ie(Mt,mt,at,wt),bt=St/Z,pt=150,Zr=pt*pt,Lt=1.5,Dn=Lt*Lt;if(bt>=Dn||St>=Zr){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Hr=Fe("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(Hr),t.touchData.start=null):be.emit(Hr)}}if(se&&t.touchData.cxt){var Hr=Fe("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Hr):be.emit(Hr),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var mr=t.findNearestElement(pe[0],pe[1],!0,!0);(!t.touchData.cxtOver||mr!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(Fe("cxtdragout")),t.touchData.cxtOver=mr,mr&&mr.emit(Fe("cxtdragover")))}else if(se&&z.touches[2]&&be.boxSelectionEnabled())z.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||be.emit(Fe("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,oe[4]=1,!oe||oe.length===0||oe[0]===void 0?(oe[0]=(pe[0]+pe[2]+pe[4])/3,oe[1]=(pe[1]+pe[3]+pe[5])/3,oe[2]=(pe[0]+pe[2]+pe[4])/3+1,oe[3]=(pe[1]+pe[3]+pe[5])/3+1):(oe[2]=(pe[0]+pe[2]+pe[4])/3,oe[3]=(pe[1]+pe[3]+pe[5])/3),t.redrawHint("select",!0),t.redraw();else if(se&&z.touches[1]&&!t.touchData.didSelect&&be.zoomingEnabled()&&be.panningEnabled()&&be.userZoomingEnabled()&&be.userPanningEnabled()){z.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var hr=t.dragData.touchDragEles;if(hr){t.redrawHint("drag",!0);for(var Br=0;Br0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var Ge;t.registerBinding(e,"touchcancel",Ge=o(function(z){var se=t.touchData.start;t.touchData.capture=!1,se&&se.unactivate()},"touchcancelHandler"));var ye,$e,Xe,Ue;if(t.registerBinding(e,"touchend",ye=o(function(z){var se=t.touchData.start,oe=t.touchData.capture;if(oe)z.touches.length===0&&(t.touchData.capture=!1),z.preventDefault();else return;var be=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var pe=t.cy,me=pe.zoom(),De=t.touchData.now,Ce=t.touchData.earlier;if(z.touches[0]){var Fe=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);De[0]=Fe[0],De[1]=Fe[1]}if(z.touches[1]){var Fe=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);De[2]=Fe[0],De[3]=Fe[1]}if(z.touches[2]){var Fe=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);De[4]=Fe[0],De[5]=Fe[1]}var Ye=o(function(Zr){return{originalEvent:z,type:Zr,position:{x:De[0],y:De[1]}}},"makeEvent");se&&se.unactivate();var xt;if(t.touchData.cxt){if(xt=Ye("cxttapend"),se?se.emit(xt):pe.emit(xt),!t.touchData.cxtDragged){var je=Ye("cxttap");se?se.emit(je):pe.emit(je)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!z.touches[2]&&pe.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Pe=pe.collection(t.getAllInBox(be[0],be[1],be[2],be[3]));be[0]=void 0,be[1]=void 0,be[2]=void 0,be[3]=void 0,be[4]=0,t.redrawHint("select",!0),pe.emit(Ye("boxend"));var rt=o(function(Zr){return Zr.selectable()&&!Zr.selected()},"eleWouldBeSelected");Pe.emit(Ye("box")).stdFilter(rt).select().emit(Ye("boxselect")),Pe.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(se?.unactivate(),z.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!z.touches[1]){if(!z.touches[0]){if(!z.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var We=t.dragData.touchDragEles;if(se!=null){var ut=se._private.grabbed;x(We),t.redrawHint("drag",!0),t.redrawHint("eles",!0),ut&&(se.emit(Ye("freeon")),We.emit(Ye("free")),t.dragData.didDrag&&(se.emit(Ye("dragfreeon")),We.emit(Ye("dragfree")))),i(se,["touchend","tapend","vmouseup","tapdragout"],z,{x:De[0],y:De[1]}),se.unactivate(),t.touchData.start=null}else{var Ut=t.findNearestElement(De[0],De[1],!0,!0);i(Ut,["touchend","tapend","vmouseup","tapdragout"],z,{x:De[0],y:De[1]})}var Tt=t.touchData.startPosition[0]-De[0],Mt=Tt*Tt,mt=t.touchData.startPosition[1]-De[1],at=mt*mt,wt=Mt+at,St=wt*me*me;t.touchData.singleTouchMoved||(se||pe.$(":selected").unselect(["tapunselect"]),i(se,["tap","vclick"],z,{x:De[0],y:De[1]}),$e=!1,z.timeStamp-Ue<=pe.multiClickDebounceTime()?(Xe&&clearTimeout(Xe),$e=!0,Ue=null,i(se,["dbltap","vdblclick"],z,{x:De[0],y:De[1]})):(Xe=setTimeout(function(){$e||i(se,["onetap","voneclick"],z,{x:De[0],y:De[1]})},pe.multiClickDebounceTime()),Ue=z.timeStamp)),se!=null&&!t.dragData.didDrag&&se._private.selectable&&St"u"){var Le=[],Ie=o(function(z){return{clientX:z.clientX,clientY:z.clientY,force:1,identifier:z.pointerId,pageX:z.pageX,pageY:z.pageY,radiusX:z.width/2,radiusY:z.height/2,screenX:z.screenX,screenY:z.screenY,target:z.target}},"makeTouch"),Me=o(function(z){return{event:z,touch:Ie(z)}},"makePointer"),Ae=o(function(z){Le.push(Me(z))},"addPointer"),ze=o(function(z){for(var se=0;se0)return V[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:m0e(a,s,e,r,n,i,l,u)},"intersectLine"),checkPoint:o(function(e,r,n,i,a,s,l,u){u=u==="auto"?yd(i,a):u;var h=2*u;if(Lh(e,r,this.points,s,l,i,a-h,[0,-1],n)||Lh(e,r,this.points,s,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(fo(e,r,p)||P0(e,r,h,h,s+i/2-u,l+a/2-u,n)||P0(e,r,h,h,s-i/2+u,l+a/2-u,n))},"checkPoint")}};Nh.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Rs(3,0)),this.generateRoundPolygon("round-triangle",Rs(3,0)),this.generatePolygon("rectangle",Rs(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Rs(5,0)),this.generateRoundPolygon("round-pentagon",Rs(5,0)),this.generatePolygon("hexagon",Rs(6,0)),this.generateRoundPolygon("round-hexagon",Rs(6,0)),this.generatePolygon("heptagon",Rs(7,0)),this.generateRoundPolygon("round-heptagon",Rs(7,0)),this.generatePolygon("octagon",Rs(8,0)),this.generateRoundPolygon("round-octagon",Rs(8,0));var n=new Array(20);{var i=xP(5,0),a=xP(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*E)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(T>=e.deqNoDrawCost*uP)break;var w=e.deq(n,v,y);if(w.length>0)for(var k=0;k0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||qP;i.beforeRender(s,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},_Qe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:OE;Td(this,t),this.idsByKey=new Dh,this.keyForId=new Dh,this.cachesByLvl=new Dh,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),wd(t,[{key:"getIdsFor",value:o(function(r){r==null&&si("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new j1,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Dh,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:o(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:o(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:o(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:o(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:o(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}])})(),Lpe=25,xE=50,RE=-4,MP=3,xme=7.99,DQe=8,RQe=1024,LQe=1024,NQe=1024,MQe=.2,IQe=.8,OQe=10,PQe=.15,BQe=.1,FQe=.9,$Qe=.9,zQe=100,GQe=1,z1={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},VQe=za({getKey:null,doesEleInvalidateKey:OE,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:l0e,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Sb=o(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=VQe(r);cr(n,i),n.lookup=new _Qe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),ta=Sb.prototype;ta.reasons=z1;ta.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};ta.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};ta.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Ub(function(r,n){return n.reqs-r.reqs});return e};ta.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};ta.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(WP(l*r))),n=xme||n>MP)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=Lpe?g=Lpe:f<=xE?g=xE:g=Math.ceil(f/xE)*xE,f>NQe||d>LQe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;L--)R=a.getElement(t,e,r,L,z1.downscale);O()}else return a.queueElement(t,k.level-1),k;else{var S;if(!T&&!E&&!w)for(var A=n-1;A>=RE;A--){var _=u.get(t,A);if(_){S=_;break}}if(b(S))return a.queueElement(t,n),S;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+DQe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};ta.invalidateElements=function(t){for(var e=0;e=MQe*t.width&&this.retireTexture(t)};ta.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>IQe&&t.fullnessChecks>=OQe?gd(r,t):t.fullnessChecks++};ta.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;gd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,UP(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),gd(i,s),n.push(s),s}};ta.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};ta.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,z1.dequeue)}return i};ta.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=VP,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};ta.onDequeue=function(t){this.onDequeues.push(t)};ta.offDequeue=function(t){gd(this.onDequeues,t)};ta.setupDequeueing=vme.setupDequeueing({deqRedrawThreshold:zQe,deqCost:PQe,deqAvgCost:BQe,deqNoDrawCost:FQe,deqFastCost:$Qe,deq:o(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:o(function(e,r){for(var n=0;n=UQe||r>qE)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=o(function(){var O=o(function(N){if(n.validateLayersElesOrdering(N,t),n.levelIsComplete(N,t))return m=u[N],!0},"canUseAsTmpLvl"),L=o(function(N){if(!m)for(var M=r+N;Cb<=M&&M<=qE&&!O(M);M+=N);},"checkLvls");L(1),L(-1);for(var S=f.length-1;S>=0;S--){var A=f[S];A.invalid&&gd(f,A)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=Ls();for(var O=0;OMpe||A>Mpe)return null;var _=S*A;if(_>ZQe)return null;var N=n.makeLayer(d,r);if(L!=null){var M=f.indexOf(L)+1;f.splice(M,0,N)}else(O.insert===void 0||O.insert)&&f.unshift(N);return N},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/qQe,T=!l,E=0;E=b||!p0e(x.bb,w.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||T?n.queueLayer(x,w):n.drawEleInLayer(x,w,r,e),x.eles.push(w),C[r]=x}return m||(T?null:f)};Ga.getEleLevelForLayerLevel=function(t,e){return t};Ga.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,JQe),a.setImgSmoothing(s,!0))};Ga.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ga.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ga.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Rh(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};Ga.invalidateLayer=function(t){if(this.lastInvalidationTime=Rh(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];gd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,T=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,N),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,N),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),E=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],N);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),w=o(function(){i&&s.drawEdgeOverlay(t,e)},"drawOverlay"),k=o(function(){i&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),C=o(function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,N)},"drawArrows"),D=o(function(){s.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var R=e.pstyle("ghost").value==="yes";if(R){var O=e.pstyle("ghost-offset-x").pfValue,L=e.pstyle("ghost-offset-y").pfValue,S=e.pstyle("ghost-opacity").value,A=x*S;t.translate(O,L),T(A),C(A),t.translate(-O,-L)}else E();k(),T(),C(),w(),D(),r&&t.translate(u.x1,u.y1)}};wme=o(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");Mh.drawEdgeOverlay=wme("overlay");Mh.drawEdgeUnderlay=wme("underlay");Mh.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(s=e=i.pathCache,l=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};q0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(uZe,"circle");o(Bpe,"roundRect");q0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var l=ho(i,"labelAngle",e);r=t.isEdge()?l:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};q0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=ho(s,"labelX",r),h=ho(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=ho(s,"labelWidth",r),y=ho(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;b&&(T="center",E="center"),u+=v,h+=x;var w;switch(n?w=this.getTextAngle(e,r):w=0,w!==0&&(f=u,d=h,t.translate(f,d),t.rotate(w),u=0,h=0),E){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var k=e.pstyle("text-background-opacity").value,C=e.pstyle("text-border-opacity").value,D=e.pstyle("text-border-width").pfValue,R=e.pstyle("text-background-padding").pfValue,O=e.pstyle("text-background-shape").strValue,L=O==="round-rectangle"||O==="roundrectangle",S=O==="circle",A=2;if(k>0||D>0&&C>0){var _=t.fillStyle,N=t.strokeStyle,M=t.lineWidth,P=e.pstyle("text-background-color").value,B=e.pstyle("text-border-color").value,F=e.pstyle("text-border-style").value,G=k>0,$=D>0&&C>0,V=u-R;switch(T){case"left":V-=g;break;case"center":V-=g/2;break}var K=h-y-R,ee=g+2*R,H=y+2*R;if(G&&(t.fillStyle="rgba(".concat(P[0],",").concat(P[1],",").concat(P[2],",").concat(k*l,")")),$&&(t.strokeStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(C*l,")"),t.lineWidth=D,t.setLineDash))switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=D/4,t.setLineDash([]);break;case"solid":default:t.setLineDash([]);break}if(L?(t.beginPath(),Bpe(t,V,K,ee,H,A)):S?(t.beginPath(),uZe(t,V,K,ee,H)):(t.beginPath(),t.rect(V,K,ee,H)),G&&t.fill(),$&&t.stroke(),$&&F==="double"){var he=D/2;t.beginPath(),L?Bpe(t,V+he,K+he,ee-2*he,H-2*he,A):t.rect(V+he,K+he,ee-2*he,H-2*he),t.stroke()}t.fillStyle=_,t.strokeStyle=N,t.lineWidth=M,t.setLineDash&&t.setLineDash([])}var Z=2*e.pstyle("text-outline-width").pfValue;if(Z>0&&(t.lineWidth=Z),e.pstyle("text-wrap").value==="wrap"){var de=ho(s,"labelWrapCachedLines",r),re=ho(s,"labelLineHeight",r),ne=g/2,te=this.getLabelJustification(e);switch(te==="auto"||(T==="left"?te==="left"?u+=-g:te==="center"&&(u+=-ne):T==="center"?te==="left"?u+=-ne:te==="right"&&(u+=ne):T==="right"&&(te==="center"?u+=ne:te==="right"&&(u+=g))),E){case"top":h-=(de.length-1)*re;break;case"center":case"bottom":h-=(de.length-1)*re;break}for(var Q=0;Q0&&t.strokeText(de[Q],u,h),t.fillText(de[Q],u,h),h+=re}else Z>0&&t.strokeText(p,u,h),t.fillText(p,u,h);w!==0&&(t.rotate(-w),t.translate(-f,-d))}}};Sd={};Sd.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!Rt(d.x)||!Rt(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),T=b.value,E=new Array(T.length),w=new Array(T.length),k=0,C=0;C0&&arguments[0]!==void 0?arguments[0]:A;s.eleFillStyle(t,e,U)},"setupShapeColor"),re=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;s.colorStrokeStyle(t,_[0],_[1],_[2],U)},"setupBorderColor"),ne=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H;s.colorStrokeStyle(t,K[0],K[1],K[2],U)},"setupOutlineColor"),te=o(function(U,ue,z,se){var oe=s.nodePathCache=s.nodePathCache||[],be=o0e(z==="polygon"?z+","+se.join(","):z,""+ue,""+U,""+Z),pe=oe[be],me,De=!1;return pe!=null?(me=pe,De=!0,f.pathCache=me):(me=new Path2D,oe[be]=f.pathCache=me),{path:me,cacheHit:De}},"getPath"),Q=e.pstyle("shape").strValue,le=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var J=te(l,u,Q,le);g=J.path,y=J.cacheHit}var ge=o(function(){if(!y){var U=d;m&&(U={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,U.x,U.y,l,u,Z,f)}m?t.fill(g):t.fill()},"drawShape"),ie=o(function(){for(var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,z=h.backgrounding,se=0,oe=0;oe0&&arguments[0]!==void 0?arguments[0]:!1,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,ue),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Z,f)))},"drawPie"),j=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasStripe(e)&&(t.save(),m?t.clip(f.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Z,f),t.clip()),s.drawStripe(t,e,ue),t.restore(),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Z,f)))},"drawStripe"),Ge=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ue=(L>0?L:-L)*U,z=L>0?0:255;L!==0&&(s.colorFillStyle(t,z,z,z,ue),m?t.fill(g):t.fill())},"darken"),ye=o(function(){if(S>0){if(t.lineWidth=S,t.lineCap=P,t.lineJoin=M,t.setLineDash)switch(N){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(F),t.lineDashOffset=G;break;case"solid":case"double":t.setLineDash([]);break}if(B!=="center"){if(t.save(),t.lineWidth*=2,B==="inside")m?t.clip(g):t.clip();else{var U=new Path2D;U.rect(-l/2-S,-u/2-S,l+2*S,u+2*S),U.addPath(g),t.clip(U,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(N==="double"){t.lineWidth=S/3;var ue=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=ue}t.setLineDash&&t.setLineDash([])}},"drawBorder"),$e=o(function(){if(V>0){if(t.lineWidth=V,t.lineCap="butt",t.setLineDash)switch(ee){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var U=d;m&&(U={x:0,y:0});var ue=s.getNodeShape(e),z=S;B==="inside"&&(z=0),B==="outside"&&(z*=2);var se=(l+z+(V+he))/l,oe=(u+z+(V+he))/u,be=l*se,pe=u*oe,me=s.nodeShapes[ue].points,De;if(m){var Ce=te(be,pe,ue,me);De=Ce.path}if(ue==="ellipse")s.drawEllipsePath(De||t,U.x,U.y,be,pe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ue)){var Fe=0,Ye=0,xt=0;ue==="round-diamond"?Fe=(z+he+V)*1.4:ue==="round-heptagon"?(Fe=(z+he+V)*1.075,xt=-(z/2+he+V)/35):ue==="round-hexagon"?Fe=(z+he+V)*1.12:ue==="round-pentagon"?(Fe=(z+he+V)*1.13,xt=-(z/2+he+V)/15):ue==="round-tag"?(Fe=(z+he+V)*1.12,Ye=(z/2+V+he)*.07):ue==="round-triangle"&&(Fe=(z+he+V)*(Math.PI/2),xt=-(z+he/2+V)/Math.PI),Fe!==0&&(se=(l+Fe)/l,be=l*se,["round-hexagon","round-tag"].includes(ue)||(oe=(u+Fe)/u,pe=u*oe)),Z=Z==="auto"?y0e(be,pe):Z;for(var je=be/2,Pe=pe/2,rt=Z+(z+V+he)/2,We=new Array(me.length/2),ut=new Array(me.length/2),Ut=0;Ut0){if(i=i||n.position(),a==null||s==null){var m=n.padding();a=n.width()+2*m,s=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");Sd.drawNodeOverlay=kme("overlay");Sd.drawNodeUnderlay=kme("underlay");Sd.hasPie=function(t){return t=t[0],t._private.hasPie};Sd.hasStripe=function(t){return t=t[0],t._private.hasStripe};Sd.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),l=e.pstyle("pie-start-angle").pfValue,u=n.x,h=n.y,f=e.width(),d=e.height(),p=Math.min(f,d)/2,m,g=0,y=this.usePaths();if(y&&(u=0,h=0),a.units==="%"?p=p*a.pfValue:a.pfValue!==void 0&&(p=a.pfValue/2),s.units==="%"?m=p*s.pfValue:s.pfValue!==void 0&&(m=s.pfValue/2),!(m>=p))for(var v=1;v<=i.pieBackgroundN;v++){var x=e.pstyle("pie-"+v+"-background-size").value,b=e.pstyle("pie-"+v+"-background-color").value,T=e.pstyle("pie-"+v+"-background-opacity").value*r,E=x/100;E+g>1&&(E=1-g);var w=1.5*Math.PI+2*Math.PI*g;w+=l;var k=2*Math.PI*E,C=w+k;x===0||g>=1||g+E>1||(m===0?(t.beginPath(),t.moveTo(u,h),t.arc(u,h,p,w,C),t.closePath()):(t.beginPath(),t.arc(u,h,p,w,C),t.arc(u,h,m,C,w,!0),t.closePath()),this.colorFillStyle(t,b[0],b[1],b[2],T),t.fill(),g+=E)}};Sd.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,l=e.width(),u=e.height(),h=0,f=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,p=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var m=l,g=u;p.units==="%"?(m=m*p.pfValue,g=g*p.pfValue):p.pfValue!==void 0&&(m=p.pfValue,g=p.pfValue),f&&(a=0,s=0),s-=m/2,a-=g/2;for(var y=1;y<=i.stripeBackgroundN;y++){var v=e.pstyle("stripe-"+y+"-background-size").value,x=e.pstyle("stripe-"+y+"-background-color").value,b=e.pstyle("stripe-"+y+"-background-opacity").value*r,T=v/100;T+h>1&&(T=1-h),!(v===0||h>=1||h+T>1)&&(t.beginPath(),t.rect(a,s+g*h,m,g*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],b),t.fill(),h+=T)}t.restore()};Ns={},hZe=100;Ns.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};Ns.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(f[e.NODE]=!0,f[e.SELECT_BOX]=!0);var b=r.style(),T=r.zoom(),E=s!==void 0?s:T,w=r.pan(),k={x:w.x,y:w.y},C={zoom:T,pan:{x:w.x,y:w.y}},D=e.prevViewport,R=D===void 0||C.zoom!==D.zoom||C.pan.x!==D.pan.x||C.pan.y!==D.pan.y;!R&&!(y&&!g)&&(e.motionBlurPxRatio=1),l&&(k=l),E*=u,k.x*=u,k.y*=u;var O=e.getCachedZSortedEles();function L(re,ne,te,Q,le){var J=re.globalCompositeOperation;re.globalCompositeOperation="destination-out",e.colorFillStyle(re,255,255,255,e.motionBlurTransparency),re.fillRect(ne,te,Q,le),re.globalCompositeOperation=J}o(L,"mbclear");function S(re,ne){var te,Q,le,J;!e.clearingMotionBlur&&(re===h.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||re===h.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(te={x:w.x*m,y:w.y*m},Q=T*m,le=e.canvasWidth*m,J=e.canvasHeight*m):(te=k,Q=E,le=e.canvasWidth,J=e.canvasHeight),re.setTransform(1,0,0,1,0,0),ne==="motionBlur"?L(re,0,0,le,J):!n&&(ne===void 0||ne)&&re.clearRect(0,0,le,J),i||(re.translate(te.x,te.y),re.scale(Q,Q)),l&&re.translate(l.x,l.y),s&&re.scale(s,s)}if(o(S,"setContextTransform"),d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var 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 C=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};C.mpan={x:(0-C.pan.x)/C.zoom,y:(0-C.pan.y)/C.zoom}}f[e.DRAG]=!1,f[e.NODE]=!1;var _=h.contexts[e.NODE],N=e.textureCache.texture,C=e.textureCache.viewport;_.setTransform(1,0,0,1,0,0),p?L(_,0,0,C.width,C.height):_.clearRect(0,0,C.width,C.height);var M=b.core("outside-texture-bg-color").value,P=b.core("outside-texture-bg-opacity").value;e.colorFillStyle(_,M[0],M[1],M[2],P),_.fillRect(0,0,C.width,C.height);var T=r.zoom();S(_,!1),_.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/u,C.height/C.zoom/u),_.drawImage(N,C.mpan.x,C.mpan.y,C.width/C.zoom/u,C.height/C.zoom/u)}else e.textureOnViewport&&!n&&(e.textureCache=null);var B=r.extent(),F=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),G=e.hideEdgesOnViewport&&F,$=[];if($[e.NODE]=!f[e.NODE]&&p&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,$[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),$[e.DRAG]=!f[e.DRAG]&&p&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,$[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),f[e.NODE]||i||a||$[e.NODE]){var V=p&&!$[e.NODE]&&m!==1,_=n||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:h.contexts[e.NODE]),K=p&&!V?"motionBlur":void 0;S(_,K),G?e.drawCachedNodes(_,O.nondrag,u,B):e.drawLayeredElements(_,O.nondrag,u,B),e.debug&&e.drawDebugPoints(_,O.nondrag),!i&&!p&&(f[e.NODE]=!1)}if(!a&&(f[e.DRAG]||i||$[e.DRAG])){var V=p&&!$[e.DRAG]&&m!==1,_=n||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:h.contexts[e.DRAG]);S(_,p&&!V?"motionBlur":void 0),G?e.drawCachedNodes(_,O.drag,u,B):e.drawCachedElements(_,O.drag,u,B),e.debug&&e.drawDebugPoints(_,O.drag),!i&&!p&&(f[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,S),p&&m!==1){var ee=h.contexts[e.NODE],H=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],he=h.contexts[e.DRAG],Z=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],de=o(function(ne,te,Q){ne.setTransform(1,0,0,1,0,0),Q||!x?ne.clearRect(0,0,e.canvasWidth,e.canvasHeight):L(ne,0,0,e.canvasWidth,e.canvasHeight);var le=m;ne.drawImage(te,0,0,e.canvasWidth*le,e.canvasHeight*le,0,0,e.canvasWidth,e.canvasHeight)},"drawMotionBlur");(f[e.NODE]||$[e.NODE])&&(de(ee,H,$[e.NODE]),f[e.NODE]=!1),(f[e.DRAG]||$[e.DRAG])&&(de(he,Z,$[e.DRAG]),f[e.DRAG]=!1)}e.prevViewport=C,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),p&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,f[e.NODE]=!0,f[e.DRAG]=!0,e.redraw()},hZe)),n||r.emit("render")};Ns.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,l=t.drawAllLayers,u=i.canvasNeedsRedraw,h=t.forcedContext;if(r.showFps||!s&&u[r.SELECT_BOX]&&!l){var f=h||i.contexts[r.SELECT_BOX];if(e(f),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),p=a.core("selection-box-border-width").value/d;f.lineWidth=p,f.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",f.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),p>0&&(f.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",f.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),m=i.bgActivePosistion;f.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",f.beginPath(),f.arc(m.x,m.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),f.fill()}var g=r.lastRedrawTime;if(r.showFps&&g){g=Math.round(g);var y=Math.round(1e3/g),v="1 frame = "+g+" ms = "+y+" fps";if(f.setTransform(1,0,0,1,0,0),f.fillStyle="rgba(255, 0, 0, 0.75)",f.strokeStyle="rgba(255, 0, 0, 0.75)",f.font="30px Arial",!xb){var x=f.measureText(v);xb=x.actualBoundingBoxAscent}f.fillText(v,0,xb);var b=60;f.strokeRect(0,xb+10,250,20),f.fillRect(0,xb+10,250*Math.min(y/b,1),20)}l||(u[r.SELECT_BOX]=!1)}};o(Fpe,"compileShader");o(fZe,"createProgram");o(dZe,"createTextureCanvas");o(lB,"getEffectivePanZoom");o(pZe,"getEffectiveZoom");o(mZe,"modelToRenderedPosition");o(gZe,"isSimpleShape");o(yZe,"arrayEqual");o(R0,"toWebGLColor");o(O1,"indexToVec4");o(vZe,"vec4ToIndex");o(xZe,"createTexture");o(Sme,"getTypeInfo");o(Eme,"createTypedArray");o(bZe,"createTypedArrayView");o(TZe,"createBufferStaticDraw");o(yu,"createBufferDynamicDraw");o(wZe,"create3x3MatrixBufferDynamicDraw");o(kZe,"createPickingFrameBuffer");$pe=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});o(fP,"create");o(zpe,"identity");o(SZe,"multiply");o(LE,"translate");o(Gpe,"rotate");o(IP,"scale");o(EZe,"projection");CZe=(function(){function t(e,r,n,i){Td(this,t),this.debugID=Math.floor(Math.random()*1e4),this.r=e,this.texSize=r,this.texRows=n,this.texHeight=Math.floor(r/n),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=i(e,r,r),this.scratch=i(e,r,this.texHeight,"scratch")}return o(t,"Atlas"),wd(t,[{key:"lock",value:o(function(){this.locked=!0},"lock")},{key:"getKeys",value:o(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:o(function(r){var n=r.w,i=r.h,a=this.texHeight,s=this.texSize,l=a/i,u=n*l,h=i*l;return u>s&&(l=s/n,u=n*l,h=i*l),{scale:l,texW:u,texH:h}},"getScale")},{key:"draw",value:o(function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,l=this.texRows,u=this.texHeight,h=this.getScale(n),f=h.scale,d=h.texW,p=h.texH,m=o(function(T,E){if(i&&E){var w=E.context,k=T.x,C=T.row,D=k,R=u*C;w.save(),w.translate(D,R),w.scale(f,f),i(w,n),w.restore()}},"drawAt"),g=[null,null],y=o(function(){m(a.freePointer,a.canvas),g[0]={x:a.freePointer.x,y:a.freePointer.row*u,w:d,h:p},g[1]={x:a.freePointer.x+d,y:a.freePointer.row*u,w:0,h:p},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),v=o(function(){var T=a.scratch,E=a.canvas;T.clear(),m({x:0,row:0},T);var w=s-a.freePointer.x,k=d-w,C=u;{var D=a.freePointer.x,R=a.freePointer.row*u,O=w;E.context.drawImage(T,0,0,O,C,D,R,O,C),g[0]={x:D,y:R,w:O,h:p}}{var L=w,S=(a.freePointer.row+1)*u,A=k;E&&E.context.drawImage(T,L,0,A,C,0,S,A,C),g[1]={x:0,y:S,w:A,h:p}}a.freePointer.x=k,a.freePointer.row++},"drawWrapped"),x=o(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+d<=s)y();else{if(this.freePointer.row>=l-1)return!1;this.freePointer.x===s?(x(),y()):this.enableWrapping?v():(x(),y())}return this.keyToLocation.set(r,g),this.needsBuffer=!0,g},"draw")},{key:"getOffsets",value:o(function(r){return this.keyToLocation.get(r)},"getOffsets")},{key:"isEmpty",value:o(function(){return this.freePointer.x===0&&this.freePointer.row===0},"isEmpty")},{key:"canFit",value:o(function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,l=i.filterEle,u=l===void 0?function(){return!0}:l,h=i.filterType,f=h===void 0?function(){return!0}:h,d=!1,p=!1,m=po(r),g;try{for(m.s();!(g=m.n()).done;){var y=g.value;if(u(y)){var v=po(this.renderTypes.values()),x;try{var b=o(function(){var E=x.value,w=E.type;if(f(w)){var k=n.collections.get(E.collection),C=E.getKey(y),D=Array.isArray(C)?C:[C];if(s)D.forEach(function(S){return k.markKeyForGC(S)}),p=!0;else{var R=E.getID?E.getID(y):y.id(),O=n._key(w,R),L=n.typeAndIdToKey.get(O);L!==void 0&&!yZe(D,L)&&(d=!0,n.typeAndIdToKey.delete(O),L.forEach(function(S){return k.markKeyForGC(S)}))}}},"_loop2");for(v.s();!(x=v.n()).done;)b()}catch(T){v.e(T)}finally{v.f()}}}}catch(T){m.e(T)}finally{m.f()}return p&&(this.gc(),d=!1),d},"invalidate")},{key:"gc",value:o(function(){var r=po(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}},"gc")},{key:"getOrCreateAtlas",value:o(function(r,n,i,a){var s=this.renderTypes.get(n),l=this.collections.get(s.collection),u=!1,h=l.draw(a,i,function(p){s.drawClipped?(p.save(),p.beginPath(),p.rect(0,0,i.w,i.h),p.clip(),s.drawElement(p,r,i,!0,!0),p.restore()):s.drawElement(p,r,i,!0,!0),u=!0});if(u){var f=s.getID?s.getID(r):r.id(),d=this._key(n,f);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return h},"getOrCreateAtlas")},{key:"getAtlasInfo",value:o(function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),l=Array.isArray(s)?s:[s];return l.map(function(u){var h=a.getBoundingBox(r,u),f=i.getOrCreateAtlas(r,n,h,u),d=f.getOffsets(u),p=Vi(d,2),m=p[0],g=p[1];return{atlas:f,tex:m,tex1:m,tex2:g,bb:h}})},"getAtlasInfo")},{key:"getDebugInfo",value:o(function(){var r=[],n=po(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Vi(i.value,2),s=a[0],l=a[1],u=l.getCounts(),h=u.keyCount,f=u.atlasCount;r.push({type:s,keyCount:h,atlasCount:f})}}catch(d){n.e(d)}finally{n.f()}return r},"getDebugInfo")}])})(),RZe=(function(){function t(e){Td(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return o(t,"AtlasBatchManager"),wd(t,[{key:"getMaxAtlasesPerBatch",value:o(function(){return this.maxAtlasesPerBatch},"getMaxAtlasesPerBatch")},{key:"getAtlasSize",value:o(function(){return this.atlasSize},"getAtlasSize")},{key:"getIndexArray",value:o(function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})},"getIndexArray")},{key:"startBatch",value:o(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:o(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:o(function(){return this.batchAtlases},"getAtlases")},{key:"canAddToCurrentBatch",value:o(function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0},"canAddToCurrentBatch")},{key:"getAtlasIndexForBatch",value:o(function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n},"getAtlasIndexForBatch")}])})(),LZe=` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(K.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(K.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){K.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let T=await ede(d,v.graph,r,n,e.node(y),a),E=T.elem;rt(v,E),v.diff=T.diff||0,K.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),xoe(E,v)}else e.children(y).length>0?(K.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),K.trace(B1(v.id,e)),Vr.set(v.id,{id:B1(v.id,e),node:v})):(K.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await y1(d,e.node(y),{config:a,dir:s}))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);K.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),K.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),K.info("Fix",Vr,"ids:",v.v,v.w,"Translating: ",Vr.get(v.v),Vr.get(v.w)),await fE(f,x)});await Promise.all(y)},"processEdges")(),K.info("Graph before layout:",JSON.stringify(Rl(e))),K.info("############################################# XXX"),K.info("### Layout ### XXX"),K.info("############################################# XXX"),Cb(e),K.info("Graph after layout:",JSON.stringify(Rl(e)));let m=0,{subGraphTitleTotalMargin:g}=Lh(a);return await Promise.all(Zfe(e).map(async function(y){let v=e.node(y);if(K.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,K.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Vr.get(v.id).node=v,vb(v);else if(e.children(y).length>0){K.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,T=b-x||0;K.debug("OffsetY",T,"labelHeight",b,"halfPadding",x),await g1(u,v),Vr.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,K.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),vb(v)}})),e.edges().forEach(function(y){let v=e.edge(y);K.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(E=>E.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let T=pE(h,v,Vr,r,x,b,n);dE(v,T)}),e.nodes().forEach(function(y){let v=e.node(y);K.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),K.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),oje=o(async(t,e)=>{let r=new wn({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");mE(n,t.markers,t.type,t.diagramId),boe(),voe(),hoe(),Hfe(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),K.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",p.arrowTypeStart="none",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyct.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:o(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,l=!1;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return s=u.done,u},"n"),e:o(function(u){l=!0,a=u},"e"),f:o(function(){try{s||r.return==null||r.return()}finally{if(l)throw a}},"f")}}function L0e(t,e,r){return(e=N0e(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function hje(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function fje(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,l=[],u=!0,h=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(l.push(n.value),l.length!==e);u=!0);}catch(f){h=!0,i=f}finally{try{if(!u&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(h)throw i}}return l}}function dje(){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 pje(){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 Wi(t,e){return lje(t)||fje(t,e)||eB(t,e)||dje()}function WS(t){return cje(t)||hje(t)||eB(t)||pje()}function mje(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function N0e(t){var e=mje(t,"string");return typeof e=="symbol"?e:e+""}function aa(t){"@babel/helpers - typeof";return aa=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},aa(t)}function eB(t,e){if(t){if(typeof t=="string")return IP(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?IP(t,e):void 0}}function Zb(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Jb(){if(ade)return iO;ade=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return o(t,"isObject"),iO=t,iO}function Fje(){if(sde)return aO;sde=1;var t=typeof TS=="object"&&TS&&TS.Object===Object&&TS;return aO=t,aO}function sC(){if(ode)return sO;ode=1;var t=Fje(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return sO=r,sO}function $je(){if(lde)return oO;lde=1;var t=sC(),e=o(function(){return t.Date.now()},"now");return oO=e,oO}function zje(){if(cde)return lO;cde=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return o(e,"trimmedEndIndex"),lO=e,lO}function Gje(){if(ude)return cO;ude=1;var t=zje(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return o(r,"baseTrim"),cO=r,cO}function nB(){if(hde)return uO;hde=1;var t=sC(),e=t.Symbol;return uO=e,uO}function Vje(){if(fde)return hO;fde=1;var t=nB(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,i=t?t.toStringTag:void 0;function a(s){var l=r.call(s,i),u=s[i];try{s[i]=void 0;var h=!0}catch{}var f=n.call(s);return h&&(l?s[i]=u:delete s[i]),f}return o(a,"getRawTag"),hO=a,hO}function qje(){if(dde)return fO;dde=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return o(r,"objectToString"),fO=r,fO}function G0e(){if(pde)return dO;pde=1;var t=nB(),e=Vje(),r=qje(),n="[object Null]",i="[object Undefined]",a=t?t.toStringTag:void 0;function s(l){return l==null?l===void 0?i:n:a&&a in Object(l)?e(l):r(l)}return o(s,"baseGetTag"),dO=s,dO}function Uje(){if(mde)return pO;mde=1;function t(e){return e!=null&&typeof e=="object"}return o(t,"isObjectLike"),pO=t,pO}function eT(){if(gde)return mO;gde=1;var t=G0e(),e=Uje(),r="[object Symbol]";function n(i){return typeof i=="symbol"||e(i)&&t(i)==r}return o(n,"isSymbol"),mO=n,mO}function Wje(){if(yde)return gO;yde=1;var t=Gje(),e=Jb(),r=eT(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,l=parseInt;function u(h){if(typeof h=="number")return h;if(r(h))return n;if(e(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=e(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=t(h);var d=a.test(h);return d||s.test(h)?l(h.slice(2),d?2:8):i.test(h)?n:+h}return o(u,"toNumber"),gO=u,gO}function Hje(){if(vde)return yO;vde=1;var t=Jb(),e=$je(),r=Wje(),n="Expected a function",i=Math.max,a=Math.min;function s(l,u,h){var f,d,p,m,g,y,v=0,x=!1,b=!1,T=!0;if(typeof l!="function")throw new TypeError(n);u=r(u)||0,t(h)&&(x=!!h.leading,b="maxWait"in h,p=b?i(r(h.maxWait)||0,u):p,T="trailing"in h?!!h.trailing:T);function E(_){var D=f,M=d;return f=d=void 0,v=_,m=l.apply(M,D),m}o(E,"invokeFunc");function w(_){return v=_,g=setTimeout(A,u),x?E(_):m}o(w,"leadingEdge");function k(_){var D=_-y,M=_-v,R=u-D;return b?a(R,p-M):R}o(k,"remainingWait");function S(_){var D=_-y,M=_-v;return y===void 0||D>=u||D<0||b&&M>=p}o(S,"shouldInvoke");function A(){var _=e();if(S(_))return L(_);g=setTimeout(A,k(_))}o(A,"timerExpired");function L(_){return g=void 0,T&&f?E(_):(f=d=void 0,m)}o(L,"trailingEdge");function I(){g!==void 0&&clearTimeout(g),v=0,f=y=d=g=void 0}o(I,"cancel");function N(){return g===void 0?m:L(e())}o(N,"flush");function C(){var _=e(),D=S(_);if(f=arguments,d=this,y=_,D){if(g===void 0)return w(y);if(b)return clearTimeout(g),g=setTimeout(A,u),E(y)}return g===void 0&&(g=setTimeout(A,u)),m}return o(C,"debounced"),C.cancel=I,C.flush=N,C}return o(s,"debounce"),yO=s,yO}function Qje(t,e,r,n,i){var a=i*Math.PI/180,s=Math.cos(a)*(t-r)-Math.sin(a)*(e-n)+r,l=Math.sin(a)*(t-r)+Math.cos(a)*(e-n)+n;return{x:s,y:l}}function Jje(t,e,r){if(r===0)return t;var n=(e.x1+e.x2)/2,i=(e.y1+e.y2)/2,a=e.w/e.h,s=1/a,l=Qje(t.x,t.y,n,i,r),u=Zje(l.x,l.y,n,i,a,s);return{x:u.x,y:u.y}}function uXe(){return kde||(kde=1,(function(t,e){(function(){var r,n,i,a,s,l,u,h,f,d,p,m,g,y,v;i=Math.floor,d=Math.min,n=o(function(x,b){return xb?1:0},"defaultCmp"),f=o(function(x,b,T,E,w){var k;if(T==null&&(T=0),w==null&&(w=n),T<0)throw new Error("lo must be non-negative");for(E==null&&(E=x.length);TI;0<=I?L++:L--)A.push(L);return A}).apply(this).reverse(),S=[],E=0,w=k.length;EN;0<=N?++A:--A)C.push(s(x,T));return C},"nsmallest"),y=o(function(x,b,T,E){var w,k,S;for(E==null&&(E=n),w=x[T];T>b;){if(S=T-1>>1,k=x[S],E(w,k)<0){x[T]=k,T=S;continue}break}return x[T]=w},"_siftdown"),v=o(function(x,b,T){var E,w,k,S,A;for(T==null&&(T=n),w=x.length,A=b,k=x[b],E=2*b+1;E-1}return o(e,"listCacheHas"),HO=e,HO}function nQe(){if(upe)return YO;upe=1;var t=fC();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return o(e,"listCacheSet"),YO=e,YO}function iQe(){if(hpe)return jO;hpe=1;var t=JKe(),e=eQe(),r=tQe(),n=rQe(),i=nQe();function a(s){var l=-1,u=s==null?0:s.length;for(this.clear();++l-1&&n%1==0&&n0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function vme(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:pZe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?C=D:N=D;while(Math.abs(_)>s&&++M=a?b(I,M):R===0?M:E(I,N,N+h)}o(w,"getTForX");var k=!1;function S(){k=!0,(t!==e||r!==n)&&T()}o(S,"precompute");var A=o(function(N){return k||S(),t===e&&r===n?N:N===0?0:N===1?1:v(w(N),e,n)},"f");A.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var L="generateBezier("+[t,e,r,n]+")";return A.toString=function(){return L},A}function e0e(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function t0e(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function z1(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=t0e(t,i),l=t0e(e,i);if(Nt(s)&&Nt(l))return e0e(a,s,l,r,n);if($n(s)&&$n(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=$S[m].apply(null,g)):s.easingImpl=$S[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var T={};Rb(x.x,b.x)&&(T.x=z1(x.x,b.x,v,y)),Rb(x.y,b.y)&&(T.y=z1(x.y,b.y,v,y)),t.position(T)}var E=s.startPan,w=s.pan,k=a.pan,S=w!=null&&n;S&&(Rb(E.x,w.x)&&(k.x=z1(E.x,w.x,v,y)),Rb(E.y,w.y)&&(k.y=z1(E.y,w.y,v,y)),t.emit("pan"));var A=s.startZoom,L=s.zoom,I=L!=null&&n;I&&(Rb(A,L)&&(a.zoom=qb(a.minZoom,z1(A,L,v,y),a.maxZoom)),t.emit("zoom")),(S||I)&&t.emit("viewport");var N=s.style;if(N&&N.length>0&&i){for(var C=0;C=0;S--){var A=k[S];A()}k.splice(0,k.length)},"callbacks"),b=m.length-1;b>=0;b--){var T=m[b],E=T._private;if(E.stopped){m.splice(b,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||_Ze(f,T,t),AZe(f,T,t,d),E.applying&&(E.applying=!1),x(E.frames),E.step!=null&&E.step(t),T.completed()&&(m.splice(b,1),E.hooked=!1,E.playing=!1,E.started=!1,x(E.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}o(i,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function Pme(t){this.options=pr({},PZe,BZe,t)}function Bme(t){this.options=pr({},FZe,t)}function Fme(t){this.options=pr({},$Ze,t)}function bC(t){this.options=pr({},zZe,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),s=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(n)}function Vme(t){this.options=pr({},tJe,t)}function xB(t){this.options=pr({},rJe,t)}function qme(t){this.options=pr({},nJe,t)}function Ume(t){this.options=pr({},iJe,t)}function Wme(t){this.options=t,this.notifications=0}function jme(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function TB(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(oJe(t,e,r,n,i),{cx:WP,cy:HP,radius:P0,startX:Hme,startY:Yme,stopX:YP,stopY:jP,startAngle:Su.ang+Math.PI/2*F0,endAngle:Ll.ang-Math.PI/2*F0,counterClockwise:VS})}function Xme(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}function w0e(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function KJe(t,e,r){var n=w0e(t,t.VERTEX_SHADER,e),i=w0e(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function QJe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function EB(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function ZJe(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function JJe(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function eet(t){return t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function tet(t,e){if(t.length!==e.length)return!1;for(var r=0;r>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function ret(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function net(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function lge(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function cge(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function iet(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function aet(t,e,r,n){var i=lge(t,e),a=Wi(i,2),s=a[0],l=a[1],u=cge(t,l,n),h=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,u,t.STATIC_DRAW),l===t.FLOAT?t.vertexAttribPointer(r,s,l,!1,0,0):l===t.INT&&t.vertexAttribIPointer(r,s,l,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),h}function Eu(t,e,r,n){var i=lge(t,r),a=Wi(i,3),s=a[0],l=a[1],u=a[2],h=cge(t,l,e*s),f=s*u,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*f,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),l===t.FLOAT?t.vertexAttribPointer(n,s,l,!1,f,0):l===t.INT&&t.vertexAttribIPointer(n,s,l,f,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var p=new Array(e),m=0;mnge?(ket(t),e.call(t,a)):(Eet(t),dge(t,a,$b.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,l,u){return Let(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function ket(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function Eet(t){var e=o(function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()},"clear");e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function Cet(t){var e=t.canvasWidth,r=t.canvasHeight,n=EB(t),i=n.pan,a=n.zoom,s=_P();US(s,s,[i.x,i.y]),KP(s,s,[a,a]);var l=_P();uet(l,e,r);var u=_P();return cet(u,l,s),u}function fge(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=EB(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function Aet(t,e){t.drawSelectionRectangle(e,function(r){return fge(t,r)})}function _et(t){var e=t.data.contexts[t.NODE];e.save(),fge(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function Det(t){var e=o(function(i,a,s){for(var l=i.atlasManager.getAtlasCollection(a),u=t.data.contexts[t.NODE],h=l.atlases,f=0;f=0&&E.add(S)}return E}function Let(t,e,r){var n=Ret(t,e,r),i=t.getCachedZSortedEles(),a,s,l=xo(n),u;try{for(l.s();!(u=l.n()).done;){var h=u.value,f=i[h];if(!a&&f.isNode()&&(a=f),!s&&f.isEdge()&&(s=f),a&&s)break}}catch(d){l.e(d)}finally{l.f()}return[a,s].filter(Boolean)}function MP(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function dge(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&Aet(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var l=Cet(t),u=t.getCachedZSortedEles();if(a=u.length,i.startFrame(l,r),r.screen){for(var h=0;h{"use strict";o(IP,"_arrayLikeToArray");o(lje,"_arrayWithHoles");o(cje,"_arrayWithoutHoles");o(Sd,"_classCallCheck");o(uje,"_defineProperties");o(Cd,"_createClass");o(xo,"_createForOfIteratorHelper");o(L0e,"_defineProperty$1");o(hje,"_iterableToArray");o(fje,"_iterableToArrayLimit");o(dje,"_nonIterableRest");o(pje,"_nonIterableSpread");o(Wi,"_slicedToArray");o(WS,"_toConsumableArray");o(mje,"_toPrimitive");o(N0e,"_toPropertyKey");o(aa,"_typeof");o(eB,"_unsupportedIterableToArray");na=typeof window>"u"?null:window,nde=na?na.navigator:null;na&&na.document;gje=aa(""),M0e=aa({}),yje=aa(function(){}),vje=typeof HTMLElement>"u"?"undefined":aa(HTMLElement),Kb=o(function(e){return e&&e.instanceString&&Ei(e.instanceString)?e.instanceString():null},"instanceStr"),or=o(function(e){return e!=null&&aa(e)==gje},"string"),Ei=o(function(e){return e!=null&&aa(e)===yje},"fn"),$n=o(function(e){return!jo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),sn=o(function(e){return e!=null&&aa(e)===M0e&&!$n(e)&&e.constructor===Object},"plainObject"),xje=o(function(e){return e!=null&&aa(e)===M0e},"object"),Nt=o(function(e){return e!=null&&aa(e)===aa(1)&&!isNaN(e)},"number"),bje=o(function(e){return Nt(e)&&Math.floor(e)===e},"integer"),HS=o(function(e){if(vje!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),jo=o(function(e){return Qb(e)||I0e(e)},"elementOrCollection"),Qb=o(function(e){return Kb(e)==="collection"&&e._private.single},"element"),I0e=o(function(e){return Kb(e)==="collection"&&!e._private.single},"collection"),tB=o(function(e){return Kb(e)==="core"},"core"),O0e=o(function(e){return Kb(e)==="stylesheet"},"stylesheet"),Tje=o(function(e){return Kb(e)==="event"},"event"),xd=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),wje=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),kje=o(function(e){return sn(e)&&Nt(e.x1)&&Nt(e.x2)&&Nt(e.y1)&&Nt(e.y2)},"boundingBox"),Eje=o(function(e){return xje(e)&&Ei(e.then)},"promise"),Sje=o(function(){return nde&&nde.userAgent.match(/msie|trident|edge/i)},"ms"),J1=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),Nje=o(function(e,r){return-1*B0e(e,r)},"descending"),pr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+_je+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),Oje=o(function(e){var r,n=new RegExp("^"+Cje+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),Pje=o(function(e){return Bje[e.toLowerCase()]},"colorname2tuple"),F0e=o(function(e){return($n(e)?e:null)||Pje(e)||Mje(e)||Oje(e)||Ije(e)},"color2tuple"),Bje={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]},$0e=o(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:B0,n=r,i;i=e.next(),!i.done;)n=n*q0e+i.value|0;return n},"hashIterableInts"),zb=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:B0;return r*q0e+e|0},"hashInt"),Gb=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W1;return(r<<5)+r+e|0},"hashIntAlt"),Xje=o(function(e,r){return e*2097152+r},"combineHashes"),hd=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),wS=o(function(e,r){return[zb(e[0],r[0]),Gb(e[1],r[1])]},"hashArrays"),xde=o(function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:o(function(){return i=0;i--)e[i]===r&&e.splice(i,1)},"removeFromArray"),sB=o(function(e){e.splice(0,e.length)},"clearArray"),aXe=o(function(e,r){for(var n=0;n"u"?"undefined":aa(Set))!==oXe?Set:lXe,oC=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tB(e)){ui("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){ui("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new ry,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];$n(r.classes)?h=r.classes:or(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;f0;){var k=b.pop(),S=v(k),A=k.id();if(p[A]=S,S!==1/0)for(var L=k.neighborhood().intersect(g),I=0;I0)for(B.unshift(P);d[G];){var $=d[G];B.unshift($.edge),B.unshift($.node),F=$.node,G=F.id()}return l.spawn(B)},"pathTo")}},"dijkstra")},mXe={kruskal:o(function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),l=n,u=o(function(E){for(var w=0;w0;){if(w(),S++,E===f){for(var A=[],L=a,I=f,N=x[I];A.unshift(L),N!=null&&A.unshift(N),L=v[I],L!=null;)I=L.id(),N=x[I];return{found:!0,distance:d[E],path:this.spawn(A),steps:S}}m[E]=!0;for(var C=T._private.edges,_=0;_N&&(g[I]=N,b[I]=L,T[I]=w),!a){var C=L*f+A;!a&&g[C]>N&&(g[C]=N,b[C]=A,T[C]=w)}}}for(var _=0;_1&&arguments[1]!==void 0?arguments[1]:s,$e=T(we),fe=[],Ke=$e;;){if(Ke==null)return r.spawn();var Te=b(Ke),Be=Te.edge,Ue=Te.pred;if(fe.unshift(Ke[0]),Ke.same(_e)&&fe.length>0)break;Be!=null&&fe.unshift(Be),Ke=Ue}return u.spawn(fe)},"pathTo"),k=0;k=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=kXe(a,e,r),n--}return r},"contractUntil"),EXe={kargerStein:o(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(B){return B.isLoop()});var a=n.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/wXe);if(a<2){ui("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),RXe=o(function(e){return Math.PI*e/180},"deg2rad"),kS=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),oB=Math.log2||function(t){return Math.log(t)/Math.log(2)},lB=o(function(e){return e>0?1:e<0?-1:0},"signum"),G0=o(function(e,r){return Math.sqrt(O0(e,r))},"dist"),O0=o(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),LXe=o(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),MXe=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),IXe=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),OXe=o(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),Q0e=o(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),OS=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),PS=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var l=Wi(r,4);n=l[0],i=l[1],a=l[2],s=l[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Sde=o(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),cB=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),md=o(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),Cde=o(function(e,r){return md(e,r.x,r.y)},"pointInBoundingBox"),Z0e=o(function(e,r){return md(e,r.x1,r.y1)&&md(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),PXe=(TO=Math.hypot)!==null&&TO!==void 0?TO:function(t,e){return Math.sqrt(t*t+e*e)};o(BXe,"inflatePolygon");o(FXe,"miterBox");J0e=o(function(e,r,n,i,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?Td(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=gd(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var T=n+f+l,E=i-d+h-l,w=T,k=i+d-h+l;if(g=gd(e,r,n,i,T,E,w,k,!1),g.length>0)return g}if(p){var S=n-f+h-l,A=i+d+l,L=n+f-h+l,I=A;if(g=gd(e,r,n,i,S,A,L,I,!1),g.length>0)return g}if(m){var N=n-f-l,C=i-d+h-l,_=N,D=i+d-h+l;if(g=gd(e,r,n,i,N,C,_,D,!1),g.length>0)return g}var M;{var R=n-f+h,P=i-d+h;if(M=Ib(e,r,n,i,R,P,h+l),M.length>0&&M[0]<=R&&M[1]<=P)return[M[0],M[1]]}{var B=n+f-h,F=i-d+h;if(M=Ib(e,r,n,i,B,F,h+l),M.length>0&&M[0]>=B&&M[1]<=F)return[M[0],M[1]]}{var G=n+f-h,$=i+d-h;if(M=Ib(e,r,n,i,G,$,h+l),M.length>0&&M[0]>=G&&M[1]>=$)return[M[0],M[1]]}{var V=n-f+h,X=i+d-h;if(M=Ib(e,r,n,i,V,X,h+l),M.length>0&&M[0]<=V&&M[1]>=X)return[M[0],M[1]]}return[]},"roundRectangleIntersectLine"),$Xe=o(function(e,r,n,i,a,s,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,s),p=Math.max(i,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),zXe=o(function(e,r,n,i,a,s,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,s)-h,y2:Math.max(i,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),GXe=o(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),VXe=o(function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),qXe=o(function(e,r,n,i,a,s,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*s+2*i*u+4*s*s-4*s*u+u*u,f=9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*s-3*i*i-3*i*u-6*s*s+3*s*u,d=3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*s+i*u-i*r+2*s*s+2*s*r-u*r,p=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,m=[];VXe(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,T,E,w=0;w=0?Eh?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),vo=o(function(e,r,n){for(var i,a,s,l,u,h=0,f=0;f=e&&e>=s||i<=e&&e<=s)u=(e-i)/(s-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Bh=o(function(e,r,n,i,a,s,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=KS(f,-h);y=XS(v)}else y=f;return vo(e,r,y)},"pointInsidePolygon"),WXe=o(function(e,r,n,i,a,s,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var T=b[0]*u[0]+e,E=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[T,E];var w=b[1]*u[0]+e,k=b[1]*u[1]+r;return[T,E,w,k]}else return[T,E]},"intersectLineCircle"),wO=o(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),gd=o(function(e,r,n,i,a,s,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-s,g=i-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var T=v/b,E=x/b,w=.001,k=0-w,S=1+w;return k<=T&&T<=S&&k<=E&&E<=S?[e+T*d,r+T*g]:h?[e+T*d,r+T*g]:[]}else return v===0||x===0?wO(e,n,l)===l?[l,u]:wO(e,n,a)===a?[a,s]:wO(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),YXe=o(function(e,r,n,i,a){var s=[],l=i/2,u=a/2,h=r,f=n;s.push({x:h+l*e[0],y:f+u*e[1]});for(var d=1;d0){var y=KS(d,-u);m=XS(y)}else m=d}else m=n;for(var v,x,b,T,E=0;E2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=E)},"set"),get:o(function(T){return h[T]},"get")},p=0;p0?M=D.edgesTo(_)[0]:M=_.edgesTo(D)[0];var R=i(M);_=_.id(),S[_]>S[N]+R&&(S[_]=S[N]+R,A.nodes.indexOf(_)<0?A.push(_):A.updateItem(_),k[_]=0,w[_]=[]),S[_]==S[N]+R&&(k[_]=k[_]+k[N],w[_].push(N))}else for(var P=0;P0;){for(var $=E.pop(),V=0;V0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),lKe=o(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:hKe,l=i,u,h,f=0;f=2?Ab(e,r,n,0,Lde,fKe):Ab(e,r,n,0,Rde)},"euclidean"),squaredEuclidean:o(function(e,r,n){return Ab(e,r,n,0,Lde)},"squaredEuclidean"),manhattan:o(function(e,r,n){return Ab(e,r,n,0,Rde)},"manhattan"),max:o(function(e,r,n){return Ab(e,r,n,-1/0,dKe)},"max")};ey["squared-euclidean"]=ey.squaredEuclidean;ey.squaredeuclidean=ey.squaredEuclidean;o(cC,"clusteringDistance");pKe=qa({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hB=o(function(e){return pKe(e)},"setOptions"),QS=o(function(e,r,n,i,a){var s=a!=="kMedoids",l=s?function(d){return n[d]}:function(d){return i[d](n)},u=o(function(p){return i[p](r)},"getQ"),h=n,f=r;return cC(e,i.length,l,u,h,f)},"getDist"),EO=o(function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),yKe=o(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[i[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),Bde=o(function(e,r,n){for(var i=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&i.push(s)}for(var f=0;fh&&(u=f,h=d)}n[a]=s[u]}return i=Bde(e,r,n),i},"assign"),Fde=o(function(e){for(var r=this.cy(),n=this.nodes(),i=DKe(e),a={},s=0;s=N?(C=N,N=D,_=M):D>C&&(C=D);for(var R=0;R0?1:0;S[L%i.minIterations*l+V]=X,$+=X}if($>0&&(L>=i.minIterations-1||L==i.maxIterations-1)){for(var Q=0,H=0;H1||k>1)&&(l=!0),d[T]=[],b.outgoers().forEach(function(A){A.isEdge()&&d[T].push(A.id())})}else p[T]=[void 0,b.target().id()]}):s.forEach(function(b){var T=b.id();if(b.isNode()){var E=b.degree(!0);E%2&&(u?h?l=!0:h=T:u=T),d[T]=[],b.connectedEdges().forEach(function(w){return d[T].push(w.id())})}else p[T]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(T){for(var E=T,w=[T],k,S,A;d[E].length;)k=d[E].shift(),S=p[k][0],A=p[k][1],E!=A?(d[A]=d[A].filter(function(L){return L!=k}),E=A):!a&&E!=S&&(d[S]=d[S].filter(function(L){return L!=k}),E=S),w.unshift(k),w.unshift(E);return w},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},SS=o(function(){var e=this,r={},n=0,i=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(T){var E=T.id(),w=T.connectedEdges().intersection(e);v.merge(T),r[E].cutVertex?v.merge(w.filter(function(k){return k.isLoop()})):v.merge(w)})}),a.push(v)},"buildComponent"),h=o(function(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,T;y.forEach(function(E){v=E.source().id(),x=E.target().id(),b=v===m?x:v,b!==g&&(T=E.id(),l[T]||(l[T]=!0,s.push({x:m,y:b,edge:E})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(h(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),BKe={hopcroftTarjanBiconnected:SS,htbc:SS,htb:SS,hopcroftTarjanBiconnectedComponents:SS},CS=o(function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),l=o(function(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||l(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:i}},"tarjanStronglyConnected"),FKe={tarjanStronglyConnected:CS,tsc:CS,tscc:CS,tarjanStronglyConnectedComponents:CS},sme={};[Vb,pXe,mXe,yXe,xXe,TXe,EXe,QXe,K1,Q1,BP,uKe,kKe,AKe,IKe,PKe,BKe,FKe].forEach(function(t){pr(sme,t)});ome=0,lme=1,cme=2,Tc=o(function(e){if(!(this instanceof Tc))return new Tc(e);this.id="Thenable/1.0.7",this.state=ome,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Tc.prototype={fulfill:o(function(e){return $de(this,lme,"fulfillValue",e)},"fulfill"),reject:o(function(e){return $de(this,cme,"rejectReason",e)},"reject"),then:o(function(e,r){var n=this,i=new Tc;return n.onFulfilled.push(Gde(e,i,"fulfill")),n.onRejected.push(Gde(r,i,"reject")),ume(n),i.proxy},"then")};$de=o(function(e,r,n,i){return e.state===ome&&(e.state=r,e[n]=i,ume(e)),e},"deliver"),ume=o(function(e){e.state===lme?zde(e,"onFulfilled",e.fulfillValue):e.state===cme&&zde(e,"onRejected",e.rejectReason)},"execute"),zde=o(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){$n(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,l=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};BS.className=BS.classNames=BS.classes;an={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:ia,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};an.variable="(?:[\\w-.]|(?:\\\\"+an.metaChar+"))+";an.className="(?:[\\w-]|(?:\\\\"+an.metaChar+"))+";an.value=an.string+"|"+an.number;an.id=an.variable;(function(){var t,e,r;for(t=an.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(an.comparatorOp+="|\\!"+e)})();Nn=o(function(){return{checks:[]}},"newQuery"),qt={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},GP=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return Nje(t.selector,e.selector)}),OQe=(function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return En("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return En("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&En("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),GQe=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return or(f)?'"'+f+'"':e(f)},"cleanVal"),n=o(function(f){return" "+f+" "},"space"),i=o(function(f,d){var p=f.type,m=f.value;switch(p){case qt.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case qt.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case qt.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case qt.DATA_EXIST:{var T=f.field;return"["+T+"]"}case qt.META_COMPARE:{var E=f.operator,w=f.field;return"[["+w+n(e(E))+r(m)+"]]"}case qt.STATE:return m;case qt.ID:return"#"+m;case qt.CLASS:return"."+m;case qt.PARENT:case qt.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case qt.ANCESTOR:case qt.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case qt.COMPOUND_SPLIT:{var k=a(f.left,d),S=a(f.subject,d),A=a(f.right,d);return k+(k.length>0?" ":"")+S+A}case qt.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return mB(this,t,e,vme)};o(xme,"addParent");ty.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return mB(this,t,e,xme)};o(XQe,"addParentAndChildren");ty.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return mB(this,t,e,XQe)};ty.ancestors=ty.parents;Wb=bme={data:kn.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:kn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:kn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:kn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:kn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:kn.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};Wb.attr=Wb.data;Wb.removeAttr=Wb.removeData;KQe=bme,pC={};o(wP,"defineDegreeFunction");pr(pC,{degree:wP(function(t,e){return e.source().same(e.target())?2:1}),indegree:wP(function(t,e){return e.target().same(t)?1:0}),outdegree:wP(function(t,e){return e.source().same(t)?1:0})});o($1,"defineDegreeBoundsFunction");pr(pC,{minDegree:$1("degree",function(t,e){return te}),minIndegree:$1("indegree",function(t,e){return te}),minOutdegree:$1("outdegree",function(t,e){return te})});pr(pC,{totalDegree:o(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this},"relativePosition")};bc.modelPosition=bc.point=bc.position;bc.modelPositions=bc.points=bc.positions;bc.renderedPoint=bc.renderedPosition;bc.relativePoint=bc.relativePosition;QQe=Tme;Z1=Ad={};Ad.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};Ad.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Ad.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(L,I,N){var C=0,_=0,D=I+N;return L>0&&D>0&&(C=I/D*L,_=N/D*L),{biasDiff:C,biasComplementDiff:_}}o(m,"computeBiasValues");function g(L,I,N,C){if(N.units==="%")switch(C){case"width":return L>0?N.pfValue*L:0;case"height":return I>0?N.pfValue*I:0;case"average":return L>0&&I>0?N.pfValue*(L+I)/2:0;case"min":return L>0&&I>0?L>I?N.pfValue*I:N.pfValue*L:0;case"max":return L>0&&I>0?L>I?N.pfValue*L:N.pfValue*I:0;default:return 0}else return N.units==="px"?N.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var T=m(f.width.val-d.w,y,v),E=T.biasDiff,w=T.biasComplementDiff,k=m(f.height.val-d.h,x,b),S=k.biasDiff,A=k.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-E+d.x1+d.x2+w)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-S+d.y1+d.y2+A)/2}o(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),dd=o(function(e,r){return r==null?e:xc(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),_b=o(function(e,r,n){return yo(e,r,n)},"prefixedProperty"),AS=o(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,OS(d,1),xc(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),kP=o(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=_b(s,"labelWidth",n),d=_b(s,"labelHeight",n),p=_b(s,"labelX",n),m=_b(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,E=T/2,w=r.pstyle("text-background-padding").pfValue,k=2,S=d,A=f,L=A/2,I=S/2,N,C,_,D;if(v)N=p-L,C=p+L,_=m-I,D=m+I;else{switch(u.value){case"left":N=p-A,C=p;break;case"center":N=p-L,C=p+L;break;case"right":N=p,C=p+A;break}switch(h.value){case"top":_=m-S,D=m;break;case"center":_=m-I,D=m+I;break;case"bottom":_=m,D=m+S;break}}var M=g-Math.max(b,E)-w-k,R=g+Math.max(b,E)+w+k,P=y-Math.max(b,E)-w-k,B=y+Math.max(b,E)+w+k;N+=M,C+=R,_+=P,D+=B;var F=n||"main",G=a.labelBounds,$=G[F]=G[F]||{};$.x1=N,$.y1=_,$.x2=C,$.y2=D,$.w=C-N,$.h=D-_,$.leftPad=M,$.rightPad=R,$.topPad=P,$.botPad=B;var V=v&&x.strValue==="autorotate",X=x.pfValue!=null&&x.pfValue!==0;if(V||X){var Q=V?_b(a.rstyle,"labelAngle",n):x.pfValue,H=Math.cos(Q),ie=Math.sin(Q),Y=(N+C)/2,le=(_+D)/2;if(!v){switch(u.value){case"left":Y=C;break;case"right":Y=N;break}switch(h.value){case"top":le=D;break;case"bottom":le=_;break}}var ee=o(function(ke,we){return ke=ke-Y,we=we-le,{x:ke*H-we*ie+Y,y:ke*ie+we*H+le}},"rotate"),J=ee(N,_),te=ee(N,D),Z=ee(C,_),xe=ee(C,D);N=Math.min(J.x,te.x,Z.x,xe.x),C=Math.max(J.x,te.x,Z.x,xe.x),_=Math.min(J.y,te.y,Z.y,xe.y),D=Math.max(J.y,te.y,Z.y,xe.y)}var de=F+"Rot",Se=G[de]=G[de]||{};Se.x1=N,Se.y1=_,Se.x2=C,Se.y2=D,Se.w=C-N,Se.h=D-_,xc(e,N,_,C,D),xc(a.labelBounds.all,N,_,C,D)}return e}},"updateBoundsFromLabel"),zpe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;kme(e,r,n,s,"outside",s/2)}},"updateBoundsFromOutline"),kme=o(function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var l=r.cy(),u=r.pstyle("shape").value,h=l.renderer().nodeShapes[u],f=r.position(),d=f.x,p=f.y,m=r.width(),g=r.height();if(h.hasMiterBounds){a==="center"&&(i/=2);var y=h.miterBounds(d,p,m,g,i);dd(e,y)}else s!=null&&s>0&&PS(e,[s,s,s,s])}},"updateBoundsFromMiter"),ZQe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;kme(e,r,n,i,a)}},"updateBoundsFromMiterBorder"),JQe=o(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=Ms(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(Me){return Me.pstyle("display").value!=="none"},"isDisplayed"),T=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(T){var E=0,w=0;i&&r.includeOverlays&&(E=e.pstyle("overlay-opacity").value,E!==0&&(w=e.pstyle("overlay-padding").value));var k=0,S=0;i&&r.includeUnderlays&&(k=e.pstyle("underlay-opacity").value,k!==0&&(S=e.pstyle("underlay-padding").value));var A=Math.max(w,S),L=0,I=0;if(i&&(L=e.pstyle("width").pfValue,I=L/2),u&&r.includeNodes){var N=e.position();g=N.x,y=N.y;var C=e.outerWidth(),_=C/2,D=e.outerHeight(),M=D/2;f=g-_,d=g+_,p=y-M,m=y+M,xc(s,f,p,d,m),i&&zpe(s,e),i&&r.includeOutlines&&!a&&zpe(s,e),i&&ZQe(s,e)}else if(h&&r.includeEdges)if(i&&!a){var R=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=I,d+=I,p-=I,m+=I,xc(s,f,p,d,m),R==="haystack"){var P=v.haystackPts;if(P&&P.length===2){if(f=P[0].x,p=P[0].y,d=P[1].x,m=P[1].y,f>d){var B=f;f=d,d=B}if(p>m){var F=p;p=m,m=F}xc(s,f-I,p-I,d+I,m+I)}}else if(R==="bezier"||R==="unbundled-bezier"||pd(R,"segments")||pd(R,"taxi")){var G;switch(R){case"bezier":case"unbundled-bezier":G=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":G=v.linePts;break}if(G!=null)for(var $=0;$d){var Y=f;f=d,d=Y}if(p>m){var le=p;p=m,m=le}f-=I,d+=I,p-=I,m+=I,xc(s,f,p,d,m)}if(i&&r.includeEdges&&h&&(AS(s,e,"mid-source"),AS(s,e,"mid-target"),AS(s,e,"source"),AS(s,e,"target")),i){var ee=e.pstyle("ghost").value==="yes";if(ee){var J=e.pstyle("ghost-offset-x").pfValue,te=e.pstyle("ghost-offset-y").pfValue;xc(s,s.x1+J,s.y1+te,s.x2+J,s.y2+te)}}var Z=l.bodyBounds=l.bodyBounds||{};Sde(Z,s),PS(Z,x),OS(Z,1),i&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,xc(s,f-A,p-A,d+A,m+A));var xe=l.overlayBounds=l.overlayBounds||{};Sde(xe,s),PS(xe,x),OS(xe,1);var de=l.labelBounds=l.labelBounds||{};de.all!=null?IXe(de.all):de.all=Ms(),i&&r.includeLabels&&(r.includeMainLabels&&kP(s,e,null),h&&(r.includeSourceLabels&&kP(s,e,"source"),r.includeTargetLabels&&kP(s,e,"target")))}return s.x1=Nl(s.x1),s.y1=Nl(s.y1),s.x2=Nl(s.x2),s.y2=Nl(s.y2),s.w=Nl(s.x2-s.x1),s.h=Nl(s.y2-s.y1),s.w>0&&s.h>0&&T&&(PS(s,x),OS(s,1)),s},"boundingBoxImpl"),Eme=o(function(e){var r=0,n=o(function(s){return(s?1:0)<=0;l--)s(l);return this};Ed.removeAllListeners=function(){return this.removeListener("*")};Ed.emit=Ed.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,$n(e)||(e=[e]),mZe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var l=o(function(){var f=n[u];if(f.type===s.type&&(!f.namespace||f.namespace===s.namespace||f.namespace===dZe)&&a.eventMatches(a.context,f,s)){var d=[s];e!=null&&aXe(d,e),a.beforeEmit(a.context,f,s),f.conf&&f.conf.one&&(a.listeners=a.listeners.filter(function(g){return g!==f}));var p=a.callbackContext(a.context,f,s),m=f.callback.apply(p,d);a.afterEmit(a.context,f,s),m===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&or(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:o(function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":aa(Symbol))!=e&&aa(Symbol.iterator)!=e;r&&(ZS[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return L0e({next:o(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:o(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(sn(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(or(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});as.neighbourhood=as.neighborhood;as.closedNeighbourhood=as.closedNeighborhood;as.openNeighbourhood=as.openNeighborhood;pr(as,{source:Ml(o(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:Ml(o(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:Qpe({attr:"source"}),targets:Qpe({attr:"target"})});o(Qpe,"defineSourceFunction");pr(as,{edgesWith:Ml(Zpe(),"edgesWith"),edgesTo:Ml(Zpe({thisIsSrc:!0}),"edgesTo")});o(Zpe,"defineEdgesWithFunction");pr(as,{connectedEdges:Ml(function(t){for(var e=[],r=this,n=0;n0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});as.componentsOf=as.components;Va=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){ui("A collection must have a reference to the core");return}var a=new Oh,s=!1;if(!r)r=[];else if(r.length>0&&sn(r[0])&&!Qb(r[0])){s=!0;for(var l=[],u=new ry,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],l,u=0,h=r.length;u0){for(var F=l.length===r.length?r:new Va(n,l),G=0;G0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(D){for(var M=D._private.edges,R=0;R0&&(t?N.emitAndNotify("remove"):e&&N.emit("remove"));for(var C=0;Cf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")})(),Wn=o(function(e,r,n,i){var a=SZe(e,r,n,i);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),$S={linear:o(function(e,r,n){return e+(r-e)*n},"linear"),ease:Wn(.25,.1,.25,1),"ease-in":Wn(.42,0,1,1),"ease-out":Wn(0,0,.58,1),"ease-in-out":Wn(.42,0,.58,1),"ease-in-sine":Wn(.47,0,.745,.715),"ease-out-sine":Wn(.39,.575,.565,1),"ease-in-out-sine":Wn(.445,.05,.55,.95),"ease-in-quad":Wn(.55,.085,.68,.53),"ease-out-quad":Wn(.25,.46,.45,.94),"ease-in-out-quad":Wn(.455,.03,.515,.955),"ease-in-cubic":Wn(.55,.055,.675,.19),"ease-out-cubic":Wn(.215,.61,.355,1),"ease-in-out-cubic":Wn(.645,.045,.355,1),"ease-in-quart":Wn(.895,.03,.685,.22),"ease-out-quart":Wn(.165,.84,.44,1),"ease-in-out-quart":Wn(.77,0,.175,1),"ease-in-quint":Wn(.755,.05,.855,.06),"ease-out-quint":Wn(.23,1,.32,1),"ease-in-out-quint":Wn(.86,0,.07,1),"ease-in-expo":Wn(.95,.05,.795,.035),"ease-out-expo":Wn(.19,1,.22,1),"ease-in-out-expo":Wn(1,0,0,1),"ease-in-circ":Wn(.6,.04,.98,.335),"ease-out-circ":Wn(.075,.82,.165,1),"ease-in-out-circ":Wn(.785,.135,.15,.86),spring:o(function(e,r,n){if(n===0)return $S.linear;var i=CZe(e,r,n);return function(a,s,l){return a+(s-a)*i(l)}},"spring"),"cubic-bezier":Wn};o(e0e,"getEasedValue");o(t0e,"getValue");o(z1,"ease");o(AZe,"step$1");o(Rb,"valid");o(_Ze,"startAnimation");o(r0e,"stepAll");DZe={animate:kn.animate(),animation:kn.animation(),animated:kn.animated(),clearQueue:kn.clearQueue(),delay:kn.delay(),delayAnimation:kn.delayAnimation(),stop:kn.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&YS(o(function(a){r0e(a,e),r()},"animationStep"))}o(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(o(function(a,s){r0e(s,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},RZe={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&Qb(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},RS=o(function(e){return or(e)?new wd(e):e},"argSelector"),Ome={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new mC(RZe,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,n){return this.emitter().on(e,RS(r),n),this},"on"),removeListener:o(function(e,r,n){return this.emitter().removeListener(e,RS(r),n),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,n){return this.emitter().one(e,RS(r),n),this},"one"),once:o(function(e,r,n){return this.emitter().one(e,RS(r),n),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};kn.eventAliasesOn(Ome);qP={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};qP.jpeg=qP.jpg;zS={layout:o(function(e){var r=this;if(e==null){ui("Layout options must be specified to make a layout");return}if(e.name==null){ui("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){ui("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;or(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(pr({},e,{cy:r,eles:a}));return s},"layout")};zS.createLayout=zS.makeLayout=zS.layout;LZe={notify:o(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};UP.invalidateDimensions=UP.resize;GS={collection:o(function(e,r){return or(e)?this.$(e):jo(e)?e.collection():$n(e)?(r||(r={}),new Va(this,e,r.unique,r.removed)):new Va(this)},"collection"),nodes:o(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};GS.elements=GS.filter=GS.$;Ea={},Bb="t",MZe="f";Ea.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(E=1),l.color){var k=n.valueMin[0],S=n.valueMax[0],A=n.valueMin[1],L=n.valueMax[1],I=n.valueMin[2],N=n.valueMax[2],C=n.valueMin[3]==null?1:n.valueMin[3],_=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(k+(S-k)*E),Math.round(A+(L-A)*E),Math.round(I+(N-I)*E),Math.round(C+(_-C)*E)];a={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(l.number){var M=n.valueMin+(n.valueMax-n.valueMin)*E;a=this.parse(n.name,M,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case s.data:{for(var R=n.field.split("."),P=d.data,B=0;B0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};Ea.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],l=i(s);t.removed()||l!=null&&l(r,n,t)&&a(s)};Ea.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};Ea.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};Ea.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ea.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ea.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};iT={};iT.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){En("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new wd(d);if(p.invalid){En("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){En("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],T=x[2],E=e.properties[b];if(!E){En("Skipping property: Invalid property name in: "+s),u();continue}var w=r.parse(b,T);if(!w){En("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:T}),u()}if(g){l();break}r.selector(d);for(var k=0;k=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return En("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var T;if(u?T=e.split(/\s+/):$n(e)?T=e:T=[e],h.evenMultiple&&T.length%2!==0)return null;for(var E=[],w=[],k=[],S="",A=!1,L=0;L0?" ":"")+I.strValue}return h.validate&&!h.validate(E,w)?null:h.singleEnum&&A?E.length===1&&or(E[0])?{name:t,value:E[0],strValue:E[0],bypass:r}:null:{name:t,value:E,pfValue:k,strValue:S,bypass:r,units:w}}var N=o(function(){for(var ee=0;eeh.max||h.strictMax&&e===h.max))return null;var R={name:t,value:e,strValue:""+e+(C||""),units:C,bypass:r};return h.unitless||C!=="px"&&C!=="em"?R.pfValue=e:R.pfValue=C==="px"||!C?e:this.getEmSizeInPixels()*e,(C==="ms"||C==="s")&&(R.pfValue=C==="ms"?e:1e3*e),(C==="deg"||C==="rad")&&(R.pfValue=C==="rad"?e:RXe(e)),C==="%"&&(R.pfValue=e/100),R}else if(h.propList){var P=[],B=""+e;if(B!=="none"){for(var F=B.split(/\s*,\s*|\s+/),G=0;G0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((s-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),Nt(e)?s=e:sn(e)&&(s=e.level,e.position!=null?a=lC(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;Nt(h.x)&&(r.pan.x=h.x,l=!1),Nt(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(or(e)){var n=e;e=this.mutableElements().filter(n)}else jo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=o(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}})():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};q0.centre=q0.center;q0.autolockNodes=q0.autolock;q0.autoungrabifyNodes=q0.autoungrabify;Yb={data:kn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:kn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:kn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:kn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Yb.attr=Yb.data;Yb.removeAttr=Yb.removeData;jb=o(function(e){var r=this;e=pr({},e);var n=e.container;n&&!HS(n)&&HS(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=na!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=pr({name:s?"grid":"null"},l.layout),l.renderer=pr({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new Va(this),listeners:[],aniEles:new Va(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:Nt(l.zoom)?l.zoom:1,pan:{x:sn(l.pan)&&Nt(l.pan.x)?l.pan.x:0,y:sn(l.pan)&&Nt(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(Eje);if(v)return ny.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=pr({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(sn(g)||$n(g))&&r.add(g),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=pr({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,Ei(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,l=!!t.boundingBox,u=Ms(l?t.boundingBox:structuredClone(e.extent())),h;if(jo(t.roots))h=t.roots;else if($n(t.roots)){for(var f=[],d=0;d0;){var D=_(),M=L(D,N);if(M)D.outgoers().filter(function(_e){return _e.isNode()&&r.has(_e)}).forEach(C);else if(M===null){En("Detected double maximal shift for node `"+D.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var R=0;if(t.avoidOverlap)for(var P=0;P0&&x[0].length<=3?Be/2:0),Ge=2*Math.PI/x[Ke].length*Te;return Ke===0&&x[0].length===1&&(Ue=1),{x:Z.x+Ue*Math.cos(Ge),y:Z.y+Ue*Math.sin(Ge)}}else{var Ne=x[Ke].length,We=Math.max(Ne===1?0:l?(u.w-t.padding*2-xe.w)/((t.grid?Se:Ne)-1):(u.w-t.padding*2-xe.w)/((t.grid?Se:Ne)+1),R),j={x:Z.x+(Te+1-(Ne+1)/2)*We,y:Z.y+(Ke+1-(H+1)/2)*de};return j}},"getPositionTopBottom"),ke={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(ke).indexOf(t.direction)===-1&&ui("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(ke).join(", ")));var we=o(function($e){return Jje(Me($e),u,ke[t.direction])},"getPosition");return r.nodes().layoutPositions(this,t,we),this};FZe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Bme,"CircleLayout");Bme.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=Ms(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),T=Math.sqrt(d*d/(x*x+b*b));f=Math.max(T,f)}var E=o(function(k,S){var A=e.startAngle+S*h*(i?1:-1),L=f*Math.cos(A),I=f*Math.sin(A),N={x:l.x+L,y:l.y+I};return N},"getPos");return n.nodes().layoutPositions(this,e,E),this};$Ze={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Fme,"ConcentricLayout");Fme.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=Ms(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var w=Math.abs(b[0].value-E.value);w>=v&&(b=[],x.push(b))}b.push(E)}var k=h+e.minNodeSpacing;if(!e.avoidOverlap){var S=x.length>0&&x[0].length>1,A=Math.min(s.w,s.h)/2-k,L=A/(x.length+S?1:0);k=Math.min(k,L)}for(var I=0,N=0;N1&&e.avoidOverlap){var M=Math.cos(D)-Math.cos(0),R=Math.sin(D)-Math.sin(0),P=Math.sqrt(k*k/(M*M+R*R));I=Math.max(P,I)}C.r=I,I+=k}if(e.equidistant){for(var B=0,F=0,G=0;G=t.numIter||(HZe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),YS(f)}},"frame");f()}else{for(;h;)h=s(u),u++;a0e(n,t),l()}return this};bC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};bC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};GZe=o(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=Ms(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(A);for(var f=0;fi.count?0:i.graph},"findLCA"),$me=o(function(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=eC(e,l,u),v=eC(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,T=x*x+b*b,p=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),XZe=o(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},"nodesOverlap"),eC=o(function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=n/r,h=s/l,f={};return r===0&&0n?(f.x=i,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+s*r/2/n,f.y=a+s/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-s*r/2/n,f.y=a-s/2),f)},"findClippingPoint"),KZe=o(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),ZZe=o(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),Gme=o(function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),tJe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Vme,"GridLayout");Vme.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Ms(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:a.x1,y:a.y1}});else{var s=i.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(Q){if(Q==null)return Math.min(u,h);var H=Math.min(u,h);H==u?u=Q:h=Q},"small"),d=o(function(Q){if(Q==null)return Math.max(u,h);var H=Math.max(u,h);H==u?u=Q:h=Q},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,T=a.h/u;if(e.condense&&(b=0,T=0),e.avoidOverlap)for(var E=0;E=h&&(M=0,D++)},"moveToNextCell"),P={},B=0;B(M=UXe(t,e,R[P],R[P+1],R[P+2],R[P+3])))return v(S,M),!0}else if(L.edgeType==="bezier"||L.edgeType==="multibezier"||L.edgeType==="self"||L.edgeType==="compound"){for(var R=L.allpts,P=0;P+5(M=qXe(t,e,R[P],R[P+1],R[P+2],R[P+3],R[P+4],R[P+5])))return v(S,M),!0}for(var B=B||A.source,F=F||A.target,G=i.getArrowWidth(I,N),$=[{name:"source",x:L.arrowStartX,y:L.arrowStartY,angle:L.srcArrowAngle},{name:"target",x:L.arrowEndX,y:L.arrowEndY,angle:L.tgtArrowAngle},{name:"mid-source",x:L.midX,y:L.midY,angle:L.midsrcArrowAngle},{name:"mid-target",x:L.midX,y:L.midY,angle:L.midtgtArrowAngle}],P=0;P<$.length;P++){var V=$[P],X=a.arrowShapes[S.pstyle(V.name+"-arrow-shape").value],Q=S.pstyle("width").pfValue;if(X.roughCollide(t,e,G,V.angle,{x:V.x,y:V.y},Q,f)&&X.collide(t,e,G,V.angle,{x:V.x,y:V.y},Q,f))return v(S),!0}h&&l.length>0&&(x(B),x(F))}o(b,"checkEdge");function T(S,A,L){return yo(S,A,L)}o(T,"preprop");function E(S,A){var L=S._private,I=p,N;A?N=A+"-":N="",S.boundingBox();var C=L.labelBounds[A||"main"],_=S.pstyle(N+"label").value,D=S.pstyle("text-events").strValue==="yes";if(!(!D||!_)){var M=T(L.rscratch,"labelX",A),R=T(L.rscratch,"labelY",A),P=T(L.rscratch,"labelAngle",A),B=S.pstyle(N+"text-margin-x").pfValue,F=S.pstyle(N+"text-margin-y").pfValue,G=C.x1-I-B,$=C.x2+I-B,V=C.y1-I-F,X=C.y2+I-F;if(P){var Q=Math.cos(P),H=Math.sin(P),ie=o(function(xe,de){return xe=xe-M,de=de-R,{x:xe*Q-de*H+M,y:xe*H+de*Q+R}},"rotate"),Y=ie(G,V),le=ie(G,X),ee=ie($,V),J=ie($,X),te=[Y.x+B,Y.y+F,ee.x+B,ee.y+F,J.x+B,J.y+F,le.x+B,le.y+F];if(vo(t,e,te))return v(S),!0}else if(md(C,t,e))return v(S),!0}}o(E,"checkLabel");for(var w=s.length-1;w>=0;w--){var k=s[w];k.isNode()?x(k)||E(k):b(k)||E(k)||E(k,"source")||E(k,"target")}return l};W0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,l=[],u=Math.min(t,r),h=Math.max(t,r),f=Math.min(e,n),d=Math.max(e,n);t=u,r=h,e=f,n=d;var p=Ms({x1:t,y1:e,x2:r,y2:n}),m=[{x:p.x1,y:p.y1},{x:p.x2,y:p.y1},{x:p.x2,y:p.y2},{x:p.x1,y:p.y2}],g=[[m[0],m[1]],[m[1],m[2]],[m[2],m[3]],[m[3],m[0]]];function y(xe,de,Se){return yo(xe,de,Se)}o(y,"preprop");function v(xe,de){var Se=xe._private,Me=s,ke="";xe.boundingBox();var we=Se.labelBounds.main;if(!we)return null;var _e=y(Se.rscratch,"labelX",de),$e=y(Se.rscratch,"labelY",de),fe=y(Se.rscratch,"labelAngle",de),Ke=xe.pstyle(ke+"text-margin-x").pfValue,Te=xe.pstyle(ke+"text-margin-y").pfValue,Be=we.x1-Me-Ke,Ue=we.x2+Me-Ke,Ge=we.y1-Me-Te,Ne=we.y2+Me-Te;if(fe){var We=Math.cos(fe),j=Math.sin(fe),ae=o(function(ce,z){return ce=ce-_e,z=z-$e,{x:ce*We-z*j+_e,y:ce*j+z*We+$e}},"rotate");return[ae(Be,Ge),ae(Ue,Ge),ae(Ue,Ne),ae(Be,Ne)]}else return[{x:Be,y:Ge},{x:Ue,y:Ge},{x:Ue,y:Ne},{x:Be,y:Ne}]}o(v,"getRotatedLabelBox");function x(xe,de,Se,Me){function ke(we,_e,$e){return($e.y-we.y)*(_e.x-we.x)>(_e.y-we.y)*($e.x-we.x)}return o(ke,"ccw"),ke(xe,Se,Me)!==ke(de,Se,Me)&&ke(xe,de,Se)!==ke(xe,de,Me)}o(x,"doLinesIntersect");for(var b=0;b0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),oJe=o(function(e,r,n,i,a){if(e!==u0e?h0e(r,e,Su):sJe(Ll,Su),h0e(r,n,Ll),l0e=Su.nx*Ll.ny-Su.ny*Ll.nx,c0e=Su.nx*Ll.nx-Su.ny*-Ll.ny,Mh=Math.asin(Math.max(-1,Math.min(1,l0e))),Math.abs(Mh)<1e-6){WP=r.x,HP=r.y,P0=V1=0;return}F0=1,VS=!1,c0e<0?Mh<0?Mh=Math.PI+Mh:(Mh=Math.PI-Mh,F0=-1,VS=!0):Mh>0&&(F0=-1,VS=!0),r.radius!==void 0?V1=r.radius:V1=i,N0=Mh/2,LS=Math.min(Su.len/2,Ll.len/2),a?(ku=Math.abs(Math.cos(N0)*V1/Math.sin(N0)),ku>LS?(ku=LS,P0=Math.abs(ku*Math.sin(N0)/Math.cos(N0))):P0=V1):(ku=Math.min(LS,V1),P0=Math.abs(ku*Math.sin(N0)/Math.cos(N0))),YP=r.x+Ll.nx*ku,jP=r.y+Ll.ny*ku,WP=YP-Ll.ny*P0*F0,HP=jP+Ll.nx*P0*F0,Hme=r.x+Su.nx*ku,Yme=r.y+Su.ny*ku,u0e=r},"calcCornerArc");o(jme,"drawPreparedRoundCorner");o(TB,"getRoundCorner");Xb=.01,lJe=Math.sqrt(2*Xb),os={};os.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(w,k,S,A){var L=A-k,I=S-w,N=Math.sqrt(I*I+L*L);return{x:-L/N,y:I/N}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=Wi(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Wi(y,2),x=v[0],b=v[1],T={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=T}else En("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};os.findHaystackPoints=function(t){for(var e=0;e0?Math.max(z-ne,0):Math.min(z+ne,0)},"subDWH"),_=C(I,A),D=C(N,L),M=!1;b===h?x=Math.abs(_)>Math.abs(D)?i:n:b===u||b===l?(x=n,M=!0):(b===a||b===s)&&(x=i,M=!0);var R=x===n,P=R?D:_,B=R?N:I,F=lB(B),G=!1;!(M&&(E||k))&&(b===l&&B<0||b===u&&B>0||b===a&&B>0||b===s&&B<0)&&(F*=-1,P=F*Math.abs(P),G=!0);var $;if(E){var V=w<0?1+w:w;$=V*P}else{var X=w<0?P:0;$=X+w*F}var Q=o(function(z){return Math.abs(z)=Math.abs(P)},"getIsTooClose"),H=Q($),ie=Q(Math.abs(P)-Math.abs($)),Y=H||ie;if(Y&&!G)if(R){var le=Math.abs(B)<=p/2,ee=Math.abs(I)<=m/2;if(le){var J=(f.x1+f.x2)/2,te=f.y1,Z=f.y2;r.segpts=[J,te,J,Z]}else if(ee){var xe=(f.y1+f.y2)/2,de=f.x1,Se=f.x2;r.segpts=[de,xe,Se,xe]}else r.segpts=[f.x1,f.y2]}else{var Me=Math.abs(B)<=d/2,ke=Math.abs(N)<=g/2;if(Me){var we=(f.y1+f.y2)/2,_e=f.x1,$e=f.x2;r.segpts=[_e,we,$e,we]}else if(ke){var fe=(f.x1+f.x2)/2,Ke=f.y1,Te=f.y2;r.segpts=[fe,Ke,fe,Te]}else r.segpts=[f.x2,f.y1]}else if(R){var Be=f.y1+$+(v?p/2*F:0),Ue=f.x1,Ge=f.x2;r.segpts=[Ue,Be,Ge,Be]}else{var Ne=f.x1+$+(v?d/2*F:0),We=f.y1,j=f.y2;r.segpts=[Ne,We,Ne,j]}if(r.isRound){var ae=t.pstyle("taxi-radius").value,U=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(ae),r.isArcRadius=new Array(r.segpts.length/2).fill(U)}};os.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!Nt(r.startX)||!Nt(r.startY),v=!Nt(r.arrowStartX)||!Nt(r.arrowStartY),x=!Nt(r.endX)||!Nt(r.endY),b=!Nt(r.arrowEndX)||!Nt(r.arrowEndY),T=3,E=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,w=T*E,k=G0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),S=kB.poolIndex()){var F=P;P=B,B=F}var G=_.srcPos=P.position(),$=_.tgtPos=B.position(),V=_.srcW=P.outerWidth(),X=_.srcH=P.outerHeight(),Q=_.tgtW=B.outerWidth(),H=_.tgtH=B.outerHeight(),ie=_.srcShape=r.nodeShapes[e.getNodeShape(P)],Y=_.tgtShape=r.nodeShapes[e.getNodeShape(B)],le=_.srcCornerRadius=P.pstyle("corner-radius").value==="auto"?"auto":P.pstyle("corner-radius").pfValue,ee=_.tgtCornerRadius=B.pstyle("corner-radius").value==="auto"?"auto":B.pstyle("corner-radius").pfValue,J=_.tgtRs=B._private.rscratch,te=_.srcRs=P._private.rscratch;_.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Z=0;Z<_.eles.length;Z++){var xe=_.eles[Z],de=xe[0]._private.rscratch,Se=xe.pstyle("curve-style").value,Me=Se==="unbundled-bezier"||pd(Se,"segments")||pd(Se,"taxi"),ke=!P.same(xe.source());if(!_.calculatedIntersection&&P!==B&&(_.hasBezier||_.hasUnbundled)){_.calculatedIntersection=!0;var we=ie.intersectLine(G.x,G.y,V,X,$.x,$.y,0,le,te),_e=_.srcIntn=we,$e=Y.intersectLine($.x,$.y,Q,H,G.x,G.y,0,ee,J),fe=_.tgtIntn=$e,Ke=_.intersectionPts={x1:we[0],x2:$e[0],y1:we[1],y2:$e[1]},Te=_.posPts={x1:G.x,x2:$.x,y1:G.y,y2:$.y},Be=$e[1]-we[1],Ue=$e[0]-we[0],Ge=Math.sqrt(Ue*Ue+Be*Be);Nt(Ge)&&Ge>=lJe||(Ge=Math.sqrt(Math.max(Ue*Ue,Xb)+Math.max(Be*Be,Xb)));var Ne=_.vector={x:Ue,y:Be},We=_.vectorNorm={x:Ne.x/Ge,y:Ne.y/Ge},j={x:-We.y,y:We.x};_.nodesOverlap=!Nt(Ge)||Y.checkPoint(we[0],we[1],0,Q,H,$.x,$.y,ee,J)||ie.checkPoint($e[0],$e[1],0,V,X,G.x,G.y,le,te),_.vectorNormInverse=j,D={nodesOverlap:_.nodesOverlap,dirCounts:_.dirCounts,calculatedIntersection:!0,hasBezier:_.hasBezier,hasUnbundled:_.hasUnbundled,eles:_.eles,srcPos:$,srcRs:J,tgtPos:G,tgtRs:te,srcW:Q,srcH:H,tgtW:V,tgtH:X,srcIntn:fe,tgtIntn:_e,srcShape:Y,tgtShape:ie,posPts:{x1:Te.x2,y1:Te.y2,x2:Te.x1,y2:Te.y1},intersectionPts:{x1:Ke.x2,y1:Ke.y2,x2:Ke.x1,y2:Ke.y1},vector:{x:-Ne.x,y:-Ne.y},vectorNorm:{x:-We.x,y:-We.y},vectorNormInverse:{x:-j.x,y:-j.y}}}var ae=ke?D:_;de.nodesOverlap=ae.nodesOverlap,de.srcIntn=ae.srcIntn,de.tgtIntn=ae.tgtIntn,de.isRound=Se.startsWith("round"),i&&(P.isParent()||P.isChild()||B.isParent()||B.isChild())&&(P.parents().anySame(B)||B.parents().anySame(P)||P.same(B)&&P.isParent())?e.findCompoundLoopPoints(xe,ae,Z,Me):P===B?e.findLoopPoints(xe,ae,Z,Me):Se.endsWith("segments")?e.findSegmentsPoints(xe,ae):Se.endsWith("taxi")?e.findTaxiPoints(xe,ae):Se==="straight"||!Me&&_.eles.length%2===1&&Z===Math.floor(_.eles.length/2)?e.findStraightEdgePoints(xe):e.findBezierPoints(xe,ae,Z,Me,ke),e.findEndpoints(xe),e.tryToCorrectInvalidPoints(xe,ae),e.checkForInvalidEdgeWarning(xe),e.storeAllpts(xe),e.storeEdgeProjections(xe),e.calculateArrowAngles(xe),e.recalculateEdgeLabelProjections(xe),e.calculateLabelAngles(xe)}},"_loop"),S=0;S0){var we=h,_e=O0(we,H1(s)),$e=O0(we,H1(ke)),fe=_e;if($e<_e&&(s=ke,fe=$e),ke.length>2){var Ke=O0(we,{x:ke[2],y:ke[3]});Ke0){var se=f,be=O0(se,H1(s)),pe=O0(se,H1(ne)),me=be;if(pe2){var Re=O0(se,{x:ne[2],y:ne[3]});Re=g||S){v={cp:E,segment:k};break}}if(v)break}var A=v.cp,L=v.segment,I=(g-x)/L.length,N=L.t1-L.t0,C=m?L.t0+N*I:L.t1-N*I;C=qb(0,C,1),e=X1(A.p0,A.p1,A.p2,C),p=uJe(A.p0,A.p1,A.p2,C);break}case"straight":case"segments":case"haystack":{for(var _=0,D,M,R,P,B=n.allpts.length,F=0;F+3=g));F+=2);var G=g-M,$=G/D;$=qb(0,$,1),e=NXe(R,P,$),p=Qme(R,P);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};_u.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};_u.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=z0(n,t._private.labelDimsKey);if(yo(r.rscratch,"prefixedLabelDimsKey",e)!==i){Ih(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,l=t.pstyle("text-wrap").strValue,u=yo(r.rscratch,"labelWrapCachedLines",e)||[],h=l!=="wrap"?1:Math.max(u.length,1),f=a.height/h,d=f*s,p=a.width,m=a.height+(h-1)*(s-1)*f;Ih(r.rstyle,"labelWidth",e,p),Ih(r.rscratch,"labelWidth",e,p),Ih(r.rstyle,"labelHeight",e,m),Ih(r.rscratch,"labelHeight",e,m),Ih(r.rscratch,"labelLineHeight",e,d)}};_u.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(X,Q){return Q?(Ih(r.rscratch,X,e,Q),Q):yo(r.rscratch,X,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=i.split(` +`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var w=x.matchAll(y),k="",S=0,A=xo(w),L;try{for(A.s();!(L=A.n()).done;){var I=L.value,N=I[0],C=x.substring(S,I.index);S=I.index+N.length;var _=k.length===0?C:k+C+N,D=this.calculateLabelDimensions(t,_),M=D.width;M<=d?k+=C+N:(k&&g.push(k),k=C+N)}}catch(V){A.e(V)}finally{A.f()}k.match(/^[\s\u200b]+$/)||g.push(k)}else g.push(x)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(` +`)),s("labelWrapKey",u)}else if(l==="ellipsis"){var R=t.pstyle("text-max-width").pfValue,P="",B="\u2026",F=!1;if(this.calculateLabelDimensions(t,i).widthR)break;P+=i[G],G===i.length-1&&(F=!0)}return F||(P+=B),P}return i};_u.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};_u.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,u=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,f=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!f){f=this.labelCalcCanvas=i.createElement("canvas"),d=this.labelCalcCanvasContext=f.getContext("2d");var p=f.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}d.font="".concat(s," ").concat(h," ").concat(l,"px ").concat(u);for(var m=0,g=0,y=e.split(` +`),v=0;v1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var at=a(z);ot&&(t.hoverData.tapholdCancelled=!0);var Ct=o(function(){var mt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];mt.length===0?(mt.push(et[0]),mt.push(et[1])):(mt[0]+=et[0],mt[1]+=et[1])},"updateDragDelta");se=!0,i(Pe,["mousemove","vmousemove","tapdrag"],z,{x:Re[0],y:Re[1]});var yt=o(function(mt){return{originalEvent:z,type:mt,position:{x:Re[0],y:Re[1]}}},"makeEvent"),dt=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||be.emit(yt("boxstart")),qe[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(ot){var Ht=yt("cxtdrag");oe?oe.emit(Ht):be.emit(Ht),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||Pe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(yt("cxtdragout")),t.hoverData.cxtOver=Pe,Pe&&Pe.emit(yt("cxtdragover")))}}else if(t.hoverData.dragging){if(se=!0,be.panningEnabled()&&be.userPanningEnabled()){var cr;if(t.hoverData.justStartedPan){var Kt=t.hoverData.mdownPos;cr={x:(Re[0]-Kt[0])*pe,y:(Re[1]-Kt[1])*pe},t.hoverData.justStartedPan=!1}else cr={x:et[0]*pe,y:et[1]*pe};be.panBy(cr),be.emit(yt("dragpan")),t.hoverData.dragged=!0}Re=t.projectIntoViewport(z.clientX,z.clientY)}else if(qe[4]==1&&(oe==null||oe.pannable())){if(ot){if(!t.hoverData.dragging&&be.boxSelectionEnabled()&&(at||!be.panningEnabled()||!be.userPanningEnabled()))dt();else if(!t.hoverData.selecting&&be.panningEnabled()&&be.userPanningEnabled()){var kr=s(oe,t.hoverData.downs);kr&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,qe[4]=0,t.data.bgActivePosistion=H1(ge),t.redrawHint("select",!0),t.redraw())}oe&&oe.pannable()&&oe.active()&&oe.unactivate()}}else{if(oe&&oe.pannable()&&oe.active()&&oe.unactivate(),(!oe||!oe.grabbed())&&Pe!=Xe&&(Xe&&i(Xe,["mouseout","tapdragout"],z,{x:Re[0],y:Re[1]}),Pe&&i(Pe,["mouseover","tapdragover"],z,{x:Re[0],y:Re[1]}),t.hoverData.last=Pe),oe)if(ot){if(be.boxSelectionEnabled()&&at)oe&&oe.grabbed()&&(x(he),oe.emit(yt("freeon")),he.emit(yt("free")),t.dragData.didDrag&&(oe.emit(yt("dragfreeon")),he.emit(yt("dragfree")))),dt();else if(oe&&oe.grabbed()&&t.nodeIsDraggable(oe)){var ur=!t.dragData.didDrag;ur&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||y(he,{inDragLayer:!0});var tr={x:0,y:0};if(Nt(et[0])&&Nt(et[1])&&(tr.x+=et[0],tr.y+=et[1],ur)){var hr=t.hoverData.dragDelta;hr&&Nt(hr[0])&&Nt(hr[1])&&(tr.x+=hr[0],tr.y+=hr[1])}t.hoverData.draggingEles=!0,he.silentShift(tr).emit(yt("position")).emit(yt("drag")),t.redrawHint("drag",!0),t.redraw()}}else Ct();se=!0}if(qe[2]=Re[0],qe[3]=Re[1],se)return z.stopPropagation&&z.stopPropagation(),z.preventDefault&&z.preventDefault(),!1}},"mousemoveHandler"),!1);var C,_,D;t.registerBinding(e,"mouseup",o(function(z){if(!(t.hoverData.which===1&&z.which!==1&&t.hoverData.capture)){var ne=t.hoverData.capture;if(ne){t.hoverData.capture=!1;var se=t.cy,be=t.projectIntoViewport(z.clientX,z.clientY),pe=t.selection,me=t.findNearestElement(be[0],be[1],!0,!1),Re=t.dragData.possibleDragElements,ge=t.hoverData.down,Ie=a(z);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,ge&&ge.unactivate();var qe=o(function(Dt){return{originalEvent:z,type:Dt,position:{x:be[0],y:be[1]}}},"makeEvent");if(t.hoverData.which===3){var Pe=qe("cxttapend");if(ge?ge.emit(Pe):se.emit(Pe),!t.hoverData.cxtDragged){var Xe=qe("cxttap");ge?ge.emit(Xe):se.emit(Xe)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(me,["mouseup","tapend","vmouseup"],z,{x:be[0],y:be[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(ge,["click","tap","vclick"],z,{x:be[0],y:be[1]}),_=!1,z.timeStamp-D<=se.multiClickDebounceTime()?(C&&clearTimeout(C),_=!0,D=null,i(ge,["dblclick","dbltap","vdblclick"],z,{x:be[0],y:be[1]})):(C=setTimeout(function(){_||i(ge,["oneclick","onetap","voneclick"],z,{x:be[0],y:be[1]})},se.multiClickDebounceTime()),D=z.timeStamp)),ge==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(z)&&(se.$(r).unselect(["tapunselect"]),Re.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Re=se.collection()),me==ge&&!t.dragData.didDrag&&!t.hoverData.selecting&&me!=null&&me._private.selectable&&(t.hoverData.dragging||(se.selectionType()==="additive"||Ie?me.selected()?me.unselect(["tapunselect"]):me.select(["tapselect"]):Ie||(se.$(r).unmerge(me).unselect(["tapunselect"]),me.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var oe=se.collection(t.getAllInBox(pe[0],pe[1],pe[2],pe[3]));t.redrawHint("select",!0),oe.length>0&&t.redrawHint("eles",!0),se.emit(qe("boxend"));var et=o(function(Dt){return Dt.selectable()&&!Dt.selected()},"eleWouldBeSelected");se.selectionType()==="additive"||Ie||se.$(r).unmerge(oe).unselect(),oe.emit(qe("box")).stdFilter(et).select().emit(qe("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!pe[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var he=ge&&ge.grabbed();x(Re),he&&(ge.emit(qe("freeon")),Re.emit(qe("free")),t.dragData.didDrag&&(ge.emit(qe("dragfreeon")),Re.emit(qe("dragfree"))))}}pe[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},"mouseupHandler"),!1);var M=[],R=4,P,B=1e5,F=o(function(z,ne){for(var se=0;se=R){var be=M;if(P=F(be,5),!P){var pe=Math.abs(be[0]);P=G(be)&&pe>5}if(P)for(var me=0;me5&&(se=lB(se)*5),Xe=se/-250,P&&(Xe/=B,Xe*=3),Xe=Xe*t.wheelSensitivity;var oe=z.deltaMode===1;oe&&(Xe*=33);var et=Re.zoom()*Math.pow(10,Xe);z.type==="gesturechange"&&(et=t.gestureStartZoom*z.scale),Re.zoom({level:et,renderedPosition:{x:Pe[0],y:Pe[1]}}),Re.emit({type:z.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:z,position:{x:qe[0],y:qe[1]}})}}}},"wheelHandler");t.registerBinding(t.container,"wheel",$,!0),t.registerBinding(e,"scroll",o(function(z){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(z){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||z.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(ce){t.hasTouchStarted||$(ce)},!0),t.registerBinding(t.container,"mouseout",o(function(z){var ne=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseout",position:{x:ne[0],y:ne[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(z){var ne=t.projectIntoViewport(z.clientX,z.clientY);t.cy.emit({originalEvent:z,type:"mouseover",position:{x:ne[0],y:ne[1]}})},"mouseOverHandler"),!1);var V,X,Q,H,ie,Y,le,ee,J,te,Z,xe,de,Se=o(function(z,ne,se,be){return Math.sqrt((se-z)*(se-z)+(be-ne)*(be-ne))},"distance"),Me=o(function(z,ne,se,be){return(se-z)*(se-z)+(be-ne)*(be-ne)},"distanceSq"),ke;t.registerBinding(t.container,"touchstart",ke=o(function(z){if(t.hasTouchStarted=!0,!!I(z)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var ne=t.cy,se=t.touchData.now,be=t.touchData.earlier;if(z.touches[0]){var pe=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);se[0]=pe[0],se[1]=pe[1]}if(z.touches[1]){var pe=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);se[2]=pe[0],se[3]=pe[1]}if(z.touches[2]){var pe=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);se[4]=pe[0],se[5]=pe[1]}var me=o(function(at){return{originalEvent:z,type:at,position:{x:se[0],y:se[1]}}},"makeEvent");if(z.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Re=t.findContainerClientCoords();J=Re[0],te=Re[1],Z=Re[2],xe=Re[3],V=z.touches[0].clientX-J,X=z.touches[0].clientY-te,Q=z.touches[1].clientX-J,H=z.touches[1].clientY-te,de=0<=V&&V<=Z&&0<=Q&&Q<=Z&&0<=X&&X<=xe&&0<=H&&H<=xe;var ge=ne.pan(),Ie=ne.zoom();ie=Se(V,X,Q,H),Y=Me(V,X,Q,H),le=[(V+Q)/2,(X+H)/2],ee=[(le[0]-ge.x)/Ie,(le[1]-ge.y)/Ie];var qe=200,Pe=qe*qe;if(Y=1){for(var It=t.touchData.startPosition=[null,null,null,null,null,null],wt=0;wt=t.touchTapThreshold2}if(ne&&t.touchData.cxt){z.preventDefault();var wt=z.touches[0].clientX-J,Rt=z.touches[0].clientY-te,it=z.touches[1].clientX-J,at=z.touches[1].clientY-te,Ct=Me(wt,Rt,it,at),yt=Ct/Y,dt=150,Ht=dt*dt,cr=1.5,Kt=cr*cr;if(yt>=Kt||Ct>=Ht){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var kr=Ie("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(kr),t.touchData.start=null):be.emit(kr)}}if(ne&&t.touchData.cxt){var kr=Ie("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(kr):be.emit(kr),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var ur=t.findNearestElement(pe[0],pe[1],!0,!0);(!t.touchData.cxtOver||ur!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(Ie("cxtdragout")),t.touchData.cxtOver=ur,ur&&ur.emit(Ie("cxtdragover")))}else if(ne&&z.touches[2]&&be.boxSelectionEnabled())z.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||be.emit(Ie("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,se[4]=1,!se||se.length===0||se[0]===void 0?(se[0]=(pe[0]+pe[2]+pe[4])/3,se[1]=(pe[1]+pe[3]+pe[5])/3,se[2]=(pe[0]+pe[2]+pe[4])/3+1,se[3]=(pe[1]+pe[3]+pe[5])/3+1):(se[2]=(pe[0]+pe[2]+pe[4])/3,se[3]=(pe[1]+pe[3]+pe[5])/3),t.redrawHint("select",!0),t.redraw();else if(ne&&z.touches[1]&&!t.touchData.didSelect&&be.zoomingEnabled()&&be.panningEnabled()&&be.userZoomingEnabled()&&be.userPanningEnabled()){z.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var tr=t.dragData.touchDragEles;if(tr){t.redrawHint("drag",!0);for(var hr=0;hr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var _e;t.registerBinding(e,"touchcancel",_e=o(function(z){var ne=t.touchData.start;t.touchData.capture=!1,ne&&ne.unactivate()},"touchcancelHandler"));var $e,fe,Ke,Te;if(t.registerBinding(e,"touchend",$e=o(function(z){var ne=t.touchData.start,se=t.touchData.capture;if(se)z.touches.length===0&&(t.touchData.capture=!1),z.preventDefault();else return;var be=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var pe=t.cy,me=pe.zoom(),Re=t.touchData.now,ge=t.touchData.earlier;if(z.touches[0]){var Ie=t.projectIntoViewport(z.touches[0].clientX,z.touches[0].clientY);Re[0]=Ie[0],Re[1]=Ie[1]}if(z.touches[1]){var Ie=t.projectIntoViewport(z.touches[1].clientX,z.touches[1].clientY);Re[2]=Ie[0],Re[3]=Ie[1]}if(z.touches[2]){var Ie=t.projectIntoViewport(z.touches[2].clientX,z.touches[2].clientY);Re[4]=Ie[0],Re[5]=Ie[1]}var qe=o(function(Ht){return{originalEvent:z,type:Ht,position:{x:Re[0],y:Re[1]}}},"makeEvent");ne&&ne.unactivate();var Pe;if(t.touchData.cxt){if(Pe=qe("cxttapend"),ne?ne.emit(Pe):pe.emit(Pe),!t.touchData.cxtDragged){var Xe=qe("cxttap");ne?ne.emit(Xe):pe.emit(Xe)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!z.touches[2]&&pe.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var oe=pe.collection(t.getAllInBox(be[0],be[1],be[2],be[3]));be[0]=void 0,be[1]=void 0,be[2]=void 0,be[3]=void 0,be[4]=0,t.redrawHint("select",!0),pe.emit(qe("boxend"));var et=o(function(Ht){return Ht.selectable()&&!Ht.selected()},"eleWouldBeSelected");oe.emit(qe("box")).stdFilter(et).select().emit(qe("boxselect")),oe.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(ne?.unactivate(),z.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!z.touches[1]){if(!z.touches[0]){if(!z.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var he=t.dragData.touchDragEles;if(ne!=null){var ot=ne._private.grabbed;x(he),t.redrawHint("drag",!0),t.redrawHint("eles",!0),ot&&(ne.emit(qe("freeon")),he.emit(qe("free")),t.dragData.didDrag&&(ne.emit(qe("dragfreeon")),he.emit(qe("dragfree")))),i(ne,["touchend","tapend","vmouseup","tapdragout"],z,{x:Re[0],y:Re[1]}),ne.unactivate(),t.touchData.start=null}else{var Dt=t.findNearestElement(Re[0],Re[1],!0,!0);i(Dt,["touchend","tapend","vmouseup","tapdragout"],z,{x:Re[0],y:Re[1]})}var It=t.touchData.startPosition[0]-Re[0],wt=It*It,Rt=t.touchData.startPosition[1]-Re[1],it=Rt*Rt,at=wt+it,Ct=at*me*me;t.touchData.singleTouchMoved||(ne||pe.$(":selected").unselect(["tapunselect"]),i(ne,["tap","vclick"],z,{x:Re[0],y:Re[1]}),fe=!1,z.timeStamp-Te<=pe.multiClickDebounceTime()?(Ke&&clearTimeout(Ke),fe=!0,Te=null,i(ne,["dbltap","vdblclick"],z,{x:Re[0],y:Re[1]})):(Ke=setTimeout(function(){fe||i(ne,["onetap","voneclick"],z,{x:Re[0],y:Re[1]})},pe.multiClickDebounceTime()),Te=z.timeStamp)),ne!=null&&!t.dragData.didDrag&&ne._private.selectable&&Ct"u"){var Be=[],Ue=o(function(z){return{clientX:z.clientX,clientY:z.clientY,force:1,identifier:z.pointerId,pageX:z.pageX,pageY:z.pageY,radiusX:z.width/2,radiusY:z.height/2,screenX:z.screenX,screenY:z.screenY,target:z.target}},"makeTouch"),Ge=o(function(z){return{event:z,touch:Ue(z)}},"makePointer"),Ne=o(function(z){Be.push(Ge(z))},"addPointer"),We=o(function(z){for(var ne=0;ne0)return V[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:J0e(a,s,e,r,n,i,l,u)},"intersectLine"),checkPoint:o(function(e,r,n,i,a,s,l,u){u=u==="auto"?Td(i,a):u;var h=2*u;if(Bh(e,r,this.points,s,l,i,a-h,[0,-1],n)||Bh(e,r,this.points,s,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(vo(e,r,p)||$0(e,r,h,h,s+i/2-u,l+a/2-u,n)||$0(e,r,h,h,s-i/2+u,l+a/2-u,n))},"checkPoint")}};Fh.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ns(3,0)),this.generateRoundPolygon("round-triangle",Ns(3,0)),this.generatePolygon("rectangle",Ns(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Ns(5,0)),this.generateRoundPolygon("round-pentagon",Ns(5,0)),this.generatePolygon("hexagon",Ns(6,0)),this.generateRoundPolygon("round-hexagon",Ns(6,0)),this.generatePolygon("heptagon",Ns(7,0)),this.generateRoundPolygon("round-heptagon",Ns(7,0)),this.generatePolygon("octagon",Ns(8,0)),this.generateRoundPolygon("round-octagon",Ns(8,0));var n=new Array(20);{var i=OP(5,0),a=OP(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*E)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(T>=e.deqNoDrawCost*CP)break;var w=e.deq(n,v,y);if(w.length>0)for(var k=0;k0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||aB;i.beforeRender(s,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},fJe=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:jS;Sd(this,t),this.idsByKey=new Oh,this.keyForId=new Oh,this.cachesByLvl=new Oh,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),Cd(t,[{key:"getIdsFor",value:o(function(r){r==null&&ui("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new ry,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Oh,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:o(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:o(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:o(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:o(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:o(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}])})(),m0e=25,NS=50,qS=-4,XP=3,nge=7.99,dJe=8,pJe=1024,mJe=1024,gJe=1024,yJe=.2,vJe=.8,xJe=10,bJe=.15,TJe=.1,wJe=.9,kJe=.9,EJe=100,SJe=1,j1={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},CJe=qa({getKey:null,doesEleInvalidateKey:jS,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:H0e,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Pb=o(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=CJe(r);pr(n,i),n.lookup=new fJe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),sa=Pb.prototype;sa.reasons=j1;sa.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};sa.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};sa.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new rT(function(r,n){return n.reqs-r.reqs});return e};sa.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};sa.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(oB(l*r))),n=nge||n>XP)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=m0e?g=m0e:f<=NS?g=NS:g=Math.ceil(f/NS)*NS,f>gJe||d>mJe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;N--)L=a.getElement(t,e,r,N,j1.downscale);I()}else return a.queueElement(t,k.level-1),k;else{var C;if(!T&&!E&&!w)for(var _=n-1;_>=qS;_--){var D=u.get(t,_);if(D){C=D;break}}if(b(C))return a.queueElement(t,n),C;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+dJe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};sa.invalidateElements=function(t){for(var e=0;e=yJe*t.width&&this.retireTexture(t)};sa.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>vJe&&t.fullnessChecks>=xJe?bd(r,t):t.fullnessChecks++};sa.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;bd(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,sB(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),bd(i,s),n.push(s),s}};sa.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};sa.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,j1.dequeue)}return i};sa.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=iB,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};sa.onDequeue=function(t){this.onDequeues.push(t)};sa.offDequeue=function(t){bd(this.onDequeues,t)};sa.setupDequeueing=rge.setupDequeueing({deqRedrawThreshold:EJe,deqCost:bJe,deqAvgCost:TJe,deqNoDrawCost:wJe,deqFastCost:kJe,deq:o(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:o(function(e,r){for(var n=0;n=_Je||r>rC)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=o(function(){var I=o(function(M){if(n.validateLayersElesOrdering(M,t),n.levelIsComplete(M,t))return m=u[M],!0},"canUseAsTmpLvl"),N=o(function(M){if(!m)for(var R=r+M;Fb<=R&&R<=rC&&!I(R);R+=M);},"checkLvls");N(1),N(-1);for(var C=f.length-1;C>=0;C--){var _=f[C];_.invalid&&bd(f,_)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=Ms();for(var I=0;Iy0e||_>y0e)return null;var D=C*_;if(D>PJe)return null;var M=n.makeLayer(d,r);if(N!=null){var R=f.indexOf(N)+1;f.splice(R,0,M)}else(I.insert===void 0||I.insert)&&f.unshift(M);return M},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/AJe,T=!l,E=0;E=b||!Z0e(x.bb,w.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||T?n.queueLayer(x,w):n.drawEleInLayer(x,w,r,e),x.eles.push(w),S[r]=x}return m||(T?null:f)};Ua.getEleLevelForLayerLevel=function(t,e){return t};Ua.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,BJe),a.setImgSmoothing(s,!0))};Ua.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ua.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ua.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ph(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};Ua.invalidateLayer=function(t){if(this.lastInvalidationTime=Ph(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];bd(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,T=o(function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,M),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,M),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),E=o(function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],M);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),w=o(function(){i&&s.drawEdgeOverlay(t,e)},"drawOverlay"),k=o(function(){i&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),S=o(function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,M)},"drawArrows"),A=o(function(){s.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var L=e.pstyle("ghost").value==="yes";if(L){var I=e.pstyle("ghost-offset-x").pfValue,N=e.pstyle("ghost-offset-y").pfValue,C=e.pstyle("ghost-opacity").value,_=x*C;t.translate(I,N),T(_),S(_),t.translate(-I,-N)}else E();k(),T(),S(),w(),A(),r&&t.translate(u.x1,u.y1)}};sge=o(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");$h.drawEdgeOverlay=sge("overlay");$h.drawEdgeUnderlay=sge("underlay");$h.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(s=e=i.pathCache,l=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};H0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(jJe,"circle");o(T0e,"roundRect");H0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var l=yo(i,"labelAngle",e);r=t.isEdge()?l:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};H0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=yo(s,"labelX",r),h=yo(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=yo(s,"labelWidth",r),y=yo(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),T=e.pstyle("text-halign").value,E=e.pstyle("text-valign").value;b&&(T="center",E="center"),u+=v,h+=x;var w;switch(n?w=this.getTextAngle(e,r):w=0,w!==0&&(f=u,d=h,t.translate(f,d),t.rotate(w),u=0,h=0),E){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var k=e.pstyle("text-background-opacity").value,S=e.pstyle("text-border-opacity").value,A=e.pstyle("text-border-width").pfValue,L=e.pstyle("text-background-padding").pfValue,I=e.pstyle("text-background-shape").strValue,N=I==="round-rectangle"||I==="roundrectangle",C=I==="circle",_=2;if(k>0||A>0&&S>0){var D=t.fillStyle,M=t.strokeStyle,R=t.lineWidth,P=e.pstyle("text-background-color").value,B=e.pstyle("text-border-color").value,F=e.pstyle("text-border-style").value,G=k>0,$=A>0&&S>0,V=u-L;switch(T){case"left":V-=g;break;case"center":V-=g/2;break}var X=h-y-L,Q=g+2*L,H=y+2*L;if(G&&(t.fillStyle="rgba(".concat(P[0],",").concat(P[1],",").concat(P[2],",").concat(k*l,")")),$&&(t.strokeStyle="rgba(".concat(B[0],",").concat(B[1],",").concat(B[2],",").concat(S*l,")"),t.lineWidth=A,t.setLineDash))switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=A/4,t.setLineDash([]);break;case"solid":default:t.setLineDash([]);break}if(N?(t.beginPath(),T0e(t,V,X,Q,H,_)):C?(t.beginPath(),jJe(t,V,X,Q,H)):(t.beginPath(),t.rect(V,X,Q,H)),G&&t.fill(),$&&t.stroke(),$&&F==="double"){var ie=A/2;t.beginPath(),N?T0e(t,V+ie,X+ie,Q-2*ie,H-2*ie,_):t.rect(V+ie,X+ie,Q-2*ie,H-2*ie),t.stroke()}t.fillStyle=D,t.strokeStyle=M,t.lineWidth=R,t.setLineDash&&t.setLineDash([])}var Y=2*e.pstyle("text-outline-width").pfValue;if(Y>0&&(t.lineWidth=Y),e.pstyle("text-wrap").value==="wrap"){var le=yo(s,"labelWrapCachedLines",r),ee=yo(s,"labelLineHeight",r),J=g/2,te=this.getLabelJustification(e);switch(te==="auto"||(T==="left"?te==="left"?u+=-g:te==="center"&&(u+=-J):T==="center"?te==="left"?u+=-J:te==="right"&&(u+=J):T==="right"&&(te==="center"?u+=J:te==="right"&&(u+=g))),E){case"top":h-=(le.length-1)*ee;break;case"center":case"bottom":h-=(le.length-1)*ee;break}for(var Z=0;Z0&&t.strokeText(le[Z],u,h),t.fillText(le[Z],u,h),h+=ee}else Y>0&&t.strokeText(p,u,h),t.fillText(p,u,h);w!==0&&(t.rotate(-w),t.translate(-f,-d))}}};_d={};_d.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!Nt(d.x)||!Nt(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),T=b.value,E=new Array(T.length),w=new Array(T.length),k=0,S=0;S0&&arguments[0]!==void 0?arguments[0]:_;s.eleFillStyle(t,e,U)},"setupShapeColor"),ee=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;s.colorStrokeStyle(t,D[0],D[1],D[2],U)},"setupBorderColor"),J=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H;s.colorStrokeStyle(t,X[0],X[1],X[2],U)},"setupOutlineColor"),te=o(function(U,ce,z,ne){var se=s.nodePathCache=s.nodePathCache||[],be=W0e(z==="polygon"?z+","+ne.join(","):z,""+ce,""+U,""+Y),pe=se[be],me,Re=!1;return pe!=null?(me=pe,Re=!0,f.pathCache=me):(me=new Path2D,se[be]=f.pathCache=me),{path:me,cacheHit:Re}},"getPath"),Z=e.pstyle("shape").strValue,xe=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var de=te(l,u,Z,xe);g=de.path,y=de.cacheHit}var Se=o(function(){if(!y){var U=d;m&&(U={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,U.x,U.y,l,u,Y,f)}m?t.fill(g):t.fill()},"drawShape"),Me=o(function(){for(var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,z=h.backgrounding,ne=0,se=0;se0&&arguments[0]!==void 0?arguments[0]:!1,ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,ce),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f)))},"drawPie"),we=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasStripe(e)&&(t.save(),m?t.clip(f.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f),t.clip()),s.drawStripe(t,e,ce),t.restore(),U&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Y,f)))},"drawStripe"),_e=o(function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ce=(N>0?N:-N)*U,z=N>0?0:255;N!==0&&(s.colorFillStyle(t,z,z,z,ce),m?t.fill(g):t.fill())},"darken"),$e=o(function(){if(C>0){if(t.lineWidth=C,t.lineCap=P,t.lineJoin=R,t.setLineDash)switch(M){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(F),t.lineDashOffset=G;break;case"solid":case"double":t.setLineDash([]);break}if(B!=="center"){if(t.save(),t.lineWidth*=2,B==="inside")m?t.clip(g):t.clip();else{var U=new Path2D;U.rect(-l/2-C,-u/2-C,l+2*C,u+2*C),U.addPath(g),t.clip(U,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(M==="double"){t.lineWidth=C/3;var ce=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=ce}t.setLineDash&&t.setLineDash([])}},"drawBorder"),fe=o(function(){if(V>0){if(t.lineWidth=V,t.lineCap="butt",t.setLineDash)switch(Q){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var U=d;m&&(U={x:0,y:0});var ce=s.getNodeShape(e),z=C;B==="inside"&&(z=0),B==="outside"&&(z*=2);var ne=(l+z+(V+ie))/l,se=(u+z+(V+ie))/u,be=l*ne,pe=u*se,me=s.nodeShapes[ce].points,Re;if(m){var ge=te(be,pe,ce,me);Re=ge.path}if(ce==="ellipse")s.drawEllipsePath(Re||t,U.x,U.y,be,pe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ce)){var Ie=0,qe=0,Pe=0;ce==="round-diamond"?Ie=(z+ie+V)*1.4:ce==="round-heptagon"?(Ie=(z+ie+V)*1.075,Pe=-(z/2+ie+V)/35):ce==="round-hexagon"?Ie=(z+ie+V)*1.12:ce==="round-pentagon"?(Ie=(z+ie+V)*1.13,Pe=-(z/2+ie+V)/15):ce==="round-tag"?(Ie=(z+ie+V)*1.12,qe=(z/2+V+ie)*.07):ce==="round-triangle"&&(Ie=(z+ie+V)*(Math.PI/2),Pe=-(z+ie/2+V)/Math.PI),Ie!==0&&(ne=(l+Ie)/l,be=l*ne,["round-hexagon","round-tag"].includes(ce)||(se=(u+Ie)/u,pe=u*se)),Y=Y==="auto"?tme(be,pe):Y;for(var Xe=be/2,oe=pe/2,et=Y+(z+V+ie)/2,he=new Array(me.length/2),ot=new Array(me.length/2),Dt=0;Dt0){if(i=i||n.position(),a==null||s==null){var m=n.padding();a=n.width()+2*m,s=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");_d.drawNodeOverlay=oge("overlay");_d.drawNodeUnderlay=oge("underlay");_d.hasPie=function(t){return t=t[0],t._private.hasPie};_d.hasStripe=function(t){return t=t[0],t._private.hasStripe};_d.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),l=e.pstyle("pie-start-angle").pfValue,u=n.x,h=n.y,f=e.width(),d=e.height(),p=Math.min(f,d)/2,m,g=0,y=this.usePaths();if(y&&(u=0,h=0),a.units==="%"?p=p*a.pfValue:a.pfValue!==void 0&&(p=a.pfValue/2),s.units==="%"?m=p*s.pfValue:s.pfValue!==void 0&&(m=s.pfValue/2),!(m>=p))for(var v=1;v<=i.pieBackgroundN;v++){var x=e.pstyle("pie-"+v+"-background-size").value,b=e.pstyle("pie-"+v+"-background-color").value,T=e.pstyle("pie-"+v+"-background-opacity").value*r,E=x/100;E+g>1&&(E=1-g);var w=1.5*Math.PI+2*Math.PI*g;w+=l;var k=2*Math.PI*E,S=w+k;x===0||g>=1||g+E>1||(m===0?(t.beginPath(),t.moveTo(u,h),t.arc(u,h,p,w,S),t.closePath()):(t.beginPath(),t.arc(u,h,p,w,S),t.arc(u,h,m,S,w,!0),t.closePath()),this.colorFillStyle(t,b[0],b[1],b[2],T),t.fill(),g+=E)}};_d.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,l=e.width(),u=e.height(),h=0,f=this.usePaths();t.save();var d=e.pstyle("stripe-direction").value,p=e.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var m=l,g=u;p.units==="%"?(m=m*p.pfValue,g=g*p.pfValue):p.pfValue!==void 0&&(m=p.pfValue,g=p.pfValue),f&&(a=0,s=0),s-=m/2,a-=g/2;for(var y=1;y<=i.stripeBackgroundN;y++){var v=e.pstyle("stripe-"+y+"-background-size").value,x=e.pstyle("stripe-"+y+"-background-color").value,b=e.pstyle("stripe-"+y+"-background-opacity").value*r,T=v/100;T+h>1&&(T=1-h),!(v===0||h>=1||h+T>1)&&(t.beginPath(),t.rect(a,s+g*h,m,g*T),t.closePath(),this.colorFillStyle(t,x[0],x[1],x[2],b),t.fill(),h+=T)}t.restore()};Is={},XJe=100;Is.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};Is.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(f[e.NODE]=!0,f[e.SELECT_BOX]=!0);var b=r.style(),T=r.zoom(),E=s!==void 0?s:T,w=r.pan(),k={x:w.x,y:w.y},S={zoom:T,pan:{x:w.x,y:w.y}},A=e.prevViewport,L=A===void 0||S.zoom!==A.zoom||S.pan.x!==A.pan.x||S.pan.y!==A.pan.y;!L&&!(y&&!g)&&(e.motionBlurPxRatio=1),l&&(k=l),E*=u,k.x*=u,k.y*=u;var I=e.getCachedZSortedEles();function N(ee,J,te,Z,xe){var de=ee.globalCompositeOperation;ee.globalCompositeOperation="destination-out",e.colorFillStyle(ee,255,255,255,e.motionBlurTransparency),ee.fillRect(J,te,Z,xe),ee.globalCompositeOperation=de}o(N,"mbclear");function C(ee,J){var te,Z,xe,de;!e.clearingMotionBlur&&(ee===h.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||ee===h.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(te={x:w.x*m,y:w.y*m},Z=T*m,xe=e.canvasWidth*m,de=e.canvasHeight*m):(te=k,Z=E,xe=e.canvasWidth,de=e.canvasHeight),ee.setTransform(1,0,0,1,0,0),J==="motionBlur"?N(ee,0,0,xe,de):!n&&(J===void 0||J)&&ee.clearRect(0,0,xe,de),i||(ee.translate(te.x,te.y),ee.scale(Z,Z)),l&&ee.translate(l.x,l.y),s&&ee.scale(s,s)}if(o(C,"setContextTransform"),d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var _=e.data.bufferContexts[e.TEXTURE_BUFFER];_.setTransform(1,0,0,1,0,0),_.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:_,drawOnlyNodeLayer:!0,forcedPxRatio:u*e.textureMult});var S=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};S.mpan={x:(0-S.pan.x)/S.zoom,y:(0-S.pan.y)/S.zoom}}f[e.DRAG]=!1,f[e.NODE]=!1;var D=h.contexts[e.NODE],M=e.textureCache.texture,S=e.textureCache.viewport;D.setTransform(1,0,0,1,0,0),p?N(D,0,0,S.width,S.height):D.clearRect(0,0,S.width,S.height);var R=b.core("outside-texture-bg-color").value,P=b.core("outside-texture-bg-opacity").value;e.colorFillStyle(D,R[0],R[1],R[2],P),D.fillRect(0,0,S.width,S.height);var T=r.zoom();C(D,!1),D.clearRect(S.mpan.x,S.mpan.y,S.width/S.zoom/u,S.height/S.zoom/u),D.drawImage(M,S.mpan.x,S.mpan.y,S.width/S.zoom/u,S.height/S.zoom/u)}else e.textureOnViewport&&!n&&(e.textureCache=null);var B=r.extent(),F=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),G=e.hideEdgesOnViewport&&F,$=[];if($[e.NODE]=!f[e.NODE]&&p&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,$[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),$[e.DRAG]=!f[e.DRAG]&&p&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,$[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),f[e.NODE]||i||a||$[e.NODE]){var V=p&&!$[e.NODE]&&m!==1,D=n||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:h.contexts[e.NODE]),X=p&&!V?"motionBlur":void 0;C(D,X),G?e.drawCachedNodes(D,I.nondrag,u,B):e.drawLayeredElements(D,I.nondrag,u,B),e.debug&&e.drawDebugPoints(D,I.nondrag),!i&&!p&&(f[e.NODE]=!1)}if(!a&&(f[e.DRAG]||i||$[e.DRAG])){var V=p&&!$[e.DRAG]&&m!==1,D=n||(V?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:h.contexts[e.DRAG]);C(D,p&&!V?"motionBlur":void 0),G?e.drawCachedNodes(D,I.drag,u,B):e.drawCachedElements(D,I.drag,u,B),e.debug&&e.drawDebugPoints(D,I.drag),!i&&!p&&(f[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,C),p&&m!==1){var Q=h.contexts[e.NODE],H=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ie=h.contexts[e.DRAG],Y=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],le=o(function(J,te,Z){J.setTransform(1,0,0,1,0,0),Z||!x?J.clearRect(0,0,e.canvasWidth,e.canvasHeight):N(J,0,0,e.canvasWidth,e.canvasHeight);var xe=m;J.drawImage(te,0,0,e.canvasWidth*xe,e.canvasHeight*xe,0,0,e.canvasWidth,e.canvasHeight)},"drawMotionBlur");(f[e.NODE]||$[e.NODE])&&(le(Q,H,$[e.NODE]),f[e.NODE]=!1),(f[e.DRAG]||$[e.DRAG])&&(le(ie,Y,$[e.DRAG]),f[e.DRAG]=!1)}e.prevViewport=S,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),p&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,f[e.NODE]=!0,f[e.DRAG]=!0,e.redraw()},XJe)),n||r.emit("render")};Is.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,l=t.drawAllLayers,u=i.canvasNeedsRedraw,h=t.forcedContext;if(r.showFps||!s&&u[r.SELECT_BOX]&&!l){var f=h||i.contexts[r.SELECT_BOX];if(e(f),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),p=a.core("selection-box-border-width").value/d;f.lineWidth=p,f.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",f.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),p>0&&(f.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",f.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),m=i.bgActivePosistion;f.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",f.beginPath(),f.arc(m.x,m.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),f.fill()}var g=r.lastRedrawTime;if(r.showFps&&g){g=Math.round(g);var y=Math.round(1e3/g),v="1 frame = "+g+" ms = "+y+" fps";if(f.setTransform(1,0,0,1,0,0),f.fillStyle="rgba(255, 0, 0, 0.75)",f.strokeStyle="rgba(255, 0, 0, 0.75)",f.font="30px Arial",!Lb){var x=f.measureText(v);Lb=x.actualBoundingBoxAscent}f.fillText(v,0,Lb);var b=60;f.strokeRect(0,Lb+10,250,20),f.fillRect(0,Lb+10,250*Math.min(y/b,1),20)}l||(u[r.SELECT_BOX]=!1)}};o(w0e,"compileShader");o(KJe,"createProgram");o(QJe,"createTextureCanvas");o(EB,"getEffectivePanZoom");o(ZJe,"getEffectiveZoom");o(JJe,"modelToRenderedPosition");o(eet,"isSimpleShape");o(tet,"arrayEqual");o(M0,"toWebGLColor");o(q1,"indexToVec4");o(ret,"vec4ToIndex");o(net,"createTexture");o(lge,"getTypeInfo");o(cge,"createTypedArray");o(iet,"createTypedArrayView");o(aet,"createBufferStaticDraw");o(Eu,"createBufferDynamicDraw");o(set,"create3x3MatrixBufferDynamicDraw");o(oet,"createPickingFrameBuffer");k0e=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});o(_P,"create");o(E0e,"identity");o(cet,"multiply");o(US,"translate");o(S0e,"rotate");o(KP,"scale");o(uet,"projection");het=(function(){function t(e,r,n,i){Sd(this,t),this.debugID=Math.floor(Math.random()*1e4),this.r=e,this.texSize=r,this.texRows=n,this.texHeight=Math.floor(r/n),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=i(e,r,r),this.scratch=i(e,r,this.texHeight,"scratch")}return o(t,"Atlas"),Cd(t,[{key:"lock",value:o(function(){this.locked=!0},"lock")},{key:"getKeys",value:o(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:o(function(r){var n=r.w,i=r.h,a=this.texHeight,s=this.texSize,l=a/i,u=n*l,h=i*l;return u>s&&(l=s/n,u=n*l,h=i*l),{scale:l,texW:u,texH:h}},"getScale")},{key:"draw",value:o(function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,l=this.texRows,u=this.texHeight,h=this.getScale(n),f=h.scale,d=h.texW,p=h.texH,m=o(function(T,E){if(i&&E){var w=E.context,k=T.x,S=T.row,A=k,L=u*S;w.save(),w.translate(A,L),w.scale(f,f),i(w,n),w.restore()}},"drawAt"),g=[null,null],y=o(function(){m(a.freePointer,a.canvas),g[0]={x:a.freePointer.x,y:a.freePointer.row*u,w:d,h:p},g[1]={x:a.freePointer.x+d,y:a.freePointer.row*u,w:0,h:p},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),v=o(function(){var T=a.scratch,E=a.canvas;T.clear(),m({x:0,row:0},T);var w=s-a.freePointer.x,k=d-w,S=u;{var A=a.freePointer.x,L=a.freePointer.row*u,I=w;E.context.drawImage(T,0,0,I,S,A,L,I,S),g[0]={x:A,y:L,w:I,h:p}}{var N=w,C=(a.freePointer.row+1)*u,_=k;E&&E.context.drawImage(T,N,0,_,S,0,C,_,S),g[1]={x:0,y:C,w:_,h:p}}a.freePointer.x=k,a.freePointer.row++},"drawWrapped"),x=o(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+d<=s)y();else{if(this.freePointer.row>=l-1)return!1;this.freePointer.x===s?(x(),y()):this.enableWrapping?v():(x(),y())}return this.keyToLocation.set(r,g),this.needsBuffer=!0,g},"draw")},{key:"getOffsets",value:o(function(r){return this.keyToLocation.get(r)},"getOffsets")},{key:"isEmpty",value:o(function(){return this.freePointer.x===0&&this.freePointer.row===0},"isEmpty")},{key:"canFit",value:o(function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,l=i.filterEle,u=l===void 0?function(){return!0}:l,h=i.filterType,f=h===void 0?function(){return!0}:h,d=!1,p=!1,m=xo(r),g;try{for(m.s();!(g=m.n()).done;){var y=g.value;if(u(y)){var v=xo(this.renderTypes.values()),x;try{var b=o(function(){var E=x.value,w=E.type;if(f(w)){var k=n.collections.get(E.collection),S=E.getKey(y),A=Array.isArray(S)?S:[S];if(s)A.forEach(function(C){return k.markKeyForGC(C)}),p=!0;else{var L=E.getID?E.getID(y):y.id(),I=n._key(w,L),N=n.typeAndIdToKey.get(I);N!==void 0&&!tet(A,N)&&(d=!0,n.typeAndIdToKey.delete(I),N.forEach(function(C){return k.markKeyForGC(C)}))}}},"_loop2");for(v.s();!(x=v.n()).done;)b()}catch(T){v.e(T)}finally{v.f()}}}}catch(T){m.e(T)}finally{m.f()}return p&&(this.gc(),d=!1),d},"invalidate")},{key:"gc",value:o(function(){var r=xo(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}},"gc")},{key:"getOrCreateAtlas",value:o(function(r,n,i,a){var s=this.renderTypes.get(n),l=this.collections.get(s.collection),u=!1,h=l.draw(a,i,function(p){s.drawClipped?(p.save(),p.beginPath(),p.rect(0,0,i.w,i.h),p.clip(),s.drawElement(p,r,i,!0,!0),p.restore()):s.drawElement(p,r,i,!0,!0),u=!0});if(u){var f=s.getID?s.getID(r):r.id(),d=this._key(n,f);this.typeAndIdToKey.has(d)?this.typeAndIdToKey.get(d).push(a):this.typeAndIdToKey.set(d,[a])}return h},"getOrCreateAtlas")},{key:"getAtlasInfo",value:o(function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),l=Array.isArray(s)?s:[s];return l.map(function(u){var h=a.getBoundingBox(r,u),f=i.getOrCreateAtlas(r,n,h,u),d=f.getOffsets(u),p=Wi(d,2),m=p[0],g=p[1];return{atlas:f,tex:m,tex1:m,tex2:g,bb:h}})},"getAtlasInfo")},{key:"getDebugInfo",value:o(function(){var r=[],n=xo(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=Wi(i.value,2),s=a[0],l=a[1],u=l.getCounts(),h=u.keyCount,f=u.atlasCount;r.push({type:s,keyCount:h,atlasCount:f})}}catch(d){n.e(d)}finally{n.f()}return r},"getDebugInfo")}])})(),met=(function(){function t(e){Sd(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return o(t,"AtlasBatchManager"),Cd(t,[{key:"getMaxAtlasesPerBatch",value:o(function(){return this.maxAtlasesPerBatch},"getMaxAtlasesPerBatch")},{key:"getAtlasSize",value:o(function(){return this.atlasSize},"getAtlasSize")},{key:"getIndexArray",value:o(function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})},"getIndexArray")},{key:"startBatch",value:o(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:o(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:o(function(){return this.batchAtlases},"getAtlases")},{key:"canAddToCurrentBatch",value:o(function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0},"canAddToCurrentBatch")},{key:"getAtlasIndexForBatch",value:o(function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n},"getAtlasIndexForBatch")}])})(),get=` float circleSD(vec2 p, float r) { return distance(vec2(0), p) - r; // signed distance } -`,NZe=` +`,yet=` 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); } -`,MZe=` +`,vet=` 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; } -`,IZe=` +`,xet=` float ellipseSD(vec2 p, vec2 ab) { p = abs( p ); // symmetry @@ -559,7 +558,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho // return signed distance return (dot(p/ab,p/ab)>1.0) ? d : -d; } -`,Ab={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},UE={IGNORE:1,USE_BB:2},dP=0,Vpe=1,qpe=2,pP=3,P1=4,bE=5,bb=6,Tb=7,OZe=(function(){function t(e,r,n){Td(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=dZe,this.atlasManager=new DZe(e,n),this.batchManager=new RZe(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(Ab.SCREEN),this.pickingProgram=this._createShaderProgram(Ab.PICKING),this.vao=this._createVAO()}return o(t,"ElementDrawingWebGL"),wd(t,[{key:"addAtlasCollection",value:o(function(r,n){this.atlasManager.addAtlasCollection(r,n)},"addAtlasCollection")},{key:"addTextureAtlasRenderType",value:o(function(r,n){this.atlasManager.addRenderType(r,n)},"addTextureAtlasRenderType")},{key:"addSimpleShapeRenderType",value:o(function(r,n){this.simpleShapeOptions.set(r,n)},"addSimpleShapeRenderType")},{key:"invalidate",value:o(function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:o(function(l){return l===i},"filterType"),forceRedraw:!0}):a.invalidate(r)},"invalidate")},{key:"gc",value:o(function(){this.atlasManager.gc()},"gc")},{key:"_createShaderProgram",value:o(function(r){var n=this.gl,i=`#version 300 es +`,$b={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},nC={IGNORE:1,USE_BB:2},DP=0,C0e=1,A0e=2,RP=3,U1=4,MS=5,Nb=6,Mb=7,bet=(function(){function t(e,r,n){Sd(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=QJe,this.atlasManager=new pet(e,n),this.batchManager=new met(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram($b.SCREEN),this.pickingProgram=this._createShaderProgram($b.PICKING),this.vao=this._createVAO()}return o(t,"ElementDrawingWebGL"),Cd(t,[{key:"addAtlasCollection",value:o(function(r,n){this.atlasManager.addAtlasCollection(r,n)},"addAtlasCollection")},{key:"addTextureAtlasRenderType",value:o(function(r,n){this.atlasManager.addRenderType(r,n)},"addTextureAtlasRenderType")},{key:"addSimpleShapeRenderType",value:o(function(r,n){this.simpleShapeOptions.set(r,n)},"addSimpleShapeRenderType")},{key:"invalidate",value:o(function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:o(function(l){return l===i},"filterType"),forceRedraw:!0}):a.invalidate(r)},"invalidate")},{key:"gc",value:o(function(){this.atlasManager.gc()},"gc")},{key:"_createShaderProgram",value:o(function(r){var n=this.gl,i=`#version 300 es precision highp float; uniform mat3 uPanZoomMatrix; @@ -606,7 +605,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho int vid = gl_VertexID; vec2 position = aPosition; // TODO make this a vec3, simplifies some code below - if(aVertType == `.concat(dP,`) { + if(aVertType == `.concat(DP,`) { float texX = aTex.x; // texture coordinates float texY = aTex.y; float texW = aTex.z; @@ -624,8 +623,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); } - else if(aVertType == `).concat(P1," || aVertType == ").concat(Tb,` - || aVertType == `).concat(bE," || aVertType == ").concat(bb,`) { // simple shapes + else if(aVertType == `).concat(U1," || aVertType == ").concat(Mb,` + || aVertType == `).concat(MS," || aVertType == ").concat(Nb,`) { // simple shapes // the bounding box is needed by the fragment shader vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat @@ -640,7 +639,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); } - else if(aVertType == `).concat(Vpe,`) { + else if(aVertType == `).concat(C0e,`) { vec2 source = aPointAPointB.xy; vec2 target = aPointAPointB.zw; @@ -655,7 +654,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0); vColor = aColor; } - else if(aVertType == `).concat(qpe,`) { + else if(aVertType == `).concat(A0e,`) { vec2 pointA = aPointAPointB.xy; vec2 pointB = aPointAPointB.zw; vec2 pointC = aPointCPointD.xy; @@ -704,7 +703,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho vColor = aColor; } - else if(aVertType == `).concat(pP,` && vid < 3) { + else if(aVertType == `).concat(RP,` && vid < 3) { // massage the first triangle into an edge arrow if(vid == 0) position = vec2(-0.15, -0.3); @@ -749,10 +748,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho out vec4 outColor; - `).concat(LZe,` - `).concat(NZe,` - `).concat(MZe,` - `).concat(IZe,` + `).concat(get,` + `).concat(yet,` + `).concat(vet,` + `).concat(xet,` vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha return vec4( @@ -768,21 +767,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho } void main(void) { - if(vVertType == `).concat(dP,`) { + if(vVertType == `).concat(DP,`) { // look up the texel from the texture unit `).concat(a.map(function(h){return"if(vAtlasId == ".concat(h,") outColor = texture(uTexture").concat(h,", vTexCoord);")}).join(` else `),` } - else if(vVertType == `).concat(pP,`) { + else if(vVertType == `).concat(RP,`) { // 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(P1,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border + else if(vVertType == `).concat(U1,` && 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(P1," || vVertType == ").concat(Tb,` - || vVertType == `).concat(bE," || vVertType == ").concat(bb,`) { // use SDF + else if(vVertType == `).concat(U1," || vVertType == ").concat(Mb,` + || vVertType == `).concat(MS," || vVertType == ").concat(Nb,`) { // use SDF float outerBorder = vBorderWidth[0]; float innerBorder = vBorderWidth[1]; @@ -793,11 +792,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center float d; // signed distance - if(vVertType == `).concat(P1,`) { + if(vVertType == `).concat(U1,`) { d = rectangleSD(p, b); - } else if(vVertType == `).concat(Tb,` && w == h) { + } else if(vVertType == `).concat(Mb,` && w == h) { d = circleSD(p, b.x); // faster than ellipse - } else if(vVertType == `).concat(Tb,`) { + } else if(vVertType == `).concat(Mb,`) { d = ellipseSD(p, b); } else { d = roundRectangleSD(p, b, vCornerRadius.wzyx); @@ -837,13 +836,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `).concat(r.picking?`if(outColor.a == 0.0) discard; else outColor = vIndex;`:"",` } - `),l=fZe(n,i,s);l.aPosition=n.getAttribLocation(l,"aPosition"),l.aIndex=n.getAttribLocation(l,"aIndex"),l.aVertType=n.getAttribLocation(l,"aVertType"),l.aTransform=n.getAttribLocation(l,"aTransform"),l.aAtlasId=n.getAttribLocation(l,"aAtlasId"),l.aTex=n.getAttribLocation(l,"aTex"),l.aPointAPointB=n.getAttribLocation(l,"aPointAPointB"),l.aPointCPointD=n.getAttribLocation(l,"aPointCPointD"),l.aLineWidth=n.getAttribLocation(l,"aLineWidth"),l.aColor=n.getAttribLocation(l,"aColor"),l.aCornerRadius=n.getAttribLocation(l,"aCornerRadius"),l.aBorderColor=n.getAttribLocation(l,"aBorderColor"),l.uPanZoomMatrix=n.getUniformLocation(l,"uPanZoomMatrix"),l.uAtlasSize=n.getUniformLocation(l,"uAtlasSize"),l.uBGColor=n.getUniformLocation(l,"uBGColor"),l.uZoom=n.getUniformLocation(l,"uZoom"),l.uTextures=[];for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:Ab.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()},"startFrame")},{key:"startBatch",value:o(function(){this.instanceCount=0,this.batchManager.startBatch()},"startBatch")},{key:"endFrame",value:o(function(){this.endBatch()},"endFrame")},{key:"_isVisible",value:o(function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1},"_isVisible")},{key:"drawTexture",value:o(function(r,n,i){var a=this.atlasManager,s=this.batchManager,l=a.getRenderTypeOpts(i);if(this._isVisible(r,l)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&l.getTexPickingMode){var u=l.getTexPickingMode(r);if(u===UE.IGNORE)return;if(u==UE.USE_BB){this.drawPickingRectangle(r,n,i);return}}var h=a.getAtlasInfo(r,i),f=po(h),d;try{for(f.s();!(d=f.n()).done;){var p=d.value,m=p.atlas,g=p.tex1,y=p.tex2;s.canAddToCurrentBatch(m)||this.endBatch();for(var v=s.getAtlasIndexForBatch(m),x=0,b=[[g,!0],[y,!1]];x=this.maxInstances&&this.endBatch()}}}}catch(L){f.e(L)}finally{f.f()}}},"drawTexture")},{key:"setTransformMatrix",value:o(function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,l=0;if(i.shapeProps&&i.shapeProps.padding&&(l=r.pstyle(i.shapeProps.padding).pfValue),a){var u=a.bb,h=a.tex1,f=a.tex2,d=h.w/(h.w+f.w);s||(d=1-d);var p=this._getAdjustedBB(u,l,s,d);this._applyTransformMatrix(n,p,i,r)}else{var m=i.getBoundingBox(r),g=this._getAdjustedBB(m,l,!0,1);this._applyTransformMatrix(n,g,i,r)}},"setTransformMatrix")},{key:"_applyTransformMatrix",value:o(function(r,n,i,a){var s,l;zpe(r);var u=i.getRotation?i.getRotation(a):0;if(u!==0){var h=i.getRotationPoint(a),f=h.x,d=h.y;LE(r,r,[f,d]),Gpe(r,r,u);var p=i.getRotationOffset(a);s=p.x+(n.xOffset||0),l=p.y+(n.yOffset||0)}else s=n.x1,l=n.y1;LE(r,r,[s,l]),IP(r,r,[n.w,n.h])},"_applyTransformMatrix")},{key:"_getAdjustedBB",value:o(function(r,n,i,a){var s=r.x1,l=r.y1,u=r.w,h=r.h,f=r.yOffset;n&&(s-=n,l-=n,u+=2*n,h+=2*n);var d=0,p=u*a;return i&&a<1?u=p:!i&&a<1&&(d=u-p,s+=d,u=p),{x1:s,y1:l,w:u,h,xOffset:d,yOffset:f}},"_getAdjustedBB")},{key:"drawPickingRectangle",value:o(function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=P1;var l=this.indexBuffer.getView(s);O1(n,l);var u=this.colorBuffer.getView(s);R0([0,0,0],1,u);var h=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,h,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()},"drawPickingRectangle")},{key:"drawNode",value:o(function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,l=this._getVertTypeForShape(r,s.shape);if(l===void 0||a.isSimple&&!a.isSimple(r)){this.drawTexture(r,n,i);return}var u=this.instanceCount;if(this.vertTypeBuffer.getView(u)[0]=l,l===bE||l===bb){var h=a.getBoundingBox(r),f=this._getCornerRadius(r,s.radius,h),d=this.cornerRadiusBuffer.getView(u);d[0]=f,d[1]=f,d[2]=f,d[3]=f,l===bb&&(d[0]=0,d[2]=0)}var p=this.indexBuffer.getView(u);O1(n,p);var m=r.pstyle(s.color).value,g=r.pstyle(s.opacity).value,y=this.colorBuffer.getView(u);R0(m,g,y);var v=this.lineWidthBuffer.getView(u);if(v[0]=0,v[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var b=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(u);R0(b,T,E);var w=r.pstyle("border-position").value;if(w==="inside")v[0]=0,v[1]=-x;else if(w==="outside")v[0]=x,v[1]=0;else{var k=x/2;v[0]=k,v[1]=-k}}}var C=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(r,C,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawNode")},{key:"_getVertTypeForShape",value:o(function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return P1;case"ellipse":return Tb;case"roundrectangle":case"round-rectangle":return bE;case"bottom-round-rectangle":return bb;default:return}},"_getVertTypeForShape")},{key:"_getCornerRadius",value:o(function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return yd(a,s);var l=r.pstyle(n).pfValue,u=a/2,h=s/2;return Math.min(l,h,u)},"_getCornerRadius")},{key:"drawEdgeArrow",value:o(function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,l,u;if(i==="source"?(s=a.arrowStartX,l=a.arrowStartY,u=a.srcArrowAngle):(s=a.arrowEndX,l=a.arrowEndY,u=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(l)||l==null||isNaN(u)||u==null)){var h=r.pstyle(i+"-arrow-shape").value;if(h!=="none"){var f=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,p=r.pstyle("line-opacity").value,m=d*p,g=r.pstyle("width").pfValue,y=r.pstyle("arrow-scale").value,v=this.r.getArrowWidth(g,y),x=this.instanceCount,b=this.transformBuffer.getMatrixView(x);zpe(b),LE(b,b,[s,l]),IP(b,b,[v,v]),Gpe(b,b,u),this.vertTypeBuffer.getView(x)[0]=pP;var T=this.indexBuffer.getView(x);O1(n,T);var E=this.colorBuffer.getView(x);R0(f,m,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:o(function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,l=r.pstyle("width").pfValue,u=r.pstyle("line-color").value,h=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=Vpe;var d=this.indexBuffer.getView(f);O1(n,d);var p=this.colorBuffer.getView(f);R0(u,h,p);var m=this.lineWidthBuffer.getView(f);m[0]=l;var g=this.pointAPointBBuffer.getView(f);g[0]=i[0],g[1]=i[1],g[2]=i[2],g[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var y=0;y=this.maxInstances&&this.endBatch()}}}},"drawEdgeLine")},{key:"_isValidEdge",value:o(function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))},"_isValidEdge")},{key:"_getEdgePoints",value:o(function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}},"_getEdgePoints")},{key:"_getNumSegments",value:o(function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)},"_getNumSegments")},{key:"_getCurveSegmentPoints",value:o(function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i},"_getCurveSegmentPoints")},{key:"_setCurvePoint",value:o(function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),l=0;l0}},"isLayerVisible"),l=o(function(d){var p=d.pstyle("text-events").strValue==="yes";return p?UE.USE_BB:UE.IGNORE},"getTexPickingMode"),u=o(function(d){var p=d.position(),m=p.x,g=p.y,y=d.outerWidth(),v=d.outerHeight();return{w:y,h:v,x1:m-y/2,y1:g-v/2}},"getBBForSimpleShape");r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:u,isSimple:gZe,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:u,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:u,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:l,getKey:mP(e.getLabelKey,null),getBoundingBox:gP(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:l,getKey:mP(e.getSourceLabelKey,"source"),getBoundingBox:gP(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:l,getKey:mP(e.getTargetLabelKey,"target"),getBoundingBox:gP(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var h=qb(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(f,d){var p=!1;d&&d.length>0&&(p|=r.drawing.invalidate(d)),p&&h()}),BZe(r)};o(PZe,"getBGColor");o(Ame,"getLabelLines");mP=o(function(e,r){return function(n){var i=e(n),a=Ame(n,r);return a.length>1?a.map(function(s,l){return"".concat(i,"_").concat(l)}):i}},"getStyleKeysForLabel"),gP=o(function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var l=Number(i.substring(s+1)),u=Ame(n,r),h=a.h/u.length,f=h*l,d=a.y1+f;return{x1:a.x1,w:a.w,y1:d,h,yOffset:f}}}return a}},"getBoundingBoxForLabel");o(BZe,"overrideCanvasRendererFunctions");o(FZe,"clearWebgl");o($Ze,"clearCanvas");o(zZe,"createPanZoomMatrix");o(_me,"setContextTransform");o(GZe,"drawSelectionRectangle");o(VZe,"drawAxes");o(qZe,"drawAtlases");o(UZe,"getPickingIndexes");o(WZe,"findNearestElementsWebgl");o(yP,"drawEle");o(Dme,"renderWebgl");Ed={};Ed.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(HZe,"b64ToBlob");o(Hpe,"b64UriToB64");o(Lme,"output");Xb.png=function(t){return Lme(t,this.bufferCanvasImage(t),"image/png")};Xb.jpg=function(t){return Lme(t,this.bufferCanvasImage(t),"image/jpeg")};Nme={};Nme.nodeShapeImpl=function(t,e,r,n,i,a,s,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};YZe=Mme,Ir=Mme.prototype;Ir.CANVAS_LAYERS=3;Ir.SELECT_BOX=0;Ir.DRAG=1;Ir.NODE=2;Ir.WEBGL=3;Ir.CANVAS_TYPES=["2d","2d","2d","webgl2"];Ir.BUFFER_COUNT=3;Ir.TEXTURE_BUFFER=0;Ir.MOTIONBLUR_BUFFER_NODE=1;Ir.MOTIONBLUR_BUFFER_DRAG=2;o(Mme,"CanvasRenderer");Ir.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Ir.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Ir.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Ir.SELECT_BOX]=e;break;case"gc":r.data.gc=!0;break}};jZe=typeof Path2D<"u";Ir.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Ir.usePaths=function(){return jZe&&this.pathsEnabled};Ir.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Ir.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Ir.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":ea(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[Tme,wu,Mh,oB,q0,Sd,Ns,Cme,Ed,Xb,Nme].forEach(function(t){cr(Ir,t)});XZe=[{name:"null",impl:ome},{name:"base",impl:yme},{name:"canvas",impl:YZe}],KZe=[{type:"layout",extensions:TQe},{type:"renderer",extensions:XZe}],Ime={},Ome={};o(Pme,"setExtension");o(Bme,"getExtension");o(QZe,"setModule");o(ZZe,"getModule");BP=o(function(){if(arguments.length===2)return Bme.apply(null,arguments);if(arguments.length===3)return Pme.apply(null,arguments);if(arguments.length===4)return ZZe.apply(null,arguments);if(arguments.length===5)return QZe.apply(null,arguments);si("Invalid extension access syntax")},"extension");Pb.prototype.extension=BP;KZe.forEach(function(t){t.extensions.forEach(function(e){Pme(t.type,e.name,e.impl)})});WE=o(function(){if(!(this instanceof WE))return new WE;this.length=0},"Stylesheet"),G0=WE.prototype;G0.instanceString=function(){return"stylesheet"};G0.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};G0.css=function(t,e){var r=this.length-1;if(nr(t))this[r].properties.push({name:t,value:e});else if(rn(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";o((function(e,r){typeof Kb=="object"&&typeof uB=="object"?uB.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Kb=="object"?Kb.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(Kb,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var E=x.source.owner.getEdges().indexOf(x);if(E==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(E,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),E=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,E,w,k,C,D=this.nodes,R=D.length,O=0;OT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var R=0;v.forEach(function(O){O.owner==g&&R++}),R==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=D,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,S=!0):(l[0]=g,l[1]=m,S=!0):_===M&&(u>f?(l[0]=p,l[1]=m,S=!0):(l[0]=x,l[1]=v,S=!0)),-N===M?f>u?(l[2]=C,l[3]=D,A=!0):(l[2]=k,l[3]=w,A=!0):N===M&&(f>u?(l[2]=E,l[3]=w,A=!0):(l[2]=R,l[3]=D,A=!0)),S&&A)return!1;if(u>f?h>d?(P=this.getCardinalDirection(_,M,4),B=this.getCardinalDirection(N,M,2)):(P=this.getCardinalDirection(-_,M,3),B=this.getCardinalDirection(-N,M,1)):h>d?(P=this.getCardinalDirection(-_,M,1),B=this.getCardinalDirection(-N,M,3)):(P=this.getCardinalDirection(_,M,2),B=this.getCardinalDirection(N,M,4)),!S)switch(P){case 1:G=m,F=u+-T/M,l[0]=F,l[1]=G;break;case 2:F=x,G=h+b*M,l[0]=F,l[1]=G;break;case 3:G=v,F=u+T/M,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-b*M,l[0]=F,l[1]=G;break}if(!A)switch(B){case 1:V=w,$=f+-L/M,l[2]=$,l[3]=V;break;case 2:$=R,V=d+O*M,l[2]=$,l[3]=V;break;case 3:V=D,$=f+L/M,l[2]=$,l[3]=V;break;case 4:$=C,V=d+-O*M,l[2]=$,l[3]=V;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,E=void 0,w=void 0,k=void 0,C=void 0,D=void 0,R=void 0;return T=p-f,w=h-d,C=d*f-h*p,E=v-g,k=m-y,D=y*g-m*v,R=T*k-E*w,R===0?null:(x=(w*D-k*C)/R,b=(E*C-T*D)/R,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var C=k.getEdges(),x=0;x-1&&w.splice(L,1)}b=new Set,E=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(D,1);var R=E.getNeighborsList();R.forEach(function(S){if(y.indexOf(S)<0){var A=v.get(S),_=A-1;_==1&&k.push(S),v.set(S,_)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(4);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var E=0;Eh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof Qb=="object"&&typeof fB=="object"?fB.exports=r(hB()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof Qb=="object"?Qb.coseBase=r(hB()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(Qb,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(u,h,f,d){i.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(w);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),C=this.nodesWithGravity.filter(function(D){return k.has(D)});this.graphManager.setAllNodesToApplyGravitation(C),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},T.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var w=new Set(this.getAllNodes()),k=this.nodesWithGravity.filter(function(R){return w.has(R)});this.graphManager.setAllNodesToApplyGravitation(k),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var C=!this.isTreeGrowing&&!this.isGrowthFinished,D=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(C,D),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var w=this.graphManager.getAllNodes(),k={},C=0;C1){var S;for(S=0;SD&&(D=Math.floor(L.y)),O=Math.floor(L.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-L.x/2,d.WORLD_CENTER_Y-L.y/2))},T.radialLayout=function(w,k,C){var D=Math.max(this.maxDiagonalInTree(w),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(k,null,0,359,0,D);var R=x.calculateBounds(w),O=new b;O.setDeviceOrgX(R.getMinX()),O.setDeviceOrgY(R.getMinY()),O.setWorldOrgX(C.x),O.setWorldOrgY(C.y);for(var L=0;L1;){var K=V[0];V.splice(0,1);var ee=P.indexOf(K);ee>=0&&P.splice(ee,1),G--,B--}k!=null?$=(P.indexOf(V[0])+1)%G:$=0;for(var H=Math.abs(D-C)/B,he=$;F!=B;he=++he%G){var Z=P[he].getOtherEnd(w);if(Z!=k){var de=(C+F*H)%360,re=(de+H)%360;T.branchRadialLayout(Z,w,de,re,R+O,O),F++}}},T.maxDiagonalInTree=function(w){for(var k=y.MIN_VALUE,C=0;Ck&&(k=R)}return k},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var w=this,k={};this.memberGroups={},this.idToDummyNode={};for(var C=[],D=this.graphManager.getAllNodes(),R=0;R"u"&&(k[S]=[]),k[S]=k[S].concat(O)}Object.keys(k).forEach(function(A){if(k[A].length>1){var _="DummyCompound_"+A;w.memberGroups[_]=k[A];var N=k[A][0].getParent(),M=new l(w.graphManager);M.id=_,M.paddingLeft=N.paddingLeft||0,M.paddingRight=N.paddingRight||0,M.paddingBottom=N.paddingBottom||0,M.paddingTop=N.paddingTop||0,w.idToDummyNode[_]=M;var P=w.getGraphManager().add(w.newGraph(),M),B=N.getChild();B.add(M);for(var F=0;F=0;w--){var k=this.compoundOrder[w],C=k.id,D=k.paddingLeft,R=k.paddingTop;this.adjustLocations(this.tiledMemberPack[C],k.rect.x,k.rect.y,D,R)}},T.prototype.repopulateZeroDegreeMembers=function(){var w=this,k=this.tiledZeroDegreePack;Object.keys(k).forEach(function(C){var D=w.idToDummyNode[C],R=D.paddingLeft,O=D.paddingTop;w.adjustLocations(k[C],D.rect.x,D.rect.y,R,O)})},T.prototype.getToBeTiled=function(w){var k=w.id;if(this.toBeTiled[k]!=null)return this.toBeTiled[k];var C=w.getChild();if(C==null)return this.toBeTiled[k]=!1,!1;for(var D=C.getNodes(),R=0;R0)return this.toBeTiled[k]=!1,!1;if(O.getChild()==null){this.toBeTiled[O.id]=!1;continue}if(!this.getToBeTiled(O))return this.toBeTiled[k]=!1,!1}return this.toBeTiled[k]=!0,!0},T.prototype.getNodeDegree=function(w){for(var k=w.id,C=w.getEdges(),D=0,R=0;RA&&(A=N.rect.height)}C+=A+w.verticalPadding}},T.prototype.tileCompoundMembers=function(w,k){var C=this;this.tiledMemberPack=[],Object.keys(w).forEach(function(D){var R=k[D];C.tiledMemberPack[D]=C.tileNodes(w[D],R.paddingLeft+R.paddingRight),R.rect.width=C.tiledMemberPack[D].width,R.rect.height=C.tiledMemberPack[D].height})},T.prototype.tileNodes=function(w,k){var C=h.TILING_PADDING_VERTICAL,D=h.TILING_PADDING_HORIZONTAL,R={rows:[],rowWidth:[],rowHeight:[],width:0,height:k,verticalPadding:C,horizontalPadding:D};w.sort(function(S,A){return S.rect.width*S.rect.height>A.rect.width*A.rect.height?-1:S.rect.width*S.rect.height0&&(L+=w.horizontalPadding),w.rowWidth[C]=L,w.width0&&(S+=w.verticalPadding);var A=0;S>w.rowHeight[C]&&(A=w.rowHeight[C],w.rowHeight[C]=S,A=w.rowHeight[C]-A),w.height+=A,w.rows[C].push(k)},T.prototype.getShortestRowIndex=function(w){for(var k=-1,C=Number.MAX_VALUE,D=0;DC&&(k=D,C=w.rowWidth[D]);return k},T.prototype.canAddHorizontal=function(w,k,C){var D=this.getShortestRowIndex(w);if(D<0)return!0;var R=w.rowWidth[D];if(R+w.horizontalPadding+k<=w.width)return!0;var O=0;w.rowHeight[D]0&&(O=C+w.verticalPadding-w.rowHeight[D]);var L;w.width-R>=k+w.horizontalPadding?L=(w.height+O)/(R+k+w.horizontalPadding):L=(w.height+O)/w.width,O=C+w.verticalPadding;var S;return w.widthO&&k!=C){D.splice(-1,1),w.rows[C].push(R),w.rowWidth[k]=w.rowWidth[k]-O,w.rowWidth[C]=w.rowWidth[C]+O,w.width=w.rowWidth[instance.getLongestRowIndex(w)];for(var L=Number.MIN_VALUE,S=0;SL&&(L=D[S].height);k>0&&(L+=w.verticalPadding);var A=w.rowHeight[k]+w.rowHeight[C];w.rowHeight[k]=L,w.rowHeight[C]0)for(var B=R;B<=O;B++)P[0]+=this.grid[B][L-1].length+this.grid[B][L].length-1;if(O0)for(var B=L;B<=S;B++)P[3]+=this.grid[R-1][B].length+this.grid[R][B].length-1;for(var F=y.MAX_VALUE,G,$,V=0;V{"use strict";o((function(e,r){typeof Zb=="object"&&typeof pB=="object"?pB.exports=r(dB()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof Zb=="object"?Zb.cytoscapeCoseBilkent=r(dB()):e.cytoscapeCoseBilkent=r(e.coseBase)}),"webpackUniversalModuleDefinition")(Zb,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var T in v)b[T]=v[T];for(var T in x)b[T]=x[T];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,T=this.idToLNode={},E=this.layout=new l,w=this;w.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var k=E.newGraphManager();this.gm=k;var C=this.options.eles.nodes(),D=this.options.eles.edges();this.root=k.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(C),E);for(var R=0;R0){var S;S=b.getGraphManager().add(b.newGraph(),C),this.processChildrenList(S,k,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y})])})});function eJe(t,e){t.forEach(r=>{let n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}function tJe(t,e){t.forEach(r=>{let n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}function zme(t){return new Promise(e=>{let r=He("body").append("div").attr("id","cy").attr("style","display:none"),n=Al({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),eJe(t.nodes,n),tJe(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}});let i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{X.info("Cytoscape ready",a),e(n)})})}function Gme(t){return t.nodes().map(e=>{let r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}function Vme(t){return t.edges().map(e=>{let r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}var $me,qme=I(()=>{"use strict";cB();$me=Aa(Fme(),1);kr();gt();Al.use($me.default);o(eJe,"addNodes");o(tJe,"addEdges");o(zme,"createCytoscapeInstance");o(Gme,"extractPositionedNodes");o(Vme,"extractPositionedEdges")});async function Ume(t,e){X.debug("Starting cose-bilkent layout algorithm");try{rJe(t);let r=await zme(t),n=Gme(r),i=Vme(r);return X.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw X.error("Error in cose-bilkent layout algorithm:",r),r}}function rJe(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}var Wme=I(()=>{"use strict";gt();qme();o(Ume,"executeCoseBilkentLayout");o(rJe,"validateLayoutData")});var Hme,Yme=I(()=>{"use strict";Wme();Hme=o(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:l,positionEdgeLabel:u},{algorithm:h})=>{let f={},d={},p=e.select("g");a(p,t.markers,t.type,t.diagramId);let m=p.insert("g").attr("class","subgraphs"),g=p.insert("g").attr("class","edgePaths"),y=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");l.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){let E={...T};d[T.id]=E,f[T.id]=E,await r(m,T)}else{let E={...T};f[T.id]=E;let w=await s(v,T,{config:t.config,dir:t.direction||"TB"}),k=w.node().getBBox();E.width=k.width,E.height=k.height,E.domId=w,l.debug(`Node ${T.id} dimensions: ${k.width}x${k.height}`)}})),l.debug("Running cose-bilkent layout algorithm");let x={...t,nodes:t.nodes.map(T=>{let E=f[T.id];return{...T,width:E.width,height:E.height}})},b=await Ume(x,t.config);l.debug("Positioning nodes based on layout results"),b.nodes.forEach(T=>{let E=f[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,l.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),b.edges.forEach(T=>{let E=t.edges.find(w=>w.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),l.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{let E=await i(y,T),w=f[T.start??""],k=f[T.end??""];if(w&&k){let C=b.edges.find(D=>D.id===T.id);if(C){l.debug("APA01 positionedEdge",C);let D={...T},R=n(g,D,d,t.type,w,k,t.diagramId);u(D,R)}else{let D={...T,points:[{x:w.x||0,y:w.y||0},{x:k.x||0,y:k.y||0}]},R=n(g,D,d,t.type,w,k,t.diagramId);u(D,R)}}})),l.debug("Cose-bilkent rendering completed")},"render")});var jme={};vr(jme,{render:()=>nJe});var nJe,Xme=I(()=>{"use strict";Yme();nJe=Hme});var Jb,mB,iJe,_l,ku,Cd=I(()=>{"use strict";Fse();gt();Jb={},mB=o(t=>{for(let e of t)Jb[e.name]=e},"registerLayoutLoaders"),iJe=o(()=>{mB([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(vfe(),yfe)),"loader")},{name:"cose-bilkent",loader:o(async()=>await Promise.resolve().then(()=>(Xme(),jme)),"loader")}])},"registerDefaultLayoutLoaders");iJe();_l=o(async(t,e)=>{if(!(t.layoutAlgorithm in Jb))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=Jb[t.layoutAlgorithm];return(await r.loader()).render(t,e,Bse,{algorithm:r.algorithm})},"render"),ku=o((t="",{fallback:e="dagre"}={})=>{if(t in Jb)return t;if(e in Jb)return X.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var mo,aJe,sJe,Ad=I(()=>{"use strict";Fi();gt();mo=o((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:l}=aJe(t,e);Sn(t,a,i,n);let u=sJe(s,l,i,a,e);t.attr("viewBox",u),X.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),aJe=o((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),sJe=o((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var oJe,lJe,Kme,Qme=I(()=>{"use strict";kr();Qt();gt();y0();Cd();Ad();sr();oJe=o(function(t,e){return e.db.getClasses()},"getClasses"),lJe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=xe(),l;i==="sandbox"&&(l=He("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;X.debug("Before getData: ");let h=n.db.getData();X.debug("Data: ",h);let f=xl(e,i),d=n.db.getDirection();h.type=n.type,h.layoutAlgorithm=ku(s),h.layoutAlgorithm==="dagre"&&s==="elk"&&X.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,X.debug("REF1:",h),await _l(h,f);let p=h.config.flowchart?.diagramPadding??8;jt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),mo(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=He(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),Kme={getClasses:oJe,draw:lJe}});var gB,yB,Zme=I(()=>{"use strict";gB=(function(){var t=o(function(br,st,Ct,Zt){for(Ct=Ct||{},Zt=br.length;Zt--;Ct[br[Zt]]=st);return Ct},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,49],y=[1,48],v=[1,29],x=[1,30],b=[1,31],T=[1,32],E=[1,33],w=[1,44],k=[1,46],C=[1,42],D=[1,47],R=[1,43],O=[1,50],L=[1,45],S=[1,51],A=[1,52],_=[1,34],N=[1,35],M=[1,36],P=[1,37],B=[1,57],F=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],G=[1,61],$=[1,60],V=[1,62],K=[8,9,11,75,77,78],ee=[1,78],H=[1,91],he=[1,96],Z=[1,95],de=[1,92],re=[1,88],ne=[1,94],te=[1,90],Q=[1,97],le=[1,93],J=[1,98],ge=[1,89],ie=[8,9,10,11,40,75,77,78],Te=[8,9,10,11,40,46,75,77,78],j=[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],Ge=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],ye=[44,60,89,102,105,106,109,111,114,115,116],$e=[1,121],Xe=[1,122],Ue=[1,124],Le=[1,123],Ie=[44,60,62,74,89,102,105,106,109,111,114,115,116],Me=[1,133],Ae=[1,147],ze=[1,148],Y=[1,149],ce=[1,150],U=[1,135],ue=[1,137],z=[1,141],se=[1,142],oe=[1,143],be=[1,144],pe=[1,145],me=[1,146],De=[1,151],Ce=[1,152],Fe=[1,131],Ye=[1,132],xt=[1,139],je=[1,134],Pe=[1,138],rt=[1,136],We=[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],ut=[1,154],Ut=[1,156],Tt=[8,9,11],Mt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],mt=[1,176],at=[1,172],wt=[1,173],St=[1,177],bt=[1,174],pt=[1,175],Zr=[77,116,119],Lt=[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],Dn=[10,106],Hr=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],mr=[1,247],hr=[1,245],Br=[1,249],Dt=[1,243],_e=[1,244],ot=[1,246],Ot=[1,248],Dr=[1,250],Rn=[1,268],Cn=[8,9,11,106],mn=[8,9,10,11,60,84,105,106,109,110,111,112],oa={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1]],performAction:o(function(st,Ct,Zt,dt,Fr,ve,Lc){var we=ve.length-1;switch(Fr){case 2:this.$=[];break;case 3:(!Array.isArray(ve[we])||ve[we].length>0)&&ve[we-1].push(ve[we]),this.$=ve[we-1];break;case 4:case 183:this.$=ve[we];break;case 11:dt.setDirection("TB"),this.$="TB";break;case 12:dt.setDirection(ve[we-1]),this.$=ve[we-1];break;case 27:this.$=ve[we-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=dt.addSubGraph(ve[we-6],ve[we-1],ve[we-4]);break;case 34:this.$=dt.addSubGraph(ve[we-3],ve[we-1],ve[we-3]);break;case 35:this.$=dt.addSubGraph(void 0,ve[we-1],void 0);break;case 37:this.$=ve[we].trim(),dt.setAccTitle(this.$);break;case 38:case 39:this.$=ve[we].trim(),dt.setAccDescription(this.$);break;case 43:this.$=ve[we-1]+ve[we];break;case 44:this.$=ve[we];break;case 45:dt.addVertex(ve[we-1][ve[we-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ve[we]),dt.addLink(ve[we-3].stmt,ve[we-1],ve[we-2]),this.$={stmt:ve[we-1],nodes:ve[we-1].concat(ve[we-3].nodes)};break;case 46:dt.addLink(ve[we-2].stmt,ve[we],ve[we-1]),this.$={stmt:ve[we],nodes:ve[we].concat(ve[we-2].nodes)};break;case 47:dt.addLink(ve[we-3].stmt,ve[we-1],ve[we-2]),this.$={stmt:ve[we-1],nodes:ve[we-1].concat(ve[we-3].nodes)};break;case 48:this.$={stmt:ve[we-1],nodes:ve[we-1]};break;case 49:dt.addVertex(ve[we-1][ve[we-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ve[we]),this.$={stmt:ve[we-1],nodes:ve[we-1],shapeData:ve[we]};break;case 50:this.$={stmt:ve[we],nodes:ve[we]};break;case 51:this.$=[ve[we]];break;case 52:dt.addVertex(ve[we-5][ve[we-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ve[we-4]),this.$=ve[we-5].concat(ve[we]);break;case 53:this.$=ve[we-4].concat(ve[we]);break;case 54:this.$=ve[we];break;case 55:this.$=ve[we-2],dt.setClass(ve[we-2],ve[we]);break;case 56:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"square");break;case 57:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"doublecircle");break;case 58:this.$=ve[we-5],dt.addVertex(ve[we-5],ve[we-2],"circle");break;case 59:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"ellipse");break;case 60:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"stadium");break;case 61:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"subroutine");break;case 62:this.$=ve[we-7],dt.addVertex(ve[we-7],ve[we-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ve[we-5],ve[we-3]]]));break;case 63:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"cylinder");break;case 64:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"round");break;case 65:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"diamond");break;case 66:this.$=ve[we-5],dt.addVertex(ve[we-5],ve[we-2],"hexagon");break;case 67:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"odd");break;case 68:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"trapezoid");break;case 69:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"inv_trapezoid");break;case 70:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"lean_right");break;case 71:this.$=ve[we-3],dt.addVertex(ve[we-3],ve[we-1],"lean_left");break;case 72:this.$=ve[we],dt.addVertex(ve[we]);break;case 73:ve[we-1].text=ve[we],this.$=ve[we-1];break;case 74:case 75:ve[we-2].text=ve[we-1],this.$=ve[we-2];break;case 76:this.$=ve[we];break;case 77:var sn=dt.destructLink(ve[we],ve[we-2]);this.$={type:sn.type,stroke:sn.stroke,length:sn.length,text:ve[we-1]};break;case 78:var sn=dt.destructLink(ve[we],ve[we-2]);this.$={type:sn.type,stroke:sn.stroke,length:sn.length,text:ve[we-1],id:ve[we-3]};break;case 79:this.$={text:ve[we],type:"text"};break;case 80:this.$={text:ve[we-1].text+""+ve[we],type:ve[we-1].type};break;case 81:this.$={text:ve[we],type:"string"};break;case 82:this.$={text:ve[we],type:"markdown"};break;case 83:var sn=dt.destructLink(ve[we]);this.$={type:sn.type,stroke:sn.stroke,length:sn.length};break;case 84:var sn=dt.destructLink(ve[we]);this.$={type:sn.type,stroke:sn.stroke,length:sn.length,id:ve[we-1]};break;case 85:this.$=ve[we-1];break;case 86:this.$={text:ve[we],type:"text"};break;case 87:this.$={text:ve[we-1].text+""+ve[we],type:ve[we-1].type};break;case 88:this.$={text:ve[we],type:"string"};break;case 89:case 104:this.$={text:ve[we],type:"markdown"};break;case 101:this.$={text:ve[we],type:"text"};break;case 102:this.$={text:ve[we-1].text+""+ve[we],type:ve[we-1].type};break;case 103:this.$={text:ve[we],type:"text"};break;case 105:this.$=ve[we-4],dt.addClass(ve[we-2],ve[we]);break;case 106:this.$=ve[we-4],dt.setClass(ve[we-2],ve[we]);break;case 107:case 115:this.$=ve[we-1],dt.setClickEvent(ve[we-1],ve[we]);break;case 108:case 116:this.$=ve[we-3],dt.setClickEvent(ve[we-3],ve[we-2]),dt.setTooltip(ve[we-3],ve[we]);break;case 109:this.$=ve[we-2],dt.setClickEvent(ve[we-2],ve[we-1],ve[we]);break;case 110:this.$=ve[we-4],dt.setClickEvent(ve[we-4],ve[we-3],ve[we-2]),dt.setTooltip(ve[we-4],ve[we]);break;case 111:this.$=ve[we-2],dt.setLink(ve[we-2],ve[we]);break;case 112:this.$=ve[we-4],dt.setLink(ve[we-4],ve[we-2]),dt.setTooltip(ve[we-4],ve[we]);break;case 113:this.$=ve[we-4],dt.setLink(ve[we-4],ve[we-2],ve[we]);break;case 114:this.$=ve[we-6],dt.setLink(ve[we-6],ve[we-4],ve[we]),dt.setTooltip(ve[we-6],ve[we-2]);break;case 117:this.$=ve[we-1],dt.setLink(ve[we-1],ve[we]);break;case 118:this.$=ve[we-3],dt.setLink(ve[we-3],ve[we-2]),dt.setTooltip(ve[we-3],ve[we]);break;case 119:this.$=ve[we-3],dt.setLink(ve[we-3],ve[we-2],ve[we]);break;case 120:this.$=ve[we-5],dt.setLink(ve[we-5],ve[we-4],ve[we]),dt.setTooltip(ve[we-5],ve[we-2]);break;case 121:this.$=ve[we-4],dt.addVertex(ve[we-2],void 0,void 0,ve[we]);break;case 122:this.$=ve[we-4],dt.updateLink([ve[we-2]],ve[we]);break;case 123:this.$=ve[we-4],dt.updateLink(ve[we-2],ve[we]);break;case 124:this.$=ve[we-8],dt.updateLinkInterpolate([ve[we-6]],ve[we-2]),dt.updateLink([ve[we-6]],ve[we]);break;case 125:this.$=ve[we-8],dt.updateLinkInterpolate(ve[we-6],ve[we-2]),dt.updateLink(ve[we-6],ve[we]);break;case 126:this.$=ve[we-6],dt.updateLinkInterpolate([ve[we-4]],ve[we]);break;case 127:this.$=ve[we-6],dt.updateLinkInterpolate(ve[we-4],ve[we]);break;case 128:case 130:this.$=[ve[we]];break;case 129:case 131:ve[we-2].push(ve[we]),this.$=ve[we-2];break;case 133:this.$=ve[we-1]+ve[we];break;case 181:this.$=ve[we];break;case 182:this.$=ve[we-1]+""+ve[we];break;case 184:this.$=ve[we-1]+""+ve[we];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A,121:_,122:N,123:M,124:P},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:B,15:53,18:56},t(F,[2,3]),t(F,[2,4]),t(F,[2,5]),t(F,[2,6]),t(F,[2,7]),t(F,[2,8]),{8:G,9:$,11:V,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:G,9:$,11:V,21:67},{8:G,9:$,11:V,21:68},{8:G,9:$,11:V,21:69},{8:G,9:$,11:V,21:70},{8:G,9:$,11:V,21:71},{8:G,9:$,10:[1,72],11:V,21:73},t(F,[2,36]),{35:[1,74]},{37:[1,75]},t(F,[2,39]),t(K,[2,50],{18:76,39:77,10:B,40:ee}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:H,44:he,60:Z,80:[1,86],89:de,95:[1,83],97:[1,84],101:85,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge,120:87},t(F,[2,185]),t(F,[2,186]),t(F,[2,187]),t(F,[2,188]),t(ie,[2,51]),t(ie,[2,54],{46:[1,99]}),t(Te,[2,72],{113:112,29:[1,100],44:g,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:y,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:w,102:k,105:C,106:D,109:R,111:O,114:L,115:S,116:A}),t(j,[2,181]),t(j,[2,142]),t(j,[2,143]),t(j,[2,144]),t(j,[2,145]),t(j,[2,146]),t(j,[2,147]),t(j,[2,148]),t(j,[2,149]),t(j,[2,150]),t(j,[2,151]),t(j,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,113]},t(Ge,[2,26],{18:114,10:B}),t(F,[2,27]),{42:115,43:38,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},t(F,[2,40]),t(F,[2,41]),t(F,[2,42]),t(ye,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:$e,81:Xe,116:Ue,119:Le},{75:[1,125],77:[1,126]},t(Ie,[2,83]),t(F,[2,28]),t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),{10:Me,12:Ae,14:ze,27:Y,28:127,32:ce,44:U,60:ue,75:z,80:[1,129],81:[1,130],83:140,84:se,85:oe,86:be,87:pe,88:me,89:De,90:Ce,91:128,105:Fe,109:Ye,111:xt,114:je,115:Pe,116:rt},t(We,a,{5:153}),t(F,[2,37]),t(F,[2,38]),t(K,[2,48],{44:ut}),t(K,[2,49],{18:155,10:B,40:Ut}),t(ie,[2,44]),{44:g,47:157,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},{102:[1,158],103:159,105:[1,160]},{44:g,47:161,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},{44:g,47:162,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},t(Tt,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},t(Tt,[2,115],{120:167,10:[1,166],14:H,44:he,60:Z,89:de,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge}),t(Tt,[2,117],{10:[1,168]}),t(Mt,[2,183]),t(Mt,[2,170]),t(Mt,[2,171]),t(Mt,[2,172]),t(Mt,[2,173]),t(Mt,[2,174]),t(Mt,[2,175]),t(Mt,[2,176]),t(Mt,[2,177]),t(Mt,[2,178]),t(Mt,[2,179]),t(Mt,[2,180]),{44:g,47:169,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},{30:170,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:178,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:180,50:[1,179],67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:181,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:182,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:183,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{109:[1,184]},{30:185,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:186,65:[1,187],67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:188,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:189,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{30:190,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},t(j,[2,182]),t(i,[2,20]),t(Ge,[2,25]),t(K,[2,46],{39:191,18:192,10:B,40:ee}),t(ye,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{77:[1,196],79:197,116:Ue,119:Le},t(Zr,[2,79]),t(Zr,[2,81]),t(Zr,[2,82]),t(Zr,[2,168]),t(Zr,[2,169]),{76:198,79:120,80:$e,81:Xe,116:Ue,119:Le},t(Ie,[2,84]),{8:G,9:$,10:Me,11:V,12:Ae,14:ze,21:200,27:Y,29:[1,199],32:ce,44:U,60:ue,75:z,83:140,84:se,85:oe,86:be,87:pe,88:me,89:De,90:Ce,91:201,105:Fe,109:Ye,111:xt,114:je,115:Pe,116:rt},t(Lt,[2,101]),t(Lt,[2,103]),t(Lt,[2,104]),t(Lt,[2,157]),t(Lt,[2,158]),t(Lt,[2,159]),t(Lt,[2,160]),t(Lt,[2,161]),t(Lt,[2,162]),t(Lt,[2,163]),t(Lt,[2,164]),t(Lt,[2,165]),t(Lt,[2,166]),t(Lt,[2,167]),t(Lt,[2,90]),t(Lt,[2,91]),t(Lt,[2,92]),t(Lt,[2,93]),t(Lt,[2,94]),t(Lt,[2,95]),t(Lt,[2,96]),t(Lt,[2,97]),t(Lt,[2,98]),t(Lt,[2,99]),t(Lt,[2,100]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,202],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A,121:_,122:N,123:M,124:P},{10:B,18:203},{44:[1,204]},t(ie,[2,43]),{10:[1,205],44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:112,114:L,115:S,116:A},{10:[1,206]},{10:[1,207],106:[1,208]},t(Dn,[2,128]),{10:[1,209],44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:112,114:L,115:S,116:A},{10:[1,210],44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:112,114:L,115:S,116:A},{80:[1,211]},t(Tt,[2,109],{10:[1,212]}),t(Tt,[2,111],{10:[1,213]}),{80:[1,214]},t(Mt,[2,184]),{80:[1,215],98:[1,216]},t(ie,[2,55],{113:112,44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,114:L,115:S,116:A}),{31:[1,217],67:mt,82:218,116:St,117:bt,118:pt},t(Hr,[2,86]),t(Hr,[2,88]),t(Hr,[2,89]),t(Hr,[2,153]),t(Hr,[2,154]),t(Hr,[2,155]),t(Hr,[2,156]),{49:[1,219],67:mt,82:218,116:St,117:bt,118:pt},{30:220,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{51:[1,221],67:mt,82:218,116:St,117:bt,118:pt},{53:[1,222],67:mt,82:218,116:St,117:bt,118:pt},{55:[1,223],67:mt,82:218,116:St,117:bt,118:pt},{57:[1,224],67:mt,82:218,116:St,117:bt,118:pt},{60:[1,225]},{64:[1,226],67:mt,82:218,116:St,117:bt,118:pt},{66:[1,227],67:mt,82:218,116:St,117:bt,118:pt},{30:228,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},{31:[1,229],67:mt,82:218,116:St,117:bt,118:pt},{67:mt,69:[1,230],71:[1,231],82:218,116:St,117:bt,118:pt},{67:mt,69:[1,233],71:[1,232],82:218,116:St,117:bt,118:pt},t(K,[2,45],{18:155,10:B,40:Ut}),t(K,[2,47],{44:ut}),t(ye,[2,75]),t(ye,[2,74]),{62:[1,234],67:mt,82:218,116:St,117:bt,118:pt},t(ye,[2,77]),t(Zr,[2,80]),{77:[1,235],79:197,116:Ue,119:Le},{30:236,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},t(We,a,{5:237}),t(Lt,[2,102]),t(F,[2,35]),{43:238,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},{10:B,18:239},{10:mr,60:hr,84:Br,92:240,105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{10:mr,60:hr,84:Br,92:251,104:[1,252],105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{10:mr,60:hr,84:Br,92:253,104:[1,254],105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{105:[1,255]},{10:mr,60:hr,84:Br,92:256,105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{44:g,47:257,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},t(Tt,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},t(Tt,[2,116]),t(Tt,[2,118],{10:[1,261]}),t(Tt,[2,119]),t(Te,[2,56]),t(Hr,[2,87]),t(Te,[2,57]),{51:[1,262],67:mt,82:218,116:St,117:bt,118:pt},t(Te,[2,64]),t(Te,[2,59]),t(Te,[2,60]),t(Te,[2,61]),{109:[1,263]},t(Te,[2,63]),t(Te,[2,65]),{66:[1,264],67:mt,82:218,116:St,117:bt,118:pt},t(Te,[2,67]),t(Te,[2,68]),t(Te,[2,70]),t(Te,[2,69]),t(Te,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(ye,[2,78]),{31:[1,265],67:mt,82:218,116:St,117:bt,118:pt},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,266],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A,121:_,122:N,123:M,124:P},t(ie,[2,53]),{43:267,44:g,45:39,47:40,60:y,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A},t(Tt,[2,121],{106:Rn}),t(Cn,[2,130],{108:269,10:mr,60:hr,84:Br,105:Dt,109:_e,110:ot,111:Ot,112:Dr}),t(mn,[2,132]),t(mn,[2,134]),t(mn,[2,135]),t(mn,[2,136]),t(mn,[2,137]),t(mn,[2,138]),t(mn,[2,139]),t(mn,[2,140]),t(mn,[2,141]),t(Tt,[2,122],{106:Rn}),{10:[1,270]},t(Tt,[2,123],{106:Rn}),{10:[1,271]},t(Dn,[2,129]),t(Tt,[2,105],{106:Rn}),t(Tt,[2,106],{113:112,44:g,60:y,89:w,102:k,105:C,106:D,109:R,111:O,114:L,115:S,116:A}),t(Tt,[2,110]),t(Tt,[2,112],{10:[1,272]}),t(Tt,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:G,9:$,11:V,21:277},t(F,[2,34]),t(ie,[2,52]),{10:mr,60:hr,84:Br,105:Dt,107:278,108:242,109:_e,110:ot,111:Ot,112:Dr},t(mn,[2,133]),{14:H,44:he,60:Z,89:de,101:279,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge,120:87},{14:H,44:he,60:Z,89:de,101:280,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge,120:87},{98:[1,281]},t(Tt,[2,120]),t(Te,[2,58]),{30:282,67:mt,80:at,81:wt,82:171,116:St,117:bt,118:pt},t(Te,[2,66]),t(We,a,{5:283}),t(Cn,[2,131],{108:269,10:mr,60:hr,84:Br,105:Dt,109:_e,110:ot,111:Ot,112:Dr}),t(Tt,[2,126],{120:167,10:[1,284],14:H,44:he,60:Z,89:de,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge}),t(Tt,[2,127],{120:167,10:[1,285],14:H,44:he,60:Z,89:de,105:re,106:ne,109:te,111:Q,114:le,115:J,116:ge}),t(Tt,[2,114]),{31:[1,286],67:mt,82:218,116:St,117:bt,118:pt},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,287],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:C,106:D,109:R,111:O,113:41,114:L,115:S,116:A,121:_,122:N,123:M,124:P},{10:mr,60:hr,84:Br,92:288,105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},{10:mr,60:hr,84:Br,92:289,105:Dt,107:241,108:242,109:_e,110:ot,111:Ot,112:Dr},t(Te,[2,62]),t(F,[2,33]),t(Tt,[2,124],{106:Rn}),t(Tt,[2,125],{106:Rn})],defaultActions:{},parseError:o(function(st,Ct){if(Ct.recoverable)this.trace(st);else{var Zt=new Error(st);throw Zt.hash=Ct,Zt}},"parseError"),parse:o(function(st){var Ct=this,Zt=[0],dt=[],Fr=[null],ve=[],Lc=this.table,we="",sn=0,E3=0,k8=0,S8=2,_W=1,KCe=ve.slice.call(arguments,1),la=Object.create(this.lexer),wp={yy:{}};for(var E8 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E8)&&(wp.yy[E8]=this.yy[E8]);la.setInput(st,wp.yy),wp.yy.lexer=la,wp.yy.parser=this,typeof la.yylloc>"u"&&(la.yylloc={});var C8=la.yylloc;ve.push(C8);var QCe=la.options&&la.options.ranges;typeof wp.yy.parseError=="function"?this.parseError=wp.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $dt(Ao){Zt.length=Zt.length-2*Ao,Fr.length=Fr.length-Ao,ve.length=ve.length-Ao}o($dt,"popStack");function ZCe(){var Ao;return Ao=dt.pop()||la.lex()||_W,typeof Ao!="number"&&(Ao instanceof Array&&(dt=Ao,Ao=dt.pop()),Ao=Ct.symbols_[Ao]||Ao),Ao}o(ZCe,"lex");for(var ys,A8,kp,el,zdt,_8,Jm={},C3,Yu,DW,A3;;){if(kp=Zt[Zt.length-1],this.defaultActions[kp]?el=this.defaultActions[kp]:((ys===null||typeof ys>"u")&&(ys=ZCe()),el=Lc[kp]&&Lc[kp][ys]),typeof el>"u"||!el.length||!el[0]){var D8="";A3=[];for(C3 in Lc[kp])this.terminals_[C3]&&C3>S8&&A3.push("'"+this.terminals_[C3]+"'");la.showPosition?D8="Parse error on line "+(sn+1)+`: -`+la.showPosition()+` -Expecting `+A3.join(", ")+", got '"+(this.terminals_[ys]||ys)+"'":D8="Parse error on line "+(sn+1)+": Unexpected "+(ys==_W?"end of input":"'"+(this.terminals_[ys]||ys)+"'"),this.parseError(D8,{text:la.match,token:this.terminals_[ys]||ys,line:la.yylineno,loc:C8,expected:A3})}if(el[0]instanceof Array&&el.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kp+", token: "+ys);switch(el[0]){case 1:Zt.push(ys),Fr.push(la.yytext),ve.push(la.yylloc),Zt.push(el[1]),ys=null,A8?(ys=A8,A8=null):(E3=la.yyleng,we=la.yytext,sn=la.yylineno,C8=la.yylloc,k8>0&&k8--);break;case 2:if(Yu=this.productions_[el[1]][1],Jm.$=Fr[Fr.length-Yu],Jm._$={first_line:ve[ve.length-(Yu||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(Yu||1)].first_column,last_column:ve[ve.length-1].last_column},QCe&&(Jm._$.range=[ve[ve.length-(Yu||1)].range[0],ve[ve.length-1].range[1]]),_8=this.performAction.apply(Jm,[we,E3,sn,wp.yy,el[1],Fr,ve].concat(KCe)),typeof _8<"u")return _8;Yu&&(Zt=Zt.slice(0,-1*Yu*2),Fr=Fr.slice(0,-1*Yu),ve=ve.slice(0,-1*Yu)),Zt.push(this.productions_[el[1]][0]),Fr.push(Jm.$),ve.push(Jm._$),DW=Lc[Zt[Zt.length-2]][Zt[Zt.length-1]],Zt.push(DW);break;case 3:return!0}}return!0},"parse")},Co=(function(){var br={EOF:1,parseError:o(function(Ct,Zt){if(this.yy.parser)this.yy.parser.parseError(Ct,Zt);else throw new Error(Ct)},"parseError"),setInput:o(function(st,Ct){return this.yy=Ct||this.yy||{},this._input=st,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 st=this._input[0];this.yytext+=st,this.yyleng++,this.offset++,this.match+=st,this.matched+=st;var Ct=st.match(/(?:\r\n?|\n).*/g);return Ct?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),st},"input"),unput:o(function(st){var Ct=st.length,Zt=st.split(/(?:\r\n?|\n)/g);this._input=st+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ct),this.offset-=Ct;var dt=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),Zt.length-1&&(this.yylineno-=Zt.length-1);var Fr=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:Zt?(Zt.length===dt.length?this.yylloc.first_column:0)+dt[dt.length-Zt.length].length-Zt[0].length:this.yylloc.first_column-Ct},this.options.ranges&&(this.yylloc.range=[Fr[0],Fr[0]+this.yyleng-Ct]),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(st){this.unput(this.match.slice(st))},"less"),pastInput:o(function(){var st=this.matched.substr(0,this.matched.length-this.match.length);return(st.length>20?"...":"")+st.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var st=this.match;return st.length<20&&(st+=this._input.substr(0,20-st.length)),(st.substr(0,20)+(st.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var st=this.pastInput(),Ct=new Array(st.length+1).join("-");return st+this.upcomingInput()+` -`+Ct+"^"},"showPosition"),test_match:o(function(st,Ct){var Zt,dt,Fr;if(this.options.backtrack_lexer&&(Fr={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&&(Fr.yylloc.range=this.yylloc.range.slice(0))),dt=st[0].match(/(?:\r\n?|\n).*/g),dt&&(this.yylineno+=dt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:dt?dt[dt.length-1].length-dt[dt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+st[0].length},this.yytext+=st[0],this.match+=st[0],this.matches=st,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(st[0].length),this.matched+=st[0],Zt=this.performAction.call(this,this.yy,this,Ct,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Zt)return Zt;if(this._backtrack){for(var ve in Fr)this[ve]=Fr[ve];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var st,Ct,Zt,dt;this._more||(this.yytext="",this.match="");for(var Fr=this._currentRules(),ve=0;veCt[0].length)){if(Ct=Zt,dt=ve,this.options.backtrack_lexer){if(st=this.test_match(Zt,Fr[ve]),st!==!1)return st;if(this._backtrack){Ct=!1;continue}else return!1}else if(!this.options.flex)break}return Ct?(st=this.test_match(Ct,Fr[dt]),st!==!1?st:!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 Ct=this.next();return Ct||this.lex()},"lex"),begin:o(function(Ct){this.conditionStack.push(Ct)},"begin"),popState:o(function(){var Ct=this.conditionStack.length-1;return Ct>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(Ct){return Ct=this.conditionStack.length-1-Math.abs(Ct||0),Ct>=0?this.conditionStack[Ct]:"INITIAL"},"topState"),pushState:o(function(Ct){this.begin(Ct)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ct,Zt,dt,Fr){var ve=Fr;switch(dt){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Zt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Lc=/\n\s*/g;return Zt.yytext=Zt.yytext.replace(Lc,"
    "),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Ct.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return Ct.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return Ct.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;break;case 69:return this.pushState("edgeText"),75;break;case 70:return 119;case 71:return this.popState(),77;break;case 72:return this.pushState("thickEdgeText"),75;break;case 73:return 119;case 74:return this.popState(),77;break;case 75:return this.pushState("dottedEdgeText"),75;break;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;break;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;break;case 81:return this.popState(),55;break;case 82:return this.pushState("text"),54;break;case 83:return this.popState(),57;break;case 84:return this.pushState("text"),56;break;case 85:return 58;case 86:return this.pushState("text"),67;break;case 87:return this.popState(),64;break;case 88:return this.pushState("text"),63;break;case 89:return this.popState(),49;break;case 90:return this.pushState("text"),48;break;case 91:return this.popState(),69;break;case 92:return this.popState(),71;break;case 93:return 117;case 94:return this.pushState("trapText"),68;break;case 95:return this.pushState("trapText"),70;break;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;break;case 108:return this.pushState("text"),62;break;case 109:return this.popState(),51;break;case 110:return this.pushState("text"),50;break;case 111:return this.popState(),31;break;case 112:return this.pushState("text"),29;break;case 113:return this.popState(),66;break;case 114:return this.pushState("text"),65;break;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeData:{rules:[8,11,12,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackargs:{rules:[17,18,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackname:{rules:[14,15,16,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},href:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},click:{rules:[21,24,33,34,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dottedEdgeText:{rules:[21,24,74,76,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},thickEdgeText:{rules:[21,24,71,73,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},edgeText:{rules:[21,24,68,70,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},trapText:{rules:[21,24,77,80,82,84,88,90,91,92,93,94,95,108,110,112,114],inclusive:!1},ellipseText:{rules:[21,24,77,78,79,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},text:{rules:[21,24,77,80,81,82,83,84,87,88,89,90,94,95,107,108,109,110,111,112,113,114,115],inclusive:!1},vertex:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr:{rules:[3,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_title:{rules:[1,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},md_string:{rules:[19,20,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},string:{rules:[21,22,23,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,77,80,82,84,85,86,88,90,94,95,96,97,98,99,100,101,102,103,104,105,106,108,110,112,114,116,117,118,119],inclusive:!0}}};return br})();oa.lexer=Co;function Xa(){this.yy={}}return o(Xa,"Parser"),Xa.prototype=oa,oa.Parser=Xa,new Xa})();gB.parser=gB;yB=gB});var Jme,ege,tge=I(()=>{"use strict";Zme();Jme=Object.assign({},yB);Jme.parse=t=>{let e=t.replace(/}\s*\n/g,`} -`);return yB.parse(e)};ege=Jme});var Su,ey=I(()=>{"use strict";Su=o(()=>` + `),l=KJe(n,i,s);l.aPosition=n.getAttribLocation(l,"aPosition"),l.aIndex=n.getAttribLocation(l,"aIndex"),l.aVertType=n.getAttribLocation(l,"aVertType"),l.aTransform=n.getAttribLocation(l,"aTransform"),l.aAtlasId=n.getAttribLocation(l,"aAtlasId"),l.aTex=n.getAttribLocation(l,"aTex"),l.aPointAPointB=n.getAttribLocation(l,"aPointAPointB"),l.aPointCPointD=n.getAttribLocation(l,"aPointCPointD"),l.aLineWidth=n.getAttribLocation(l,"aLineWidth"),l.aColor=n.getAttribLocation(l,"aColor"),l.aCornerRadius=n.getAttribLocation(l,"aCornerRadius"),l.aBorderColor=n.getAttribLocation(l,"aBorderColor"),l.uPanZoomMatrix=n.getUniformLocation(l,"uPanZoomMatrix"),l.uAtlasSize=n.getUniformLocation(l,"uAtlasSize"),l.uBGColor=n.getUniformLocation(l,"uBGColor"),l.uZoom=n.getUniformLocation(l,"uZoom"),l.uTextures=[];for(var u=0;u1&&arguments[1]!==void 0?arguments[1]:$b.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()},"startFrame")},{key:"startBatch",value:o(function(){this.instanceCount=0,this.batchManager.startBatch()},"startBatch")},{key:"endFrame",value:o(function(){this.endBatch()},"endFrame")},{key:"_isVisible",value:o(function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1},"_isVisible")},{key:"drawTexture",value:o(function(r,n,i){var a=this.atlasManager,s=this.batchManager,l=a.getRenderTypeOpts(i);if(this._isVisible(r,l)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&l.getTexPickingMode){var u=l.getTexPickingMode(r);if(u===nC.IGNORE)return;if(u==nC.USE_BB){this.drawPickingRectangle(r,n,i);return}}var h=a.getAtlasInfo(r,i),f=xo(h),d;try{for(f.s();!(d=f.n()).done;){var p=d.value,m=p.atlas,g=p.tex1,y=p.tex2;s.canAddToCurrentBatch(m)||this.endBatch();for(var v=s.getAtlasIndexForBatch(m),x=0,b=[[g,!0],[y,!1]];x=this.maxInstances&&this.endBatch()}}}}catch(N){f.e(N)}finally{f.f()}}},"drawTexture")},{key:"setTransformMatrix",value:o(function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,l=0;if(i.shapeProps&&i.shapeProps.padding&&(l=r.pstyle(i.shapeProps.padding).pfValue),a){var u=a.bb,h=a.tex1,f=a.tex2,d=h.w/(h.w+f.w);s||(d=1-d);var p=this._getAdjustedBB(u,l,s,d);this._applyTransformMatrix(n,p,i,r)}else{var m=i.getBoundingBox(r),g=this._getAdjustedBB(m,l,!0,1);this._applyTransformMatrix(n,g,i,r)}},"setTransformMatrix")},{key:"_applyTransformMatrix",value:o(function(r,n,i,a){var s,l;E0e(r);var u=i.getRotation?i.getRotation(a):0;if(u!==0){var h=i.getRotationPoint(a),f=h.x,d=h.y;US(r,r,[f,d]),S0e(r,r,u);var p=i.getRotationOffset(a);s=p.x+(n.xOffset||0),l=p.y+(n.yOffset||0)}else s=n.x1,l=n.y1;US(r,r,[s,l]),KP(r,r,[n.w,n.h])},"_applyTransformMatrix")},{key:"_getAdjustedBB",value:o(function(r,n,i,a){var s=r.x1,l=r.y1,u=r.w,h=r.h,f=r.yOffset;n&&(s-=n,l-=n,u+=2*n,h+=2*n);var d=0,p=u*a;return i&&a<1?u=p:!i&&a<1&&(d=u-p,s+=d,u=p),{x1:s,y1:l,w:u,h,xOffset:d,yOffset:f}},"_getAdjustedBB")},{key:"drawPickingRectangle",value:o(function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=U1;var l=this.indexBuffer.getView(s);q1(n,l);var u=this.colorBuffer.getView(s);M0([0,0,0],1,u);var h=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,h,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()},"drawPickingRectangle")},{key:"drawNode",value:o(function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,l=this._getVertTypeForShape(r,s.shape);if(l===void 0||a.isSimple&&!a.isSimple(r)){this.drawTexture(r,n,i);return}var u=this.instanceCount;if(this.vertTypeBuffer.getView(u)[0]=l,l===MS||l===Nb){var h=a.getBoundingBox(r),f=this._getCornerRadius(r,s.radius,h),d=this.cornerRadiusBuffer.getView(u);d[0]=f,d[1]=f,d[2]=f,d[3]=f,l===Nb&&(d[0]=0,d[2]=0)}var p=this.indexBuffer.getView(u);q1(n,p);var m=r.pstyle(s.color).value,g=r.pstyle(s.opacity).value,y=this.colorBuffer.getView(u);M0(m,g,y);var v=this.lineWidthBuffer.getView(u);if(v[0]=0,v[1]=0,s.border){var x=r.pstyle("border-width").value;if(x>0){var b=r.pstyle("border-color").value,T=r.pstyle("border-opacity").value,E=this.borderColorBuffer.getView(u);M0(b,T,E);var w=r.pstyle("border-position").value;if(w==="inside")v[0]=0,v[1]=-x;else if(w==="outside")v[0]=x,v[1]=0;else{var k=x/2;v[0]=k,v[1]=-k}}}var S=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(r,S,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},"drawNode")},{key:"_getVertTypeForShape",value:o(function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return U1;case"ellipse":return Mb;case"roundrectangle":case"round-rectangle":return MS;case"bottom-round-rectangle":return Nb;default:return}},"_getVertTypeForShape")},{key:"_getCornerRadius",value:o(function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return Td(a,s);var l=r.pstyle(n).pfValue,u=a/2,h=s/2;return Math.min(l,h,u)},"_getCornerRadius")},{key:"drawEdgeArrow",value:o(function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,l,u;if(i==="source"?(s=a.arrowStartX,l=a.arrowStartY,u=a.srcArrowAngle):(s=a.arrowEndX,l=a.arrowEndY,u=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(l)||l==null||isNaN(u)||u==null)){var h=r.pstyle(i+"-arrow-shape").value;if(h!=="none"){var f=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,p=r.pstyle("line-opacity").value,m=d*p,g=r.pstyle("width").pfValue,y=r.pstyle("arrow-scale").value,v=this.r.getArrowWidth(g,y),x=this.instanceCount,b=this.transformBuffer.getMatrixView(x);E0e(b),US(b,b,[s,l]),KP(b,b,[v,v]),S0e(b,b,u),this.vertTypeBuffer.getView(x)[0]=RP;var T=this.indexBuffer.getView(x);q1(n,T);var E=this.colorBuffer.getView(x);M0(f,m,E),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:o(function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,l=r.pstyle("width").pfValue,u=r.pstyle("line-color").value,h=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=C0e;var d=this.indexBuffer.getView(f);q1(n,d);var p=this.colorBuffer.getView(f);M0(u,h,p);var m=this.lineWidthBuffer.getView(f);m[0]=l;var g=this.pointAPointBBuffer.getView(f);g[0]=i[0],g[1]=i[1],g[2]=i[2],g[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var y=0;y=this.maxInstances&&this.endBatch()}}}},"drawEdgeLine")},{key:"_isValidEdge",value:o(function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))},"_isValidEdge")},{key:"_getEdgePoints",value:o(function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}},"_getEdgePoints")},{key:"_getNumSegments",value:o(function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)},"_getNumSegments")},{key:"_getCurveSegmentPoints",value:o(function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i},"_getCurveSegmentPoints")},{key:"_setCurvePoint",value:o(function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),l=0;l0}},"isLayerVisible"),l=o(function(d){var p=d.pstyle("text-events").strValue==="yes";return p?nC.USE_BB:nC.IGNORE},"getTexPickingMode"),u=o(function(d){var p=d.position(),m=p.x,g=p.y,y=d.outerWidth(),v=d.outerHeight();return{w:y,h:v,x1:m-y/2,y1:g-v/2}},"getBBForSimpleShape");r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:u,isSimple:eet,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:u,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:u,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:l,getKey:LP(e.getLabelKey,null),getBoundingBox:NP(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:l,getKey:LP(e.getSourceLabelKey,"source"),getBoundingBox:NP(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:l,getKey:LP(e.getTargetLabelKey,"target"),getBoundingBox:NP(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var h=tT(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(f,d){var p=!1;d&&d.length>0&&(p|=r.drawing.invalidate(d)),p&&h()}),wet(r)};o(Tet,"getBGColor");o(hge,"getLabelLines");LP=o(function(e,r){return function(n){var i=e(n),a=hge(n,r);return a.length>1?a.map(function(s,l){return"".concat(i,"_").concat(l)}):i}},"getStyleKeysForLabel"),NP=o(function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var l=Number(i.substring(s+1)),u=hge(n,r),h=a.h/u.length,f=h*l,d=a.y1+f;return{x1:a.x1,w:a.w,y1:d,h,yOffset:f}}}return a}},"getBoundingBoxForLabel");o(wet,"overrideCanvasRendererFunctions");o(ket,"clearWebgl");o(Eet,"clearCanvas");o(Cet,"createPanZoomMatrix");o(fge,"setContextTransform");o(Aet,"drawSelectionRectangle");o(_et,"drawAxes");o(Det,"drawAtlases");o(Ret,"getPickingIndexes");o(Let,"findNearestElementsWebgl");o(MP,"drawEle");o(dge,"renderWebgl");Dd={};Dd.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(Net,"b64ToBlob");o(R0e,"b64UriToB64");o(mge,"output");oT.png=function(t){return mge(t,this.bufferCanvasImage(t),"image/png")};oT.jpg=function(t){return mge(t,this.bufferCanvasImage(t),"image/jpeg")};gge={};gge.nodeShapeImpl=function(t,e,r,n,i,a,s,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};Met=yge,Wr=yge.prototype;Wr.CANVAS_LAYERS=3;Wr.SELECT_BOX=0;Wr.DRAG=1;Wr.NODE=2;Wr.WEBGL=3;Wr.CANVAS_TYPES=["2d","2d","2d","webgl2"];Wr.BUFFER_COUNT=3;Wr.TEXTURE_BUFFER=0;Wr.MOTIONBLUR_BUFFER_NODE=1;Wr.MOTIONBLUR_BUFFER_DRAG=2;o(yge,"CanvasRenderer");Wr.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Wr.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Wr.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Wr.SELECT_BOX]=e;break;case"gc":r.data.gc=!0;break}};Iet=typeof Path2D<"u";Wr.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Wr.usePaths=function(){return Iet&&this.pathsEnabled};Wr.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Wr.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Wr.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":aa(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[age,Du,$h,kB,H0,_d,Is,uge,Dd,oT,gge].forEach(function(t){pr(Wr,t)});Oet=[{name:"null",impl:Wme},{name:"base",impl:tge},{name:"canvas",impl:Met}],Pet=[{type:"layout",extensions:aJe},{type:"renderer",extensions:Oet}],vge={},xge={};o(bge,"setExtension");o(Tge,"getExtension");o(Bet,"setModule");o(Fet,"getModule");JP=o(function(){if(arguments.length===2)return Tge.apply(null,arguments);if(arguments.length===3)return bge.apply(null,arguments);if(arguments.length===4)return Fet.apply(null,arguments);if(arguments.length===5)return Bet.apply(null,arguments);ui("Invalid extension access syntax")},"extension");jb.prototype.extension=JP;Pet.forEach(function(t){t.extensions.forEach(function(e){bge(t.type,e.name,e.impl)})});iC=o(function(){if(!(this instanceof iC))return new iC;this.length=0},"Stylesheet"),U0=iC.prototype;U0.instanceString=function(){return"stylesheet"};U0.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};U0.css=function(t,e){var r=this.length-1;if(or(t))this[r].properties.push({name:t,value:e});else if(sn(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";o((function(e,r){typeof lT=="object"&&typeof CB=="object"?CB.exports=r():typeof define=="function"&&define.amd?define([],r):typeof lT=="object"?lT.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(lT,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var E=x.source.owner.getEdges().indexOf(x);if(E==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(E,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),E=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,E,w,k,S,A=this.nodes,L=A.length,I=0;IT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var L=0;v.forEach(function(I){I.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,C=!0):(l[0]=g,l[1]=m,C=!0):D===R&&(u>f?(l[0]=p,l[1]=m,C=!0):(l[0]=x,l[1]=v,C=!0)),-M===R?f>u?(l[2]=S,l[3]=A,_=!0):(l[2]=k,l[3]=w,_=!0):M===R&&(f>u?(l[2]=E,l[3]=w,_=!0):(l[2]=L,l[3]=A,_=!0)),C&&_)return!1;if(u>f?h>d?(P=this.getCardinalDirection(D,R,4),B=this.getCardinalDirection(M,R,2)):(P=this.getCardinalDirection(-D,R,3),B=this.getCardinalDirection(-M,R,1)):h>d?(P=this.getCardinalDirection(-D,R,1),B=this.getCardinalDirection(-M,R,3)):(P=this.getCardinalDirection(D,R,2),B=this.getCardinalDirection(M,R,4)),!C)switch(P){case 1:G=m,F=u+-T/R,l[0]=F,l[1]=G;break;case 2:F=x,G=h+b*R,l[0]=F,l[1]=G;break;case 3:G=v,F=u+T/R,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-b*R,l[0]=F,l[1]=G;break}if(!_)switch(B){case 1:V=w,$=f+-N/R,l[2]=$,l[3]=V;break;case 2:$=L,V=d+I*R,l[2]=$,l[3]=V;break;case 3:V=A,$=f+N/R,l[2]=$,l[3]=V;break;case 4:$=S,V=d+-I*R,l[2]=$,l[3]=V;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,E=void 0,w=void 0,k=void 0,S=void 0,A=void 0,L=void 0;return T=p-f,w=h-d,S=d*f-h*p,E=v-g,k=m-y,A=y*g-m*v,L=T*k-E*w,L===0?null:(x=(w*A-k*S)/L,b=(E*S-T*A)/L,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var S=k.getEdges(),x=0;x-1&&w.splice(N,1)}b=new Set,E=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var L=E.getNeighborsList();L.forEach(function(C){if(y.indexOf(C)<0){var _=v.get(C),D=_-1;D==1&&k.push(C),v.set(C,D)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(4);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var E=0;Eh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof cT=="object"&&typeof _B=="object"?_B.exports=r(AB()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof cT=="object"?cT.coseBase=r(AB()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(cT,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a}),(function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(u,h,f,d){i.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(w);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),S=this.nodesWithGravity.filter(function(A){return k.has(A)});this.graphManager.setAllNodesToApplyGravitation(S),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},T.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var w=new Set(this.getAllNodes()),k=this.nodesWithGravity.filter(function(L){return w.has(L)});this.graphManager.setAllNodesToApplyGravitation(k),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var S=!this.isTreeGrowing&&!this.isGrowthFinished,A=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(S,A),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var w=this.graphManager.getAllNodes(),k={},S=0;S1){var C;for(C=0;CA&&(A=Math.floor(N.y)),I=Math.floor(N.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-N.x/2,d.WORLD_CENTER_Y-N.y/2))},T.radialLayout=function(w,k,S){var A=Math.max(this.maxDiagonalInTree(w),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(k,null,0,359,0,A);var L=x.calculateBounds(w),I=new b;I.setDeviceOrgX(L.getMinX()),I.setDeviceOrgY(L.getMinY()),I.setWorldOrgX(S.x),I.setWorldOrgY(S.y);for(var N=0;N1;){var X=V[0];V.splice(0,1);var Q=P.indexOf(X);Q>=0&&P.splice(Q,1),G--,B--}k!=null?$=(P.indexOf(V[0])+1)%G:$=0;for(var H=Math.abs(A-S)/B,ie=$;F!=B;ie=++ie%G){var Y=P[ie].getOtherEnd(w);if(Y!=k){var le=(S+F*H)%360,ee=(le+H)%360;T.branchRadialLayout(Y,w,le,ee,L+I,I),F++}}},T.maxDiagonalInTree=function(w){for(var k=y.MIN_VALUE,S=0;Sk&&(k=L)}return k},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var w=this,k={};this.memberGroups={},this.idToDummyNode={};for(var S=[],A=this.graphManager.getAllNodes(),L=0;L"u"&&(k[C]=[]),k[C]=k[C].concat(I)}Object.keys(k).forEach(function(_){if(k[_].length>1){var D="DummyCompound_"+_;w.memberGroups[D]=k[_];var M=k[_][0].getParent(),R=new l(w.graphManager);R.id=D,R.paddingLeft=M.paddingLeft||0,R.paddingRight=M.paddingRight||0,R.paddingBottom=M.paddingBottom||0,R.paddingTop=M.paddingTop||0,w.idToDummyNode[D]=R;var P=w.getGraphManager().add(w.newGraph(),R),B=M.getChild();B.add(R);for(var F=0;F=0;w--){var k=this.compoundOrder[w],S=k.id,A=k.paddingLeft,L=k.paddingTop;this.adjustLocations(this.tiledMemberPack[S],k.rect.x,k.rect.y,A,L)}},T.prototype.repopulateZeroDegreeMembers=function(){var w=this,k=this.tiledZeroDegreePack;Object.keys(k).forEach(function(S){var A=w.idToDummyNode[S],L=A.paddingLeft,I=A.paddingTop;w.adjustLocations(k[S],A.rect.x,A.rect.y,L,I)})},T.prototype.getToBeTiled=function(w){var k=w.id;if(this.toBeTiled[k]!=null)return this.toBeTiled[k];var S=w.getChild();if(S==null)return this.toBeTiled[k]=!1,!1;for(var A=S.getNodes(),L=0;L0)return this.toBeTiled[k]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[k]=!1,!1}return this.toBeTiled[k]=!0,!0},T.prototype.getNodeDegree=function(w){for(var k=w.id,S=w.getEdges(),A=0,L=0;L_&&(_=M.rect.height)}S+=_+w.verticalPadding}},T.prototype.tileCompoundMembers=function(w,k){var S=this;this.tiledMemberPack=[],Object.keys(w).forEach(function(A){var L=k[A];S.tiledMemberPack[A]=S.tileNodes(w[A],L.paddingLeft+L.paddingRight),L.rect.width=S.tiledMemberPack[A].width,L.rect.height=S.tiledMemberPack[A].height})},T.prototype.tileNodes=function(w,k){var S=h.TILING_PADDING_VERTICAL,A=h.TILING_PADDING_HORIZONTAL,L={rows:[],rowWidth:[],rowHeight:[],width:0,height:k,verticalPadding:S,horizontalPadding:A};w.sort(function(C,_){return C.rect.width*C.rect.height>_.rect.width*_.rect.height?-1:C.rect.width*C.rect.height<_.rect.width*_.rect.height?1:0});for(var I=0;I0&&(N+=w.horizontalPadding),w.rowWidth[S]=N,w.width0&&(C+=w.verticalPadding);var _=0;C>w.rowHeight[S]&&(_=w.rowHeight[S],w.rowHeight[S]=C,_=w.rowHeight[S]-_),w.height+=_,w.rows[S].push(k)},T.prototype.getShortestRowIndex=function(w){for(var k=-1,S=Number.MAX_VALUE,A=0;AS&&(k=A,S=w.rowWidth[A]);return k},T.prototype.canAddHorizontal=function(w,k,S){var A=this.getShortestRowIndex(w);if(A<0)return!0;var L=w.rowWidth[A];if(L+w.horizontalPadding+k<=w.width)return!0;var I=0;w.rowHeight[A]0&&(I=S+w.verticalPadding-w.rowHeight[A]);var N;w.width-L>=k+w.horizontalPadding?N=(w.height+I)/(L+k+w.horizontalPadding):N=(w.height+I)/w.width,I=S+w.verticalPadding;var C;return w.widthI&&k!=S){A.splice(-1,1),w.rows[S].push(L),w.rowWidth[k]=w.rowWidth[k]-I,w.rowWidth[S]=w.rowWidth[S]+I,w.width=w.rowWidth[instance.getLongestRowIndex(w)];for(var N=Number.MIN_VALUE,C=0;CN&&(N=A[C].height);k>0&&(N+=w.verticalPadding);var _=w.rowHeight[k]+w.rowHeight[S];w.rowHeight[k]=N,w.rowHeight[S]0)for(var B=L;B<=I;B++)P[0]+=this.grid[B][N-1].length+this.grid[B][N].length-1;if(I0)for(var B=N;B<=C;B++)P[3]+=this.grid[L-1][B].length+this.grid[L][B].length-1;for(var F=y.MAX_VALUE,G,$,V=0;V{"use strict";o((function(e,r){typeof uT=="object"&&typeof RB=="object"?RB.exports=r(DB()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof uT=="object"?uT.cytoscapeCoseBilkent=r(DB()):e.cytoscapeCoseBilkent=r(e.coseBase)}),"webpackUniversalModuleDefinition")(uT,function(t){return(function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)})([(function(e,r){e.exports=t}),(function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var T in v)b[T]=v[T];for(var T in x)b[T]=x[T];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,T=this.idToLNode={},E=this.layout=new l,w=this;w.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var k=E.newGraphManager();this.gm=k;var S=this.options.eles.nodes(),A=this.options.eles.edges();this.root=k.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(S),E);for(var L=0;L0){var C;C=b.getGraphManager().add(b.newGraph(),S),this.processChildrenList(C,k,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y})])})});function zet(t,e){t.forEach(r=>{let n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}function Get(t,e){t.forEach(r=>{let n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}function Ege(t){return new Promise(e=>{let r=je("body").append("div").attr("id","cy").attr("style","display:none"),n=Il({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),zet(t.nodes,n),Get(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}});let i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{K.info("Cytoscape ready",a),e(n)})})}function Sge(t){return t.nodes().map(e=>{let r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}function Cge(t){return t.edges().map(e=>{let r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}var kge,Age=O(()=>{"use strict";SB();kge=Ra(wge(),1);Ar();xt();Il.use(kge.default);o(zet,"addNodes");o(Get,"addEdges");o(Ege,"createCytoscapeInstance");o(Sge,"extractPositionedNodes");o(Cge,"extractPositionedEdges")});async function _ge(t,e){K.debug("Starting cose-bilkent layout algorithm");try{Vet(t);let r=await Ege(t),n=Sge(r),i=Cge(r);return K.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw K.error("Error in cose-bilkent layout algorithm:",r),r}}function Vet(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}var Dge=O(()=>{"use strict";xt();Age();o(_ge,"executeCoseBilkentLayout");o(Vet,"validateLayoutData")});var Rge,Lge=O(()=>{"use strict";Dge();Rge=o(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:l,positionEdgeLabel:u},{algorithm:h})=>{let f={},d={},p=e.select("g");a(p,t.markers,t.type,t.diagramId);let m=p.insert("g").attr("class","subgraphs"),g=p.insert("g").attr("class","edgePaths"),y=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");l.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async T=>{if(T.isGroup){let E={...T};d[T.id]=E,f[T.id]=E,await r(m,T)}else{let E={...T};f[T.id]=E;let w=await s(v,T,{config:t.config,dir:t.direction||"TB"}),k=w.node().getBBox();E.width=k.width,E.height=k.height,E.domId=w,l.debug(`Node ${T.id} dimensions: ${k.width}x${k.height}`)}})),l.debug("Running cose-bilkent layout algorithm");let x={...t,nodes:t.nodes.map(T=>{let E=f[T.id];return{...T,width:E.width,height:E.height}})},b=await _ge(x,t.config);l.debug("Positioning nodes based on layout results"),b.nodes.forEach(T=>{let E=f[T.id];E?.domId&&(E.domId.attr("transform",`translate(${T.x}, ${T.y})`),E.x=T.x,E.y=T.y,l.debug(`Positioned node ${E.id} at center (${T.x}, ${T.y})`))}),b.edges.forEach(T=>{let E=t.edges.find(w=>w.id===T.id);E&&(E.points=[{x:T.startX,y:T.startY},{x:T.midX,y:T.midY},{x:T.endX,y:T.endY}])}),l.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async T=>{let E=await i(y,T),w=f[T.start??""],k=f[T.end??""];if(w&&k){let S=b.edges.find(A=>A.id===T.id);if(S){l.debug("APA01 positionedEdge",S);let A={...T},L=n(g,A,d,t.type,w,k,t.diagramId);u(A,L)}else{let A={...T,points:[{x:w.x||0,y:w.y||0},{x:k.x||0,y:k.y||0}]},L=n(g,A,d,t.type,w,k,t.diagramId);u(A,L)}}})),l.debug("Cose-bilkent rendering completed")},"render")});var Nge={};vr(Nge,{render:()=>qet});var qet,Mge=O(()=>{"use strict";Lge();qet=Rge});var hT,LB,Uet,Ol,Ru,Rd=O(()=>{"use strict";woe();xt();hT={},LB=o(t=>{for(let e of t)hT[e.name]=e},"registerLayoutLoaders"),Uet=o(()=>{LB([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(rde(),tde)),"loader")},{name:"cose-bilkent",loader:o(async()=>await Promise.resolve().then(()=>(Mge(),Nge)),"loader")}])},"registerDefaultLayoutLoaders");Uet();Ol=o(async(t,e)=>{if(!(t.layoutAlgorithm in hT))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=hT[t.layoutAlgorithm];return(await r.loader()).render(t,e,Toe,{algorithm:r.algorithm})},"render"),Ru=o((t="",{fallback:e="dagre"}={})=>{if(t in hT)return t;if(e in hT)return K.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var bo,Wet,Het,Ld=O(()=>{"use strict";Ti();xt();bo=o((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:l}=Wet(t,e);Zr(t,a,i,n);let u=Het(s,l,i,a,e);t.attr("viewBox",u),K.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),Wet=o((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),Het=o((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var Yet,jet,Ige,Oge=O(()=>{"use strict";Ar();jt();xt();b0();Rd();Ld();ar();Yet=o(function(t,e){return e.db.getClasses()},"getClasses"),jet=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=ve(),l;i==="sandbox"&&(l=je("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;K.debug("Before getData: ");let h=n.db.getData();K.debug("Data: ",h);let f=Sl(e,i),d=n.db.getDirection();h.type=n.type,h.layoutAlgorithm=Ru(s),h.layoutAlgorithm==="dagre"&&s==="elk"&&K.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,K.debug("REF1:",h),await Ol(h,f);let p=h.config.flowchart?.diagramPadding??8;Xt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),bo(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=je(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),Ige={getClasses:Yet,draw:jet}});var NB,MB,Pge=O(()=>{"use strict";NB=(function(){var t=o(function(Pt,Tt,Vt,Qt){for(Vt=Vt||{},Qt=Pt.length;Qt--;Vt[Pt[Qt]]=Tt);return Vt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,50],y=[1,49],v=[1,29],x=[1,30],b=[1,31],T=[1,32],E=[1,33],w=[1,45],k=[1,47],S=[1,43],A=[1,48],L=[1,44],I=[1,51],N=[1,46],C=[1,52],_=[1,53],D=[1,34],M=[1,35],R=[1,36],P=[1,37],B=[1,38],F=[1,58],G=[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],V=[1,61],X=[1,63],Q=[8,9,11,75,77,78],H=[1,79],ie=[1,92],Y=[1,97],le=[1,96],ee=[1,93],J=[1,89],te=[1,95],Z=[1,91],xe=[1,98],de=[1,94],Se=[1,99],Me=[1,90],ke=[8,9,10,11,40,75,77,78],we=[8,9,10,11,40,46,75,77,78],_e=[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],$e=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],fe=[44,60,89,102,105,106,109,111,114,115,116],Ke=[1,122],Te=[1,123],Be=[1,125],Ue=[1,124],Ge=[44,60,62,74,89,102,105,106,109,111,114,115,116],Ne=[1,134],We=[1,148],j=[1,149],ae=[1,150],U=[1,151],ce=[1,136],z=[1,138],ne=[1,142],se=[1,143],be=[1,144],pe=[1,145],me=[1,146],Re=[1,147],ge=[1,152],Ie=[1,153],qe=[1,132],Pe=[1,133],Xe=[1,140],oe=[1,135],et=[1,139],he=[1,137],ot=[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],Dt=[1,155],It=[1,157],wt=[8,9,11],Rt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],it=[1,177],at=[1,173],Ct=[1,174],yt=[1,178],dt=[1,175],Ht=[1,176],cr=[77,116,119],Kt=[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],kr=[10,106],ur=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],tr=[1,248],hr=[1,246],_n=[1,250],mt=[1,244],Le=[1,245],ct=[1,247],St=[1,249],Mr=[1,251],tn=[1,269],cn=[8,9,11,106],Cr=[8,9,10,11,60,84,105,106,109,110,111,112],Ki={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,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:o(function(Tt,Vt,Qt,gt,xn,ye,Mo){var Ee=ye.length-1;switch(xn){case 2:this.$=[];break;case 3:(!Array.isArray(ye[Ee])||ye[Ee].length>0)&&ye[Ee-1].push(ye[Ee]),this.$=ye[Ee-1];break;case 4:case 183:this.$=ye[Ee];break;case 11:gt.setDirection("TB"),this.$="TB";break;case 12:gt.setDirection(ye[Ee-1]),this.$=ye[Ee-1];break;case 27:this.$=ye[Ee-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=gt.addSubGraph(ye[Ee-6],ye[Ee-1],ye[Ee-4]);break;case 34:this.$=gt.addSubGraph(ye[Ee-3],ye[Ee-1],ye[Ee-3]);break;case 35:this.$=gt.addSubGraph(void 0,ye[Ee-1],void 0);break;case 37:this.$=ye[Ee].trim(),gt.setAccTitle(this.$);break;case 38:case 39:this.$=ye[Ee].trim(),gt.setAccDescription(this.$);break;case 43:this.$=ye[Ee-1]+ye[Ee];break;case 44:this.$=ye[Ee];break;case 45:gt.addVertex(ye[Ee-1][ye[Ee-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ye[Ee]),gt.addLink(ye[Ee-3].stmt,ye[Ee-1],ye[Ee-2]),this.$={stmt:ye[Ee-1],nodes:ye[Ee-1].concat(ye[Ee-3].nodes)};break;case 46:gt.addLink(ye[Ee-2].stmt,ye[Ee],ye[Ee-1]),this.$={stmt:ye[Ee],nodes:ye[Ee].concat(ye[Ee-2].nodes)};break;case 47:gt.addLink(ye[Ee-3].stmt,ye[Ee-1],ye[Ee-2]),this.$={stmt:ye[Ee-1],nodes:ye[Ee-1].concat(ye[Ee-3].nodes)};break;case 48:this.$={stmt:ye[Ee-1],nodes:ye[Ee-1]};break;case 49:gt.addVertex(ye[Ee-1][ye[Ee-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ye[Ee]),this.$={stmt:ye[Ee-1],nodes:ye[Ee-1],shapeData:ye[Ee]};break;case 50:this.$={stmt:ye[Ee],nodes:ye[Ee]};break;case 51:this.$=[ye[Ee]];break;case 52:gt.addVertex(ye[Ee-5][ye[Ee-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,ye[Ee-4]),this.$=ye[Ee-5].concat(ye[Ee]);break;case 53:this.$=ye[Ee-4].concat(ye[Ee]);break;case 54:this.$=ye[Ee];break;case 55:this.$=ye[Ee-2],gt.setClass(ye[Ee-2],ye[Ee]);break;case 56:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"square");break;case 57:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"doublecircle");break;case 58:this.$=ye[Ee-5],gt.addVertex(ye[Ee-5],ye[Ee-2],"circle");break;case 59:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"ellipse");break;case 60:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"stadium");break;case 61:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"subroutine");break;case 62:this.$=ye[Ee-7],gt.addVertex(ye[Ee-7],ye[Ee-1],"rect",void 0,void 0,void 0,Object.fromEntries([[ye[Ee-5],ye[Ee-3]]]));break;case 63:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"cylinder");break;case 64:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"round");break;case 65:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"diamond");break;case 66:this.$=ye[Ee-5],gt.addVertex(ye[Ee-5],ye[Ee-2],"hexagon");break;case 67:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"odd");break;case 68:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"trapezoid");break;case 69:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"inv_trapezoid");break;case 70:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"lean_right");break;case 71:this.$=ye[Ee-3],gt.addVertex(ye[Ee-3],ye[Ee-1],"lean_left");break;case 72:this.$=ye[Ee],gt.addVertex(ye[Ee]);break;case 73:ye[Ee-1].text=ye[Ee],this.$=ye[Ee-1];break;case 74:case 75:ye[Ee-2].text=ye[Ee-1],this.$=ye[Ee-2];break;case 76:this.$=ye[Ee];break;case 77:var _i=gt.destructLink(ye[Ee],ye[Ee-2]);this.$={type:_i.type,stroke:_i.stroke,length:_i.length,text:ye[Ee-1]};break;case 78:var _i=gt.destructLink(ye[Ee],ye[Ee-2]);this.$={type:_i.type,stroke:_i.stroke,length:_i.length,text:ye[Ee-1],id:ye[Ee-3]};break;case 79:this.$={text:ye[Ee],type:"text"};break;case 80:this.$={text:ye[Ee-1].text+""+ye[Ee],type:ye[Ee-1].type};break;case 81:this.$={text:ye[Ee],type:"string"};break;case 82:this.$={text:ye[Ee],type:"markdown"};break;case 83:var _i=gt.destructLink(ye[Ee]);this.$={type:_i.type,stroke:_i.stroke,length:_i.length};break;case 84:var _i=gt.destructLink(ye[Ee]);this.$={type:_i.type,stroke:_i.stroke,length:_i.length,id:ye[Ee-1]};break;case 85:this.$=ye[Ee-1];break;case 86:this.$={text:ye[Ee],type:"text"};break;case 87:this.$={text:ye[Ee-1].text+""+ye[Ee],type:ye[Ee-1].type};break;case 88:this.$={text:ye[Ee],type:"string"};break;case 89:case 104:this.$={text:ye[Ee],type:"markdown"};break;case 101:this.$={text:ye[Ee],type:"text"};break;case 102:this.$={text:ye[Ee-1].text+""+ye[Ee],type:ye[Ee-1].type};break;case 103:this.$={text:ye[Ee],type:"text"};break;case 105:this.$=ye[Ee-4],gt.addClass(ye[Ee-2],ye[Ee]);break;case 106:this.$=ye[Ee-4],gt.setClass(ye[Ee-2],ye[Ee]);break;case 107:case 115:this.$=ye[Ee-1],gt.setClickEvent(ye[Ee-1],ye[Ee]);break;case 108:case 116:this.$=ye[Ee-3],gt.setClickEvent(ye[Ee-3],ye[Ee-2]),gt.setTooltip(ye[Ee-3],ye[Ee]);break;case 109:this.$=ye[Ee-2],gt.setClickEvent(ye[Ee-2],ye[Ee-1],ye[Ee]);break;case 110:this.$=ye[Ee-4],gt.setClickEvent(ye[Ee-4],ye[Ee-3],ye[Ee-2]),gt.setTooltip(ye[Ee-4],ye[Ee]);break;case 111:this.$=ye[Ee-2],gt.setLink(ye[Ee-2],ye[Ee]);break;case 112:this.$=ye[Ee-4],gt.setLink(ye[Ee-4],ye[Ee-2]),gt.setTooltip(ye[Ee-4],ye[Ee]);break;case 113:this.$=ye[Ee-4],gt.setLink(ye[Ee-4],ye[Ee-2],ye[Ee]);break;case 114:this.$=ye[Ee-6],gt.setLink(ye[Ee-6],ye[Ee-4],ye[Ee]),gt.setTooltip(ye[Ee-6],ye[Ee-2]);break;case 117:this.$=ye[Ee-1],gt.setLink(ye[Ee-1],ye[Ee]);break;case 118:this.$=ye[Ee-3],gt.setLink(ye[Ee-3],ye[Ee-2]),gt.setTooltip(ye[Ee-3],ye[Ee]);break;case 119:this.$=ye[Ee-3],gt.setLink(ye[Ee-3],ye[Ee-2],ye[Ee]);break;case 120:this.$=ye[Ee-5],gt.setLink(ye[Ee-5],ye[Ee-4],ye[Ee]),gt.setTooltip(ye[Ee-5],ye[Ee-2]);break;case 121:this.$=ye[Ee-4],gt.addVertex(ye[Ee-2],void 0,void 0,ye[Ee]);break;case 122:this.$=ye[Ee-4],gt.updateLink([ye[Ee-2]],ye[Ee]);break;case 123:this.$=ye[Ee-4],gt.updateLink(ye[Ee-2],ye[Ee]);break;case 124:this.$=ye[Ee-8],gt.updateLinkInterpolate([ye[Ee-6]],ye[Ee-2]),gt.updateLink([ye[Ee-6]],ye[Ee]);break;case 125:this.$=ye[Ee-8],gt.updateLinkInterpolate(ye[Ee-6],ye[Ee-2]),gt.updateLink(ye[Ee-6],ye[Ee]);break;case 126:this.$=ye[Ee-6],gt.updateLinkInterpolate([ye[Ee-4]],ye[Ee]);break;case 127:this.$=ye[Ee-6],gt.updateLinkInterpolate(ye[Ee-4],ye[Ee]);break;case 128:case 130:this.$=[ye[Ee]];break;case 129:case 131:ye[Ee-2].push(ye[Ee]),this.$=ye[Ee-2];break;case 133:this.$=ye[Ee-1]+ye[Ee];break;case 181:this.$=ye[Ee];break;case 182:this.$=ye[Ee-1]+""+ye[Ee];break;case 184:this.$=ye[Ee-1]+""+ye[Ee];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_,121:D,122:M,123:R,124:P,125:B},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:F,15:54,18:57},t(G,[2,3]),t(G,[2,4]),t(G,[2,5]),t(G,[2,6]),t(G,[2,7]),t(G,[2,8]),{8:$,9:V,11:X,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:$,9:V,11:X,21:68},{8:$,9:V,11:X,21:69},{8:$,9:V,11:X,21:70},{8:$,9:V,11:X,21:71},{8:$,9:V,11:X,21:72},{8:$,9:V,10:[1,73],11:X,21:74},t(G,[2,36]),{35:[1,75]},{37:[1,76]},t(G,[2,39]),t(Q,[2,50],{18:77,39:78,10:F,40:H}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:ie,44:Y,60:le,80:[1,87],89:ee,95:[1,84],97:[1,85],101:86,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me,120:88},t(G,[2,185]),t(G,[2,186]),t(G,[2,187]),t(G,[2,188]),t(G,[2,189]),t(ke,[2,51]),t(ke,[2,54],{46:[1,100]}),t(we,[2,72],{113:113,29:[1,101],44:g,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:y,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:w,102:k,105:S,106:A,109:L,111:I,114:N,115:C,116:_}),t(_e,[2,181]),t(_e,[2,142]),t(_e,[2,143]),t(_e,[2,144]),t(_e,[2,145]),t(_e,[2,146]),t(_e,[2,147]),t(_e,[2,148]),t(_e,[2,149]),t(_e,[2,150]),t(_e,[2,151]),t(_e,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t($e,[2,26],{18:115,10:F}),t(G,[2,27]),{42:116,43:39,44:g,45:40,47:41,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},t(G,[2,40]),t(G,[2,41]),t(G,[2,42]),t(fe,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:Ke,81:Te,116:Be,119:Ue},{75:[1,126],77:[1,127]},t(Ge,[2,83]),t(G,[2,28]),t(G,[2,29]),t(G,[2,30]),t(G,[2,31]),t(G,[2,32]),{10:Ne,12:We,14:j,27:ae,28:128,32:U,44:ce,60:z,75:ne,80:[1,130],81:[1,131],83:141,84:se,85:be,86:pe,87:me,88:Re,89:ge,90:Ie,91:129,105:qe,109:Pe,111:Xe,114:oe,115:et,116:he},t(ot,a,{5:154}),t(G,[2,37]),t(G,[2,38]),t(Q,[2,48],{44:Dt}),t(Q,[2,49],{18:156,10:F,40:It}),t(ke,[2,44]),{44:g,47:158,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},{102:[1,159],103:160,105:[1,161]},{44:g,47:162,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},{44:g,47:163,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},t(wt,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(wt,[2,115],{120:168,10:[1,167],14:ie,44:Y,60:le,89:ee,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me}),t(wt,[2,117],{10:[1,169]}),t(Rt,[2,183]),t(Rt,[2,170]),t(Rt,[2,171]),t(Rt,[2,172]),t(Rt,[2,173]),t(Rt,[2,174]),t(Rt,[2,175]),t(Rt,[2,176]),t(Rt,[2,177]),t(Rt,[2,178]),t(Rt,[2,179]),t(Rt,[2,180]),{44:g,47:170,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},{30:171,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:179,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:181,50:[1,180],67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:182,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:183,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:184,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{109:[1,185]},{30:186,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:187,65:[1,188],67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:189,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:190,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{30:191,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},t(_e,[2,182]),t(i,[2,20]),t($e,[2,25]),t(Q,[2,46],{39:192,18:193,10:F,40:H}),t(fe,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{77:[1,197],79:198,116:Be,119:Ue},t(cr,[2,79]),t(cr,[2,81]),t(cr,[2,82]),t(cr,[2,168]),t(cr,[2,169]),{76:199,79:121,80:Ke,81:Te,116:Be,119:Ue},t(Ge,[2,84]),{8:$,9:V,10:Ne,11:X,12:We,14:j,21:201,27:ae,29:[1,200],32:U,44:ce,60:z,75:ne,83:141,84:se,85:be,86:pe,87:me,88:Re,89:ge,90:Ie,91:202,105:qe,109:Pe,111:Xe,114:oe,115:et,116:he},t(Kt,[2,101]),t(Kt,[2,103]),t(Kt,[2,104]),t(Kt,[2,157]),t(Kt,[2,158]),t(Kt,[2,159]),t(Kt,[2,160]),t(Kt,[2,161]),t(Kt,[2,162]),t(Kt,[2,163]),t(Kt,[2,164]),t(Kt,[2,165]),t(Kt,[2,166]),t(Kt,[2,167]),t(Kt,[2,90]),t(Kt,[2,91]),t(Kt,[2,92]),t(Kt,[2,93]),t(Kt,[2,94]),t(Kt,[2,95]),t(Kt,[2,96]),t(Kt,[2,97]),t(Kt,[2,98]),t(Kt,[2,99]),t(Kt,[2,100]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,203],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_,121:D,122:M,123:R,124:P,125:B},{10:F,18:204},{44:[1,205]},t(ke,[2,43]),{10:[1,206],44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:113,114:N,115:C,116:_},{10:[1,207]},{10:[1,208],106:[1,209]},t(kr,[2,128]),{10:[1,210],44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:113,114:N,115:C,116:_},{10:[1,211],44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:113,114:N,115:C,116:_},{80:[1,212]},t(wt,[2,109],{10:[1,213]}),t(wt,[2,111],{10:[1,214]}),{80:[1,215]},t(Rt,[2,184]),{80:[1,216],98:[1,217]},t(ke,[2,55],{113:113,44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,114:N,115:C,116:_}),{31:[1,218],67:it,82:219,116:yt,117:dt,118:Ht},t(ur,[2,86]),t(ur,[2,88]),t(ur,[2,89]),t(ur,[2,153]),t(ur,[2,154]),t(ur,[2,155]),t(ur,[2,156]),{49:[1,220],67:it,82:219,116:yt,117:dt,118:Ht},{30:221,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{51:[1,222],67:it,82:219,116:yt,117:dt,118:Ht},{53:[1,223],67:it,82:219,116:yt,117:dt,118:Ht},{55:[1,224],67:it,82:219,116:yt,117:dt,118:Ht},{57:[1,225],67:it,82:219,116:yt,117:dt,118:Ht},{60:[1,226]},{64:[1,227],67:it,82:219,116:yt,117:dt,118:Ht},{66:[1,228],67:it,82:219,116:yt,117:dt,118:Ht},{30:229,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},{31:[1,230],67:it,82:219,116:yt,117:dt,118:Ht},{67:it,69:[1,231],71:[1,232],82:219,116:yt,117:dt,118:Ht},{67:it,69:[1,234],71:[1,233],82:219,116:yt,117:dt,118:Ht},t(Q,[2,45],{18:156,10:F,40:It}),t(Q,[2,47],{44:Dt}),t(fe,[2,75]),t(fe,[2,74]),{62:[1,235],67:it,82:219,116:yt,117:dt,118:Ht},t(fe,[2,77]),t(cr,[2,80]),{77:[1,236],79:198,116:Be,119:Ue},{30:237,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},t(ot,a,{5:238}),t(Kt,[2,102]),t(G,[2,35]),{43:239,44:g,45:40,47:41,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},{10:F,18:240},{10:tr,60:hr,84:_n,92:241,105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{10:tr,60:hr,84:_n,92:252,104:[1,253],105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{10:tr,60:hr,84:_n,92:254,104:[1,255],105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{105:[1,256]},{10:tr,60:hr,84:_n,92:257,105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{44:g,47:258,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},t(wt,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(wt,[2,116]),t(wt,[2,118],{10:[1,262]}),t(wt,[2,119]),t(we,[2,56]),t(ur,[2,87]),t(we,[2,57]),{51:[1,263],67:it,82:219,116:yt,117:dt,118:Ht},t(we,[2,64]),t(we,[2,59]),t(we,[2,60]),t(we,[2,61]),{109:[1,264]},t(we,[2,63]),t(we,[2,65]),{66:[1,265],67:it,82:219,116:yt,117:dt,118:Ht},t(we,[2,67]),t(we,[2,68]),t(we,[2,70]),t(we,[2,69]),t(we,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(fe,[2,78]),{31:[1,266],67:it,82:219,116:yt,117:dt,118:Ht},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,267],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_,121:D,122:M,123:R,124:P,125:B},t(ke,[2,53]),{43:268,44:g,45:40,47:41,60:y,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_},t(wt,[2,121],{106:tn}),t(cn,[2,130],{108:270,10:tr,60:hr,84:_n,105:mt,109:Le,110:ct,111:St,112:Mr}),t(Cr,[2,132]),t(Cr,[2,134]),t(Cr,[2,135]),t(Cr,[2,136]),t(Cr,[2,137]),t(Cr,[2,138]),t(Cr,[2,139]),t(Cr,[2,140]),t(Cr,[2,141]),t(wt,[2,122],{106:tn}),{10:[1,271]},t(wt,[2,123],{106:tn}),{10:[1,272]},t(kr,[2,129]),t(wt,[2,105],{106:tn}),t(wt,[2,106],{113:113,44:g,60:y,89:w,102:k,105:S,106:A,109:L,111:I,114:N,115:C,116:_}),t(wt,[2,110]),t(wt,[2,112],{10:[1,273]}),t(wt,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:$,9:V,11:X,21:278},t(G,[2,34]),t(ke,[2,52]),{10:tr,60:hr,84:_n,105:mt,107:279,108:243,109:Le,110:ct,111:St,112:Mr},t(Cr,[2,133]),{14:ie,44:Y,60:le,89:ee,101:280,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me,120:88},{14:ie,44:Y,60:le,89:ee,101:281,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me,120:88},{98:[1,282]},t(wt,[2,120]),t(we,[2,58]),{30:283,67:it,80:at,81:Ct,82:172,116:yt,117:dt,118:Ht},t(we,[2,66]),t(ot,a,{5:284}),t(cn,[2,131],{108:270,10:tr,60:hr,84:_n,105:mt,109:Le,110:ct,111:St,112:Mr}),t(wt,[2,126],{120:168,10:[1,285],14:ie,44:Y,60:le,89:ee,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me}),t(wt,[2,127],{120:168,10:[1,286],14:ie,44:Y,60:le,89:ee,105:J,106:te,109:Z,111:xe,114:de,115:Se,116:Me}),t(wt,[2,114]),{31:[1,287],67:it,82:219,116:yt,117:dt,118:Ht},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,288],33:24,34:d,36:p,38:m,42:28,43:39,44:g,45:40,47:41,60:y,84:v,85:x,86:b,87:T,88:E,89:w,102:k,105:S,106:A,109:L,111:I,113:42,114:N,115:C,116:_,121:D,122:M,123:R,124:P,125:B},{10:tr,60:hr,84:_n,92:289,105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},{10:tr,60:hr,84:_n,92:290,105:mt,107:242,108:243,109:Le,110:ct,111:St,112:Mr},t(we,[2,62]),t(G,[2,33]),t(wt,[2,124],{106:tn}),t(wt,[2,125],{106:tn})],defaultActions:{},parseError:o(function(Tt,Vt){if(Vt.recoverable)this.trace(Tt);else{var Qt=new Error(Tt);throw Qt.hash=Vt,Qt}},"parseError"),parse:o(function(Tt){var Vt=this,Qt=[0],gt=[],xn=[null],ye=[],Mo=this.table,Ee="",_i=0,$_=0,B3=0,MAe=2,lH=1,IAe=ye.slice.call(arguments,1),fa=Object.create(this.lexer),Sp={yy:{}};for(var z_ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z_)&&(Sp.yy[z_]=this.yy[z_]);fa.setInput(Tt,Sp.yy),Sp.yy.lexer=fa,Sp.yy.parser=this,typeof fa.yylloc>"u"&&(fa.yylloc={});var G_=fa.yylloc;ye.push(G_);var OAe=fa.options&&fa.options.ranges;typeof Sp.yy.parseError=="function"?this.parseError=Sp.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Amt(Io){Qt.length=Qt.length-2*Io,xn.length=xn.length-Io,ye.length=ye.length-Io}o(Amt,"popStack");function PAe(){var Io;return Io=gt.pop()||fa.lex()||lH,typeof Io!="number"&&(Io instanceof Array&&(gt=Io,Io=gt.pop()),Io=Vt.symbols_[Io]||Io),Io}o(PAe,"lex");for(var xs,V_,Cp,ll,_mt,q_,ig={},F3,Ju,cH,$3;;){if(Cp=Qt[Qt.length-1],this.defaultActions[Cp]?ll=this.defaultActions[Cp]:((xs===null||typeof xs>"u")&&(xs=PAe()),ll=Mo[Cp]&&Mo[Cp][xs]),typeof ll>"u"||!ll.length||!ll[0]){var U_="";$3=[];for(F3 in Mo[Cp])this.terminals_[F3]&&F3>MAe&&$3.push("'"+this.terminals_[F3]+"'");fa.showPosition?U_="Parse error on line "+(_i+1)+`: +`+fa.showPosition()+` +Expecting `+$3.join(", ")+", got '"+(this.terminals_[xs]||xs)+"'":U_="Parse error on line "+(_i+1)+": Unexpected "+(xs==lH?"end of input":"'"+(this.terminals_[xs]||xs)+"'"),this.parseError(U_,{text:fa.match,token:this.terminals_[xs]||xs,line:fa.yylineno,loc:G_,expected:$3})}if(ll[0]instanceof Array&&ll.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Cp+", token: "+xs);switch(ll[0]){case 1:Qt.push(xs),xn.push(fa.yytext),ye.push(fa.yylloc),Qt.push(ll[1]),xs=null,V_?(xs=V_,V_=null):($_=fa.yyleng,Ee=fa.yytext,_i=fa.yylineno,G_=fa.yylloc,B3>0&&B3--);break;case 2:if(Ju=this.productions_[ll[1]][1],ig.$=xn[xn.length-Ju],ig._$={first_line:ye[ye.length-(Ju||1)].first_line,last_line:ye[ye.length-1].last_line,first_column:ye[ye.length-(Ju||1)].first_column,last_column:ye[ye.length-1].last_column},OAe&&(ig._$.range=[ye[ye.length-(Ju||1)].range[0],ye[ye.length-1].range[1]]),q_=this.performAction.apply(ig,[Ee,$_,_i,Sp.yy,ll[1],xn,ye].concat(IAe)),typeof q_<"u")return q_;Ju&&(Qt=Qt.slice(0,-1*Ju*2),xn=xn.slice(0,-1*Ju),ye=ye.slice(0,-1*Ju)),Qt.push(this.productions_[ll[1]][0]),xn.push(ig.$),ye.push(ig._$),cH=Mo[Qt[Qt.length-2]][Qt[Qt.length-1]],Qt.push(cH);break;case 3:return!0}}return!0},"parse")},Da=(function(){var Pt={EOF:1,parseError:o(function(Vt,Qt){if(this.yy.parser)this.yy.parser.parseError(Vt,Qt);else throw new Error(Vt)},"parseError"),setInput:o(function(Tt,Vt){return this.yy=Vt||this.yy||{},this._input=Tt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Tt=this._input[0];this.yytext+=Tt,this.yyleng++,this.offset++,this.match+=Tt,this.matched+=Tt;var Vt=Tt.match(/(?:\r\n?|\n).*/g);return Vt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tt},"input"),unput:o(function(Tt){var Vt=Tt.length,Qt=Tt.split(/(?:\r\n?|\n)/g);this._input=Tt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Vt),this.offset-=Vt;var gt=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),Qt.length-1&&(this.yylineno-=Qt.length-1);var xn=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:Qt?(Qt.length===gt.length?this.yylloc.first_column:0)+gt[gt.length-Qt.length].length-Qt[0].length:this.yylloc.first_column-Vt},this.options.ranges&&(this.yylloc.range=[xn[0],xn[0]+this.yyleng-Vt]),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(Tt){this.unput(this.match.slice(Tt))},"less"),pastInput:o(function(){var Tt=this.matched.substr(0,this.matched.length-this.match.length);return(Tt.length>20?"...":"")+Tt.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Tt=this.match;return Tt.length<20&&(Tt+=this._input.substr(0,20-Tt.length)),(Tt.substr(0,20)+(Tt.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Tt=this.pastInput(),Vt=new Array(Tt.length+1).join("-");return Tt+this.upcomingInput()+` +`+Vt+"^"},"showPosition"),test_match:o(function(Tt,Vt){var Qt,gt,xn;if(this.options.backtrack_lexer&&(xn={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&&(xn.yylloc.range=this.yylloc.range.slice(0))),gt=Tt[0].match(/(?:\r\n?|\n).*/g),gt&&(this.yylineno+=gt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:gt?gt[gt.length-1].length-gt[gt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tt[0].length},this.yytext+=Tt[0],this.match+=Tt[0],this.matches=Tt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Tt[0].length),this.matched+=Tt[0],Qt=this.performAction.call(this,this.yy,this,Vt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Qt)return Qt;if(this._backtrack){for(var ye in xn)this[ye]=xn[ye];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tt,Vt,Qt,gt;this._more||(this.yytext="",this.match="");for(var xn=this._currentRules(),ye=0;yeVt[0].length)){if(Vt=Qt,gt=ye,this.options.backtrack_lexer){if(Tt=this.test_match(Qt,xn[ye]),Tt!==!1)return Tt;if(this._backtrack){Vt=!1;continue}else return!1}else if(!this.options.flex)break}return Vt?(Tt=this.test_match(Vt,xn[gt]),Tt!==!1?Tt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Vt=this.next();return Vt||this.lex()},"lex"),begin:o(function(Vt){this.conditionStack.push(Vt)},"begin"),popState:o(function(){var Vt=this.conditionStack.length-1;return Vt>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(Vt){return Vt=this.conditionStack.length-1-Math.abs(Vt||0),Vt>=0?this.conditionStack[Vt]:"INITIAL"},"topState"),pushState:o(function(Vt){this.begin(Vt)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Vt,Qt,gt,xn){var ye=xn;switch(gt){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Qt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Mo=/\n\s*/g;return Qt.yytext=Qt.yytext.replace(Mo,"
    "),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return Vt.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return Vt.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return Vt.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 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;break;case 70:return this.pushState("edgeText"),75;break;case 71:return 119;case 72:return this.popState(),77;break;case 73:return this.pushState("thickEdgeText"),75;break;case 74:return 119;case 75:return this.popState(),77;break;case 76:return this.pushState("dottedEdgeText"),75;break;case 77:return 119;case 78:return 77;case 79:return this.popState(),53;break;case 80:return"TEXT";case 81:return this.pushState("ellipseText"),52;break;case 82:return this.popState(),55;break;case 83:return this.pushState("text"),54;break;case 84:return this.popState(),57;break;case 85:return this.pushState("text"),56;break;case 86:return 58;case 87:return this.pushState("text"),67;break;case 88:return this.popState(),64;break;case 89:return this.pushState("text"),63;break;case 90:return this.popState(),49;break;case 91:return this.pushState("text"),48;break;case 92:return this.popState(),69;break;case 93:return this.popState(),71;break;case 94:return 117;case 95:return this.pushState("trapText"),68;break;case 96:return this.pushState("trapText"),70;break;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;break;case 109:return this.pushState("text"),62;break;case 110:return this.popState(),51;break;case 111:return this.pushState("text"),50;break;case 112:return this.popState(),31;break;case 113:return this.pushState("text"),29;break;case 114:return this.popState(),66;break;case 115:return this.pushState("text"),65;break;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 Pt})();Ki.lexer=Da;function Dn(){this.yy={}}return o(Dn,"Parser"),Dn.prototype=Ki,Ki.Parser=Dn,new Dn})();NB.parser=NB;MB=NB});var Bge,Fge,$ge=O(()=>{"use strict";Pge();Bge=Object.assign({},MB);Bge.parse=t=>{let e=t.replace(/}\s*\n/g,`} +`);return MB.parse(e)};Fge=Bge});var Lu,ly=O(()=>{"use strict";Lu=o(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; @@ -857,7 +856,7 @@ Expecting `+A3.join(", ")+", got '"+(this.terminals_[ys]||ys)+"'":D8="Parse erro stroke: revert; stroke-width: revert; } -`,"getIconStyles")});var cJe,uJe,rge,nge=I(()=>{"use strict";_o();ey();cJe=o((t,e)=>{let r=Ep,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return vs(n,i,a,e)},"fade"),uJe=o(t=>`.label { +`,"getIconStyles")});var Xet,Ket,zge,Gge=O(()=>{"use strict";Ys();ly();Xet=o((t,e)=>{let r=_p,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return bs(n,i,a,e)},"fade"),Ket=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -944,7 +943,7 @@ Expecting `+A3.join(", ")+", got '"+(this.terminals_[ys]||ys)+"'":D8="Parse erro /* For html labels only */ .labelBkg { - background-color: ${cJe(t.edgeLabelBackground,.5)}; + background-color: ${Xet(t.edgeLabelBackground,.5)}; // background-color: } @@ -996,20 +995,20 @@ Expecting `+A3.join(", ")+", got '"+(this.terminals_[ys]||ys)+"'":D8="Parse erro background-color: ${t.edgeLabelBackground}; padding: 2px; } - rect { + .label rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; fill: ${t.edgeLabelBackground}; } text-align: center; } - ${Su()} -`,"getStyles"),rge=uJe});var uC={};vr(uC,{diagram:()=>hJe});var hJe,hC=I(()=>{"use strict";Qt();Sse();Qme();tge();nge();hJe={parser:ege,get db(){return new Hk},renderer:Kme,styles:rge,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&A2({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,A2({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}});var vB,lge,cge=I(()=>{"use strict";vB=(function(){var t=o(function(Q,le,J,ge){for(J=J||{},ge=Q.length;ge--;J[Q[ge]]=le);return J},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,20],l=[1,21],u=[1,22],h=[1,23],f=[1,24],d=[1,19],p=[1,25],m=[1,26],g=[1,18],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],E=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],w=[1,42],k=[1,43],C=[1,52],D=[40,50,68,69],R=[1,63],O=[1,61],L=[1,58],S=[1,62],A=[1,64],_=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],N=[63,64,65,66,67],M=[1,81],P=[1,80],B=[1,78],F=[1,79],G=[6,10,42,47],$=[6,10,13,41,42,47,48,49],V=[1,89],K=[1,88],ee=[1,87],H=[19,56],he=[1,98],Z=[1,97],de=[19,56,58,60],re={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:o(function(le,J,ge,ie,Te,j,Ge){var ye=j.length-1;switch(Te){case 1:break;case 2:this.$=[];break;case 3:j[ye-1].push(j[ye]),this.$=j[ye-1];break;case 4:case 5:this.$=j[ye];break;case 6:case 7:this.$=[];break;case 8:ie.addEntity(j[ye-4]),ie.addEntity(j[ye-2]),ie.addRelationship(j[ye-4],j[ye],j[ye-2],j[ye-3]);break;case 9:ie.addEntity(j[ye-8]),ie.addEntity(j[ye-4]),ie.addRelationship(j[ye-8],j[ye],j[ye-4],j[ye-5]),ie.setClass([j[ye-8]],j[ye-6]),ie.setClass([j[ye-4]],j[ye-2]);break;case 10:ie.addEntity(j[ye-6]),ie.addEntity(j[ye-2]),ie.addRelationship(j[ye-6],j[ye],j[ye-2],j[ye-3]),ie.setClass([j[ye-6]],j[ye-4]);break;case 11:ie.addEntity(j[ye-6]),ie.addEntity(j[ye-4]),ie.addRelationship(j[ye-6],j[ye],j[ye-4],j[ye-5]),ie.setClass([j[ye-4]],j[ye-2]);break;case 12:ie.addEntity(j[ye-3]),ie.addAttributes(j[ye-3],j[ye-1]);break;case 13:ie.addEntity(j[ye-5]),ie.addAttributes(j[ye-5],j[ye-1]),ie.setClass([j[ye-5]],j[ye-3]);break;case 14:ie.addEntity(j[ye-2]);break;case 15:ie.addEntity(j[ye-4]),ie.setClass([j[ye-4]],j[ye-2]);break;case 16:ie.addEntity(j[ye]);break;case 17:ie.addEntity(j[ye-2]),ie.setClass([j[ye-2]],j[ye]);break;case 18:ie.addEntity(j[ye-6],j[ye-4]),ie.addAttributes(j[ye-6],j[ye-1]);break;case 19:ie.addEntity(j[ye-8],j[ye-6]),ie.addAttributes(j[ye-8],j[ye-1]),ie.setClass([j[ye-8]],j[ye-3]);break;case 20:ie.addEntity(j[ye-5],j[ye-3]);break;case 21:ie.addEntity(j[ye-7],j[ye-5]),ie.setClass([j[ye-7]],j[ye-2]);break;case 22:ie.addEntity(j[ye-3],j[ye-1]);break;case 23:ie.addEntity(j[ye-5],j[ye-3]),ie.setClass([j[ye-5]],j[ye]);break;case 24:case 25:this.$=j[ye].trim(),ie.setAccTitle(this.$);break;case 26:case 27:this.$=j[ye].trim(),ie.setAccDescription(this.$);break;case 32:ie.setDirection("TB");break;case 33:ie.setDirection("BT");break;case 34:ie.setDirection("RL");break;case 35:ie.setDirection("LR");break;case 36:this.$=j[ye-3],ie.addClass(j[ye-2],j[ye-1]);break;case 37:case 38:case 56:case 64:this.$=[j[ye]];break;case 39:case 40:this.$=j[ye-2].concat([j[ye]]);break;case 41:this.$=j[ye-2],ie.setClass(j[ye-1],j[ye]);break;case 42:this.$=j[ye-3],ie.addCssStyles(j[ye-2],j[ye-1]);break;case 43:this.$=[j[ye]];break;case 44:j[ye-2].push(j[ye]),this.$=j[ye-2];break;case 46:this.$=j[ye-1]+j[ye];break;case 54:case 76:case 77:this.$=j[ye].replace(/"/g,"");break;case 55:case 78:this.$=j[ye];break;case 57:j[ye].push(j[ye-1]),this.$=j[ye];break;case 58:this.$={type:j[ye-1],name:j[ye]};break;case 59:this.$={type:j[ye-2],name:j[ye-1],keys:j[ye]};break;case 60:this.$={type:j[ye-2],name:j[ye-1],comment:j[ye]};break;case 61:this.$={type:j[ye-3],name:j[ye-2],keys:j[ye-1],comment:j[ye]};break;case 62:case 63:case 66:this.$=j[ye];break;case 65:j[ye-2].push(j[ye]),this.$=j[ye-2];break;case 67:this.$=j[ye].replace(/"/g,"");break;case 68:this.$={cardA:j[ye],relType:j[ye-1],cardB:j[ye-2]};break;case 69:this.$=ie.Cardinality.ZERO_OR_ONE;break;case 70:this.$=ie.Cardinality.ZERO_OR_MORE;break;case 71:this.$=ie.Cardinality.ONE_OR_MORE;break;case 72:this.$=ie.Cardinality.ONLY_ONE;break;case 73:this.$=ie.Cardinality.MD_PARENT;break;case 74:this.$=ie.Identification.NON_IDENTIFYING;break;case 75:this.$=ie.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,50:g},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:27,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,50:g},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:y,64:v,65:x,66:b,67:T}),{23:[1,38]},{25:[1,39]},{27:[1,40]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(E,[2,54]),t(E,[2,55]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:41,40:w,41:k},{16:44,40:w,41:k},{16:45,40:w,41:k},t(e,[2,4]),{11:46,40:d,50:g},{16:47,40:w,41:k},{18:48,19:[1,49],51:50,52:51,56:C},{11:53,40:d,50:g},{62:54,68:[1,55],69:[1,56]},t(D,[2,69]),t(D,[2,70]),t(D,[2,71]),t(D,[2,72]),t(D,[2,73]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:R,38:57,41:O,42:L,45:59,46:60,48:S,49:A},t(_,[2,37]),t(_,[2,38]),{16:65,40:w,41:k,42:L},{13:R,38:66,41:O,42:L,45:59,46:60,48:S,49:A},{13:[1,67],15:[1,68]},t(e,[2,17],{61:32,12:69,17:[1,70],42:L,63:y,64:v,65:x,66:b,67:T}),{19:[1,71]},t(e,[2,14]),{18:72,19:[2,56],51:50,52:51,56:C},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:y,64:v,65:x,66:b,67:T},t(N,[2,74]),t(N,[2,75]),{6:M,10:P,39:77,42:B,47:F},{40:[1,82],41:[1,83]},t(G,[2,43],{46:84,13:R,41:O,48:S,49:A}),t($,[2,45]),t($,[2,50]),t($,[2,51]),t($,[2,52]),t($,[2,53]),t(e,[2,41],{42:L}),{6:M,10:P,39:85,42:B,47:F},{14:86,40:V,50:K,70:ee},{16:90,40:w,41:k},{11:91,40:d,50:g},{18:92,19:[1,93],51:50,52:51,56:C},t(e,[2,12]),{19:[2,57]},t(H,[2,58],{54:94,55:95,57:96,59:he,60:Z}),t([19,56,59,60],[2,63]),t(e,[2,22],{15:[1,100],17:[1,99]}),t([40,50],[2,68]),t(e,[2,36]),{13:R,41:O,45:101,46:60,48:S,49:A},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(_,[2,39]),t(_,[2,40]),t($,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,76]),t(e,[2,77]),t(e,[2,78]),{13:[1,102],42:L},{13:[1,104],15:[1,103]},{19:[1,105]},t(e,[2,15]),t(H,[2,59],{55:106,58:[1,107],60:Z}),t(H,[2,60]),t(de,[2,64]),t(H,[2,67]),t(de,[2,66]),{18:108,19:[1,109],51:50,52:51,56:C},{16:110,40:w,41:k},t(G,[2,44],{46:84,13:R,41:O,48:S,49:A}),{14:111,40:V,50:K,70:ee},{16:112,40:w,41:k},{14:113,40:V,50:K,70:ee},t(e,[2,13]),t(H,[2,61]),{57:114,59:he},{19:[1,115]},t(e,[2,20]),t(e,[2,23],{17:[1,116],42:L}),t(e,[2,11]),{13:[1,117],42:L},t(e,[2,10]),t(de,[2,65]),t(e,[2,18]),{18:118,19:[1,119],51:50,52:51,56:C},{14:120,40:V,50:K,70:ee},{19:[1,121]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:o(function(le,J){if(J.recoverable)this.trace(le);else{var ge=new Error(le);throw ge.hash=J,ge}},"parseError"),parse:o(function(le){var J=this,ge=[0],ie=[],Te=[null],j=[],Ge=this.table,ye="",$e=0,Xe=0,Ue=0,Le=2,Ie=1,Me=j.slice.call(arguments,1),Ae=Object.create(this.lexer),ze={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(ze.yy[Y]=this.yy[Y]);Ae.setInput(le,ze.yy),ze.yy.lexer=Ae,ze.yy.parser=this,typeof Ae.yylloc>"u"&&(Ae.yylloc={});var ce=Ae.yylloc;j.push(ce);var U=Ae.options&&Ae.options.ranges;typeof ze.yy.parseError=="function"?this.parseError=ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(rt){ge.length=ge.length-2*rt,Te.length=Te.length-rt,j.length=j.length-rt}o(ue,"popStack");function z(){var rt;return rt=ie.pop()||Ae.lex()||Ie,typeof rt!="number"&&(rt instanceof Array&&(ie=rt,rt=ie.pop()),rt=J.symbols_[rt]||rt),rt}o(z,"lex");for(var se,oe,be,pe,me,De,Ce={},Fe,Ye,xt,je;;){if(be=ge[ge.length-1],this.defaultActions[be]?pe=this.defaultActions[be]:((se===null||typeof se>"u")&&(se=z()),pe=Ge[be]&&Ge[be][se]),typeof pe>"u"||!pe.length||!pe[0]){var Pe="";je=[];for(Fe in Ge[be])this.terminals_[Fe]&&Fe>Le&&je.push("'"+this.terminals_[Fe]+"'");Ae.showPosition?Pe="Parse error on line "+($e+1)+`: -`+Ae.showPosition()+` -Expecting `+je.join(", ")+", got '"+(this.terminals_[se]||se)+"'":Pe="Parse error on line "+($e+1)+": Unexpected "+(se==Ie?"end of input":"'"+(this.terminals_[se]||se)+"'"),this.parseError(Pe,{text:Ae.match,token:this.terminals_[se]||se,line:Ae.yylineno,loc:ce,expected:je})}if(pe[0]instanceof Array&&pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+be+", token: "+se);switch(pe[0]){case 1:ge.push(se),Te.push(Ae.yytext),j.push(Ae.yylloc),ge.push(pe[1]),se=null,oe?(se=oe,oe=null):(Xe=Ae.yyleng,ye=Ae.yytext,$e=Ae.yylineno,ce=Ae.yylloc,Ue>0&&Ue--);break;case 2:if(Ye=this.productions_[pe[1]][1],Ce.$=Te[Te.length-Ye],Ce._$={first_line:j[j.length-(Ye||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Ye||1)].first_column,last_column:j[j.length-1].last_column},U&&(Ce._$.range=[j[j.length-(Ye||1)].range[0],j[j.length-1].range[1]]),De=this.performAction.apply(Ce,[ye,Xe,$e,ze.yy,pe[1],Te,j].concat(Me)),typeof De<"u")return De;Ye&&(ge=ge.slice(0,-1*Ye*2),Te=Te.slice(0,-1*Ye),j=j.slice(0,-1*Ye)),ge.push(this.productions_[pe[1]][0]),Te.push(Ce.$),j.push(Ce._$),xt=Ge[ge[ge.length-2]][ge[ge.length-1]],ge.push(xt);break;case 3:return!0}}return!0},"parse")},ne=(function(){var Q={EOF:1,parseError:o(function(J,ge){if(this.yy.parser)this.yy.parser.parseError(J,ge);else throw new Error(J)},"parseError"),setInput:o(function(le,J){return this.yy=J||this.yy||{},this._input=le,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var le=this._input[0];this.yytext+=le,this.yyleng++,this.offset++,this.match+=le,this.matched+=le;var J=le.match(/(?:\r\n?|\n).*/g);return J?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),le},"input"),unput:o(function(le){var J=le.length,ge=le.split(/(?:\r\n?|\n)/g);this._input=le+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-J),this.offset-=J;var ie=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),ge.length-1&&(this.yylineno-=ge.length-1);var Te=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ge?(ge.length===ie.length?this.yylloc.first_column:0)+ie[ie.length-ge.length].length-ge[0].length:this.yylloc.first_column-J},this.options.ranges&&(this.yylloc.range=[Te[0],Te[0]+this.yyleng-J]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(le){this.unput(this.match.slice(le))},"less"),pastInput:o(function(){var le=this.matched.substr(0,this.matched.length-this.match.length);return(le.length>20?"...":"")+le.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var le=this.match;return le.length<20&&(le+=this._input.substr(0,20-le.length)),(le.substr(0,20)+(le.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var le=this.pastInput(),J=new Array(le.length+1).join("-");return le+this.upcomingInput()+` -`+J+"^"},"showPosition"),test_match:o(function(le,J){var ge,ie,Te;if(this.options.backtrack_lexer&&(Te={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Te.yylloc.range=this.yylloc.range.slice(0))),ie=le[0].match(/(?:\r\n?|\n).*/g),ie&&(this.yylineno+=ie.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ie?ie[ie.length-1].length-ie[ie.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+le[0].length},this.yytext+=le[0],this.match+=le[0],this.matches=le,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(le[0].length),this.matched+=le[0],ge=this.performAction.call(this,this.yy,this,J,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ge)return ge;if(this._backtrack){for(var j in Te)this[j]=Te[j];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var le,J,ge,ie;this._more||(this.yytext="",this.match="");for(var Te=this._currentRules(),j=0;jJ[0].length)){if(J=ge,ie=j,this.options.backtrack_lexer){if(le=this.test_match(ge,Te[j]),le!==!1)return le;if(this._backtrack){J=!1;continue}else return!1}else if(!this.options.flex)break}return J?(le=this.test_match(J,Te[ie]),le!==!1?le:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var J=this.next();return J||this.lex()},"lex"),begin:o(function(J){this.conditionStack.push(J)},"begin"),popState:o(function(){var J=this.conditionStack.length-1;return J>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(J){return J=this.conditionStack.length-1-Math.abs(J||0),J>=0?this.conditionStack[J]:"INITIAL"},"topState"),pushState:o(function(J){this.begin(J)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(J,ge,ie,Te){var j=Te;switch(ie){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;break;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 59;case 25:return 56;case 26:return 56;case 27:return 60;case 28:break;case 29:return this.popState(),19;break;case 30:return ge.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;break;case 34:return this.popState(),10;break;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;break;case 40:return 43;case 41:return 63;case 42:return 65;case 43:return 65;case 44:return 65;case 45:return 63;case 46:return 63;case 47:return 64;case 48:return 64;case 49:return 64;case 50:return 64;case 51:return 64;case 52:return 65;case 53:return 64;case 54:return 65;case 55:return 66;case 56:return 66;case 57:return 66;case 58:return 66;case 59:return 63;case 60:return 64;case 61:return 65;case 62:return 67;case 63:return 68;case 64:return 69;case 65:return 69;case 66:return 68;case 67:return 68;case 68:return 68;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 73:return ge.yytext[0];case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}};return Q})();re.lexer=ne;function te(){this.yy={}}return o(te,"Parser"),te.prototype=re,re.Parser=te,new te})();vB.parser=vB;lge=vB});var fC,uge=I(()=>{"use strict";gt();Qt();ki();sr();fC=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=zr;this.getAccTitle=Vr;this.setAccDescription=qr;this.getAccDescription=Ur;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getConfig=o(()=>xe().er,"getConfig");this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"ErDB")}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,X.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:xe().look??"default",cssClasses:"default",cssStyles:[]}),X.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){let n=this.addEntity(e),i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),X.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){let a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;let l={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(l),X.debug("Added new relationship :",l)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(let n of e){let i=this.entities.get(n);if(!r||!i)return;for(let a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(let n of e){let i=this.entities.get(n);if(i)for(let a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Mr()}getData(){let e=[],r=[],n=xe();for(let a of this.entities.keys()){let s=this.entities.get(a);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),e.push(s))}let i=0;for(let a of this.relationships){let s={id:nu(a.entityA,a.entityB,{prefix:"id",counter:i++}),type:"normal",curve:"basis",start:a.entityA,end:a.entityB,label:a.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:a.relSpec.cardB.toLowerCase(),arrowTypeEnd:a.relSpec.cardA.toLowerCase(),pattern:a.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}}});var xB={};vr(xB,{draw:()=>vJe});var vJe,hge=I(()=>{"use strict";Qt();gt();y0();Cd();Ad();sr();kr();vJe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing er diagram (unified)",e);let{securityLevel:i,er:a,layout:s}=xe(),l=n.db.getData(),u=xl(e,i);l.type=n.type,l.layoutAlgorithm=ku(s),l.config.flowchart.nodeSpacing=a?.nodeSpacing||140,l.config.flowchart.rankSpacing=a?.rankSpacing||80,l.direction=n.db.getDirection(),l.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],l.diagramId=e,await _l(l,u),l.layoutAlgorithm==="elk"&&u.select(".edges").lower();let h=u.selectAll('[id*="-background"]');Array.from(h).length>0&&h.each(function(){let d=He(this),m=d.attr("id").replace("-background",""),g=u.select(`#${CSS.escape(m)}`);if(!g.empty()){let y=g.attr("transform");d.attr("transform",y)}});let f=8;jt.insertTitle(u,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),mo(u,f,"erDiagram",a?.useMaxWidth??!0)},"draw")});var xJe,bJe,fge,dge=I(()=>{"use strict";_o();xJe=o((t,e)=>{let r=Ep,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return vs(n,i,a,e)},"fade"),bJe=o(t=>` + ${Lu()} +`,"getStyles"),zge=Ket});var kC={};vr(kC,{diagram:()=>Qet});var Qet,EC=O(()=>{"use strict";jt();loe();Oge();$ge();Gge();Qet={parser:Fge,get db(){return new sE},renderer:Ige,styles:zge,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&z2({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,z2({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}});var IB,Hge,Yge=O(()=>{"use strict";IB=(function(){var t=o(function(Se,Me,ke,we){for(ke=ke||{},we=Se.length;we--;ke[Se[we]]=Me);return ke},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],l=[1,24],u=[1,25],h=[1,26],f=[1,27],d=[1,19],p=[1,28],m=[1,29],g=[1,20],y=[1,18],v=[1,21],x=[1,22],b=[1,36],T=[1,37],E=[1,38],w=[1,39],k=[1,40],S=[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],A=[1,45],L=[1,46],I=[1,55],N=[40,48,50,51,52,70,71],C=[1,66],_=[1,64],D=[1,61],M=[1,65],R=[1,67],P=[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],B=[65,66,67,68,69],F=[1,84],G=[1,83],$=[1,81],V=[1,82],X=[6,10,42,47],Q=[6,10,13,41,42,47,48,49],H=[1,92],ie=[1,91],Y=[1,90],le=[19,58],ee=[1,101],J=[1,100],te=[19,58,60,62],Z={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,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:o(function(Me,ke,we,_e,$e,fe,Ke){var Te=fe.length-1;switch($e){case 1:break;case 2:this.$=[];break;case 3:fe[Te-1].push(fe[Te]),this.$=fe[Te-1];break;case 4:case 5:this.$=fe[Te];break;case 6:case 7:this.$=[];break;case 8:_e.addEntity(fe[Te-4]),_e.addEntity(fe[Te-2]),_e.addRelationship(fe[Te-4],fe[Te],fe[Te-2],fe[Te-3]);break;case 9:_e.addEntity(fe[Te-8]),_e.addEntity(fe[Te-4]),_e.addRelationship(fe[Te-8],fe[Te],fe[Te-4],fe[Te-5]),_e.setClass([fe[Te-8]],fe[Te-6]),_e.setClass([fe[Te-4]],fe[Te-2]);break;case 10:_e.addEntity(fe[Te-6]),_e.addEntity(fe[Te-2]),_e.addRelationship(fe[Te-6],fe[Te],fe[Te-2],fe[Te-3]),_e.setClass([fe[Te-6]],fe[Te-4]);break;case 11:_e.addEntity(fe[Te-6]),_e.addEntity(fe[Te-4]),_e.addRelationship(fe[Te-6],fe[Te],fe[Te-4],fe[Te-5]),_e.setClass([fe[Te-4]],fe[Te-2]);break;case 12:_e.addEntity(fe[Te-3]),_e.addAttributes(fe[Te-3],fe[Te-1]);break;case 13:_e.addEntity(fe[Te-5]),_e.addAttributes(fe[Te-5],fe[Te-1]),_e.setClass([fe[Te-5]],fe[Te-3]);break;case 14:_e.addEntity(fe[Te-2]);break;case 15:_e.addEntity(fe[Te-4]),_e.setClass([fe[Te-4]],fe[Te-2]);break;case 16:_e.addEntity(fe[Te]);break;case 17:_e.addEntity(fe[Te-2]),_e.setClass([fe[Te-2]],fe[Te]);break;case 18:_e.addEntity(fe[Te-6],fe[Te-4]),_e.addAttributes(fe[Te-6],fe[Te-1]);break;case 19:_e.addEntity(fe[Te-8],fe[Te-6]),_e.addAttributes(fe[Te-8],fe[Te-1]),_e.setClass([fe[Te-8]],fe[Te-3]);break;case 20:_e.addEntity(fe[Te-5],fe[Te-3]);break;case 21:_e.addEntity(fe[Te-7],fe[Te-5]),_e.setClass([fe[Te-7]],fe[Te-2]);break;case 22:_e.addEntity(fe[Te-3],fe[Te-1]);break;case 23:_e.addEntity(fe[Te-5],fe[Te-3]),_e.setClass([fe[Te-5]],fe[Te]);break;case 24:case 25:this.$=fe[Te].trim(),_e.setAccTitle(this.$);break;case 26:case 27:this.$=fe[Te].trim(),_e.setAccDescription(this.$);break;case 32:_e.setDirection("TB");break;case 33:_e.setDirection("BT");break;case 34:_e.setDirection("RL");break;case 35:_e.setDirection("LR");break;case 36:this.$=fe[Te-3],_e.addClass(fe[Te-2],fe[Te-1]);break;case 37:case 38:case 59:case 67:this.$=[fe[Te]];break;case 39:case 40:this.$=fe[Te-2].concat([fe[Te]]);break;case 41:this.$=fe[Te-2],_e.setClass(fe[Te-1],fe[Te]);break;case 42:this.$=fe[Te-3],_e.addCssStyles(fe[Te-2],fe[Te-1]);break;case 43:this.$=[fe[Te]];break;case 44:fe[Te-2].push(fe[Te]),this.$=fe[Te-2];break;case 46:this.$=fe[Te-1]+fe[Te];break;case 54:case 79:case 80:this.$=fe[Te].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=fe[Te];break;case 60:fe[Te].push(fe[Te-1]),this.$=fe[Te];break;case 61:this.$={type:fe[Te-1],name:fe[Te]};break;case 62:this.$={type:fe[Te-2],name:fe[Te-1],keys:fe[Te]};break;case 63:this.$={type:fe[Te-2],name:fe[Te-1],comment:fe[Te]};break;case 64:this.$={type:fe[Te-3],name:fe[Te-2],keys:fe[Te-1],comment:fe[Te]};break;case 65:case 66:case 69:this.$=fe[Te];break;case 68:fe[Te-2].push(fe[Te]),this.$=fe[Te-2];break;case 70:this.$=fe[Te].replace(/"/g,"");break;case 71:this.$={cardA:fe[Te],relType:fe[Te-1],cardB:fe[Te-2]};break;case 72:this.$=_e.Cardinality.ZERO_OR_ONE;break;case 73:this.$=_e.Cardinality.ZERO_OR_MORE;break;case 74:this.$=_e.Cardinality.ONE_OR_MORE;break;case 75:this.$=_e.Cardinality.ONLY_ONE;break;case 76:this.$=_e.Cardinality.MD_PARENT;break;case 77:this.$=_e.Identification.NON_IDENTIFYING;break;case 78:this.$=_e.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,48:g,50:y,51:v,52:x},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,48:g,50:y,51:v,52:x},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:b,66:T,67:E,68:w,69:k}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(S,[2,54]),t(S,[2,55]),t(S,[2,56]),t(S,[2,57]),t(S,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:A,41:L},{16:47,40:A,41:L},{16:48,40:A,41:L},t(e,[2,4]),{11:49,40:d,48:g,50:y,51:v,52:x},{16:50,40:A,41:L},{18:51,19:[1,52],53:53,54:54,58:I},{11:56,40:d,48:g,50:y,51:v,52:x},{64:57,70:[1,58],71:[1,59]},t(N,[2,72]),t(N,[2,73]),t(N,[2,74]),t(N,[2,75]),t(N,[2,76]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:C,38:60,41:_,42:D,45:62,46:63,48:M,49:R},t(P,[2,37]),t(P,[2,38]),{16:68,40:A,41:L,42:D},{13:C,38:69,41:_,42:D,45:62,46:63,48:M,49:R},{13:[1,70],15:[1,71]},t(e,[2,17],{63:35,12:72,17:[1,73],42:D,65:b,66:T,67:E,68:w,69:k}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:I},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:b,66:T,67:E,68:w,69:k},t(B,[2,77]),t(B,[2,78]),{6:F,10:G,39:80,42:$,47:V},{40:[1,85],41:[1,86]},t(X,[2,43],{46:87,13:C,41:_,48:M,49:R}),t(Q,[2,45]),t(Q,[2,50]),t(Q,[2,51]),t(Q,[2,52]),t(Q,[2,53]),t(e,[2,41],{42:D}),{6:F,10:G,39:88,42:$,47:V},{14:89,40:H,50:ie,72:Y},{16:93,40:A,41:L},{11:94,40:d,48:g,50:y,51:v,52:x},{18:95,19:[1,96],53:53,54:54,58:I},t(e,[2,12]),{19:[2,60]},t(le,[2,61],{56:97,57:98,59:99,61:ee,62:J}),t([19,58,61,62],[2,66]),t(e,[2,22],{15:[1,103],17:[1,102]}),t([40,48,50,51,52],[2,71]),t(e,[2,36]),{13:C,41:_,45:104,46:63,48:M,49:R},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(P,[2,39]),t(P,[2,40]),t(Q,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,79]),t(e,[2,80]),t(e,[2,81]),{13:[1,105],42:D},{13:[1,107],15:[1,106]},{19:[1,108]},t(e,[2,15]),t(le,[2,62],{57:109,60:[1,110],62:J}),t(le,[2,63]),t(te,[2,67]),t(le,[2,70]),t(te,[2,69]),{18:111,19:[1,112],53:53,54:54,58:I},{16:113,40:A,41:L},t(X,[2,44],{46:87,13:C,41:_,48:M,49:R}),{14:114,40:H,50:ie,72:Y},{16:115,40:A,41:L},{14:116,40:H,50:ie,72:Y},t(e,[2,13]),t(le,[2,64]),{59:117,61:ee},{19:[1,118]},t(e,[2,20]),t(e,[2,23],{17:[1,119],42:D}),t(e,[2,11]),{13:[1,120],42:D},t(e,[2,10]),t(te,[2,68]),t(e,[2,18]),{18:121,19:[1,122],53:53,54:54,58:I},{14:123,40:H,50:ie,72:Y},{19:[1,124]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:o(function(Me,ke){if(ke.recoverable)this.trace(Me);else{var we=new Error(Me);throw we.hash=ke,we}},"parseError"),parse:o(function(Me){var ke=this,we=[0],_e=[],$e=[null],fe=[],Ke=this.table,Te="",Be=0,Ue=0,Ge=0,Ne=2,We=1,j=fe.slice.call(arguments,1),ae=Object.create(this.lexer),U={yy:{}};for(var ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ce)&&(U.yy[ce]=this.yy[ce]);ae.setInput(Me,U.yy),U.yy.lexer=ae,U.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var z=ae.yylloc;fe.push(z);var ne=ae.options&&ae.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function se(Dt){we.length=we.length-2*Dt,$e.length=$e.length-Dt,fe.length=fe.length-Dt}o(se,"popStack");function be(){var Dt;return Dt=_e.pop()||ae.lex()||We,typeof Dt!="number"&&(Dt instanceof Array&&(_e=Dt,Dt=_e.pop()),Dt=ke.symbols_[Dt]||Dt),Dt}o(be,"lex");for(var pe,me,Re,ge,Ie,qe,Pe={},Xe,oe,et,he;;){if(Re=we[we.length-1],this.defaultActions[Re]?ge=this.defaultActions[Re]:((pe===null||typeof pe>"u")&&(pe=be()),ge=Ke[Re]&&Ke[Re][pe]),typeof ge>"u"||!ge.length||!ge[0]){var ot="";he=[];for(Xe in Ke[Re])this.terminals_[Xe]&&Xe>Ne&&he.push("'"+this.terminals_[Xe]+"'");ae.showPosition?ot="Parse error on line "+(Be+1)+`: +`+ae.showPosition()+` +Expecting `+he.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":ot="Parse error on line "+(Be+1)+": Unexpected "+(pe==We?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(ot,{text:ae.match,token:this.terminals_[pe]||pe,line:ae.yylineno,loc:z,expected:he})}if(ge[0]instanceof Array&&ge.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Re+", token: "+pe);switch(ge[0]){case 1:we.push(pe),$e.push(ae.yytext),fe.push(ae.yylloc),we.push(ge[1]),pe=null,me?(pe=me,me=null):(Ue=ae.yyleng,Te=ae.yytext,Be=ae.yylineno,z=ae.yylloc,Ge>0&&Ge--);break;case 2:if(oe=this.productions_[ge[1]][1],Pe.$=$e[$e.length-oe],Pe._$={first_line:fe[fe.length-(oe||1)].first_line,last_line:fe[fe.length-1].last_line,first_column:fe[fe.length-(oe||1)].first_column,last_column:fe[fe.length-1].last_column},ne&&(Pe._$.range=[fe[fe.length-(oe||1)].range[0],fe[fe.length-1].range[1]]),qe=this.performAction.apply(Pe,[Te,Ue,Be,U.yy,ge[1],$e,fe].concat(j)),typeof qe<"u")return qe;oe&&(we=we.slice(0,-1*oe*2),$e=$e.slice(0,-1*oe),fe=fe.slice(0,-1*oe)),we.push(this.productions_[ge[1]][0]),$e.push(Pe.$),fe.push(Pe._$),et=Ke[we[we.length-2]][we[we.length-1]],we.push(et);break;case 3:return!0}}return!0},"parse")},xe=(function(){var Se={EOF:1,parseError:o(function(ke,we){if(this.yy.parser)this.yy.parser.parseError(ke,we);else throw new Error(ke)},"parseError"),setInput:o(function(Me,ke){return this.yy=ke||this.yy||{},this._input=Me,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 Me=this._input[0];this.yytext+=Me,this.yyleng++,this.offset++,this.match+=Me,this.matched+=Me;var ke=Me.match(/(?:\r\n?|\n).*/g);return ke?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Me},"input"),unput:o(function(Me){var ke=Me.length,we=Me.split(/(?:\r\n?|\n)/g);this._input=Me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ke),this.offset-=ke;var _e=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),we.length-1&&(this.yylineno-=we.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:we?(we.length===_e.length?this.yylloc.first_column:0)+_e[_e.length-we.length].length-we[0].length:this.yylloc.first_column-ke},this.options.ranges&&(this.yylloc.range=[$e[0],$e[0]+this.yyleng-ke]),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(Me){this.unput(this.match.slice(Me))},"less"),pastInput:o(function(){var Me=this.matched.substr(0,this.matched.length-this.match.length);return(Me.length>20?"...":"")+Me.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Me=this.match;return Me.length<20&&(Me+=this._input.substr(0,20-Me.length)),(Me.substr(0,20)+(Me.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Me=this.pastInput(),ke=new Array(Me.length+1).join("-");return Me+this.upcomingInput()+` +`+ke+"^"},"showPosition"),test_match:o(function(Me,ke){var we,_e,$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))),_e=Me[0].match(/(?:\r\n?|\n).*/g),_e&&(this.yylineno+=_e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_e?_e[_e.length-1].length-_e[_e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Me[0].length},this.yytext+=Me[0],this.match+=Me[0],this.matches=Me,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(Me[0].length),this.matched+=Me[0],we=this.performAction.call(this,this.yy,this,ke,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),we)return we;if(this._backtrack){for(var fe in $e)this[fe]=$e[fe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Me,ke,we,_e;this._more||(this.yytext="",this.match="");for(var $e=this._currentRules(),fe=0;fe<$e.length;fe++)if(we=this._input.match(this.rules[$e[fe]]),we&&(!ke||we[0].length>ke[0].length)){if(ke=we,_e=fe,this.options.backtrack_lexer){if(Me=this.test_match(we,$e[fe]),Me!==!1)return Me;if(this._backtrack){ke=!1;continue}else return!1}else if(!this.options.flex)break}return ke?(Me=this.test_match(ke,$e[_e]),Me!==!1?Me:!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 ke=this.next();return ke||this.lex()},"lex"),begin:o(function(ke){this.conditionStack.push(ke)},"begin"),popState:o(function(){var ke=this.conditionStack.length-1;return ke>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(ke){return ke=this.conditionStack.length-1-Math.abs(ke||0),ke>=0?this.conditionStack[ke]:"INITIAL"},"topState"),pushState:o(function(ke){this.begin(ke)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(ke,we,_e,$e){var fe=$e;switch(_e){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;break;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;break;case 30:return we.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;break;case 34:return this.popState(),10;break;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;break;case 40:return 43;case 41:return 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 52;case 61:return 48;case 62:return 68;case 63:return 65;case 64:return 66;case 65:return 67;case 66:return 69;case 67:return 70;case 68:return 71;case 69:return 71;case 70:return 70;case 71:return 70;case 72:return 70;case 73:return 41;case 74:return 47;case 75:return 40;case 76:return we.yytext[0];case 77: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(?=(--|\.\.|\.-|-\.)))/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,73,74],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,75,76,77],inclusive:!0}}};return Se})();Z.lexer=xe;function de(){this.yy={}}return o(de,"Parser"),de.prototype=Z,Z.Parser=de,new de})();IB.parser=IB;Hge=IB});var SC,jge=O(()=>{"use strict";xt();jt();si();ar();SC=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=Lr;this.getAccTitle=Or;this.setAccDescription=Pr;this.getAccDescription=Br;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getConfig=o(()=>ve().er,"getConfig");this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"ErDB")}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,K.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:ve().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),K.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){let n=this.addEntity(e),i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),K.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){let a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;let l={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(l),K.debug("Added new relationship :",l)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(let n of e){let i=this.entities.get(n);if(!r||!i)return;for(let a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(let n of e){let i=this.entities.get(n);if(i)for(let a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],_r()}getData(){let e=[],r=[],n=ve();for(let a of this.entities.keys()){let s=this.entities.get(a);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),e.push(s))}let i=0;for(let a of this.relationships){let s={id:hu(a.entityA,a.entityB,{prefix:"id",counter:i++}),type:"normal",curve:"basis",start:a.entityA,end:a.entityB,label:a.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:a.relSpec.cardB.toLowerCase(),arrowTypeEnd:a.relSpec.cardA.toLowerCase(),pattern:a.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}}});var OB={};vr(OB,{draw:()=>itt});var itt,Xge=O(()=>{"use strict";jt();xt();b0();Rd();Ld();ar();Ar();itt=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing er diagram (unified)",e);let{securityLevel:i,er:a,layout:s}=ve(),l=n.db.getData(),u=Sl(e,i);l.type=n.type,l.layoutAlgorithm=Ru(s),l.config.flowchart.nodeSpacing=a?.nodeSpacing||140,l.config.flowchart.rankSpacing=a?.rankSpacing||80,l.direction=n.db.getDirection(),l.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],l.diagramId=e,await Ol(l,u),l.layoutAlgorithm==="elk"&&u.select(".edges").lower();let h=u.selectAll('[id*="-background"]');Array.from(h).length>0&&h.each(function(){let d=je(this),m=d.attr("id").replace("-background",""),g=u.select(`#${CSS.escape(m)}`);if(!g.empty()){let y=g.attr("transform");d.attr("transform",y)}});let f=8;Xt.insertTitle(u,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),bo(u,f,"erDiagram",a?.useMaxWidth??!0)},"draw")});var att,stt,Kge,Qge=O(()=>{"use strict";Ys();att=o((t,e)=>{let r=_p,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return bs(n,i,a,e)},"fade"),stt=o(t=>` .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; @@ -1025,7 +1024,7 @@ Expecting `+je.join(", ")+", got '"+(this.terminals_[se]||se)+"'":Pe="Parse erro } .labelBkg { - background-color: ${xJe(t.tertiaryColor,.5)}; + background-color: ${att(t.tertiaryColor,.5)}; } .edgeLabel .label { @@ -1063,69 +1062,79 @@ Expecting `+je.join(", ")+", got '"+(this.terminals_[se]||se)+"'":Pe="Parse erro stroke: ${t.lineColor} !important; stroke-width: 1; } -`,"getStyles"),fge=bJe});var pge={};vr(pge,{diagram:()=>TJe});var TJe,mge=I(()=>{"use strict";cge();uge();hge();dge();TJe={parser:lge,get db(){return new fC},renderer:xB,styles:fge}});function bi(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ra(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Go(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function bB(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function W0(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}function pc(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function _d(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function e4(t){return pc(t)&&typeof t.fullText=="string"}var U0,mc=I(()=>{"use strict";o(bi,"isAstNode");o(ra,"isReference");o(Go,"isMultiReference");o(bB,"isAstNodeDescription");o(W0,"isLinkingError");U0=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return bi(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.types[e],s=a?a.superTypes.some(l=>this.isSubtype(l,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};o(pc,"isCompositeCstNode");o(_d,"isLeafCstNode");o(e4,"isRootCstNode")});function CJe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function dC(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Or(...t){if(t.length===1){let e=t[0];if(e instanceof Vo)return e;if(dC(e))return new Vo(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Vo(()=>({index:0}),r=>r.index1?new Vo(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";Vo=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return ss})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=CJe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?ss:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return ss})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(dC(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return ss})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(dC(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return ss})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?ss:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return ss})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};o(CJe,"toString");o(dC,"isIterable");Dd=new Vo(()=>{},()=>ss),ss=Object.freeze({done:!0,value:void 0});o(Or,"stream");Eu=class extends Vo{static{o(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return ss})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function n(a){return a.reduce((s,l)=>Math.min(s,l))}o(n,"min"),t.min=n;function i(a){return a.reduce((s,l)=>Math.max(s,l))}o(i,"max"),t.max=i})(ty||(ty={}))});var mC={};vr(mC,{assignMandatoryProperties:()=>kB,copyAstNode:()=>wB,findRootNode:()=>ny,getContainerOfType:()=>Ih,getDocument:()=>os,getReferenceNodes:()=>pC,hasContainerOfType:()=>AJe,linkContentToContainer:()=>ry,streamAllContents:()=>gc,streamAst:()=>Is,streamContents:()=>t4,streamReferences:()=>Rd});function ry(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{bi(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&ry(i,e))}):bi(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&ry(n,e)))}function Ih(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function AJe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function os(t){let r=ny(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ny(t){for(;t.$container;)t=t.$container;return t}function pC(t){return ra(t)?t.ref?[t.ref]:[]:Go(t)?t.items.map(e=>e.ref):[]}function t4(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new Vo(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndext4(r,e))}function Is(t,e){if(t){if(e?.range&&!TB(t,e.range))return new Eu(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Eu(t,r=>t4(r,e),{includeRoot:!0})}function TB(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?SB(r,e):!1}function Rd(t){return new Vo(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{"use strict";mc();Ms();yc();o(ry,"linkContentToContainer");o(Ih,"getContainerOfType");o(AJe,"hasContainerOfType");o(os,"getDocument");o(ny,"findRootNode");o(pC,"getReferenceNodes");o(t4,"streamContents");o(gc,"streamAllContents");o(Is,"streamAst");o(TB,"isAstNodeInRange");o(Rd,"streamReferences");o(kB,"assignMandatoryProperties");o(yge,"copyDefaultValue");o(wB,"copyAstNode")});var f4={};vr(f4,{AbstractElement:()=>go,AbstractParserRule:()=>r4,AbstractRule:()=>iy,AbstractType:()=>qo,Action:()=>Ld,Alternatives:()=>n4,ArrayLiteral:()=>gC,ArrayType:()=>yC,Assignment:()=>Nd,BooleanLiteral:()=>vC,CharacterRange:()=>Md,Condition:()=>Id,Conjunction:()=>i4,CrossReference:()=>Od,Disjunction:()=>a4,EndOfFile:()=>xC,Grammar:()=>Oh,GrammarImport:()=>bC,Group:()=>H0,InferredType:()=>TC,InfixRule:()=>Cu,InfixRuleOperatorList:()=>s4,InfixRuleOperators:()=>wC,Interface:()=>ay,Keyword:()=>sy,LangiumGrammarAstReflection:()=>hy,LangiumGrammarTerminals:()=>_Je,NamedArgument:()=>oy,NegatedToken:()=>Y0,Negation:()=>kC,NumberLiteral:()=>SC,Parameter:()=>ly,ParameterReference:()=>EC,ParserRule:()=>vc,ReferenceType:()=>o4,RegexToken:()=>j0,ReturnType:()=>CC,RuleCall:()=>X0,SimpleType:()=>cy,StringLiteral:()=>AC,TerminalAlternatives:()=>K0,TerminalElement:()=>yo,TerminalGroup:()=>Q0,TerminalRule:()=>Ph,TerminalRuleCall:()=>Z0,Type:()=>l4,TypeAttribute:()=>J0,TypeDefinition:()=>em,UnionType:()=>_C,UnorderedGroup:()=>c4,UntilToken:()=>tm,ValueLiteral:()=>rm,Wildcard:()=>uy,isAbstractElement:()=>u4,isAbstractParserRule:()=>Bh,isAbstractRule:()=>DJe,isAbstractType:()=>RJe,isAction:()=>Fh,isAlternatives:()=>DC,isArrayLiteral:()=>LJe,isArrayType:()=>EB,isAssignment:()=>xc,isBooleanLiteral:()=>CB,isCharacterRange:()=>AB,isCondition:()=>NJe,isConjunction:()=>_B,isCrossReference:()=>bc,isDisjunction:()=>DB,isEndOfFile:()=>RB,isGrammar:()=>MJe,isGrammarImport:()=>IJe,isGroup:()=>Pd,isInferredType:()=>h4,isInfixRule:()=>Bd,isInfixRuleOperatorList:()=>OJe,isInfixRuleOperators:()=>PJe,isInterface:()=>LB,isKeyword:()=>Dl,isNamedArgument:()=>BJe,isNegatedToken:()=>NB,isNegation:()=>MB,isNumberLiteral:()=>FJe,isParameter:()=>$Je,isParameterReference:()=>IB,isParserRule:()=>wa,isReferenceType:()=>OB,isRegexToken:()=>PB,isReturnType:()=>BB,isRuleCall:()=>Tc,isSimpleType:()=>RC,isStringLiteral:()=>zJe,isTerminalAlternatives:()=>FB,isTerminalElement:()=>GJe,isTerminalGroup:()=>$B,isTerminalRule:()=>Os,isTerminalRuleCall:()=>LC,isType:()=>NC,isTypeAttribute:()=>VJe,isTypeDefinition:()=>qJe,isUnionType:()=>zB,isUnorderedGroup:()=>MC,isUntilToken:()=>GB,isValueLiteral:()=>UJe,isWildcard:()=>VB,reflection:()=>ur});function u4(t){return ur.isInstance(t,go.$type)}function Bh(t){return ur.isInstance(t,r4.$type)}function DJe(t){return ur.isInstance(t,iy.$type)}function RJe(t){return ur.isInstance(t,qo.$type)}function Fh(t){return ur.isInstance(t,Ld.$type)}function DC(t){return ur.isInstance(t,n4.$type)}function LJe(t){return ur.isInstance(t,gC.$type)}function EB(t){return ur.isInstance(t,yC.$type)}function xc(t){return ur.isInstance(t,Nd.$type)}function CB(t){return ur.isInstance(t,vC.$type)}function AB(t){return ur.isInstance(t,Md.$type)}function NJe(t){return ur.isInstance(t,Id.$type)}function _B(t){return ur.isInstance(t,i4.$type)}function bc(t){return ur.isInstance(t,Od.$type)}function DB(t){return ur.isInstance(t,a4.$type)}function RB(t){return ur.isInstance(t,xC.$type)}function MJe(t){return ur.isInstance(t,Oh.$type)}function IJe(t){return ur.isInstance(t,bC.$type)}function Pd(t){return ur.isInstance(t,H0.$type)}function h4(t){return ur.isInstance(t,TC.$type)}function Bd(t){return ur.isInstance(t,Cu.$type)}function OJe(t){return ur.isInstance(t,s4.$type)}function PJe(t){return ur.isInstance(t,wC.$type)}function LB(t){return ur.isInstance(t,ay.$type)}function Dl(t){return ur.isInstance(t,sy.$type)}function BJe(t){return ur.isInstance(t,oy.$type)}function NB(t){return ur.isInstance(t,Y0.$type)}function MB(t){return ur.isInstance(t,kC.$type)}function FJe(t){return ur.isInstance(t,SC.$type)}function $Je(t){return ur.isInstance(t,ly.$type)}function IB(t){return ur.isInstance(t,EC.$type)}function wa(t){return ur.isInstance(t,vc.$type)}function OB(t){return ur.isInstance(t,o4.$type)}function PB(t){return ur.isInstance(t,j0.$type)}function BB(t){return ur.isInstance(t,CC.$type)}function Tc(t){return ur.isInstance(t,X0.$type)}function RC(t){return ur.isInstance(t,cy.$type)}function zJe(t){return ur.isInstance(t,AC.$type)}function FB(t){return ur.isInstance(t,K0.$type)}function GJe(t){return ur.isInstance(t,yo.$type)}function $B(t){return ur.isInstance(t,Q0.$type)}function Os(t){return ur.isInstance(t,Ph.$type)}function LC(t){return ur.isInstance(t,Z0.$type)}function NC(t){return ur.isInstance(t,l4.$type)}function VJe(t){return ur.isInstance(t,J0.$type)}function qJe(t){return ur.isInstance(t,em.$type)}function zB(t){return ur.isInstance(t,_C.$type)}function MC(t){return ur.isInstance(t,c4.$type)}function GB(t){return ur.isInstance(t,tm.$type)}function UJe(t){return ur.isInstance(t,rm.$type)}function VB(t){return ur.isInstance(t,uy.$type)}var _Je,go,r4,iy,qo,Ld,n4,gC,yC,Nd,vC,Md,Id,i4,Od,a4,xC,Oh,bC,H0,TC,Cu,s4,wC,ay,sy,oy,Y0,kC,SC,ly,EC,vc,o4,j0,CC,X0,cy,AC,K0,yo,Q0,Ph,Z0,l4,J0,em,_C,c4,tm,rm,uy,hy,ur,Uo=I(()=>{"use strict";mc();_Je={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]*/},go={$type:"AbstractElement",cardinality:"cardinality"};o(u4,"isAbstractElement");r4={$type:"AbstractParserRule"};o(Bh,"isAbstractParserRule");iy={$type:"AbstractRule"};o(DJe,"isAbstractRule");qo={$type:"AbstractType"};o(RJe,"isAbstractType");Ld={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};o(Fh,"isAction");n4={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};o(DC,"isAlternatives");gC={$type:"ArrayLiteral",elements:"elements"};o(LJe,"isArrayLiteral");yC={$type:"ArrayType",elementType:"elementType"};o(EB,"isArrayType");Nd={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};o(xc,"isAssignment");vC={$type:"BooleanLiteral",true:"true"};o(CB,"isBooleanLiteral");Md={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};o(AB,"isCharacterRange");Id={$type:"Condition"};o(NJe,"isCondition");i4={$type:"Conjunction",left:"left",right:"right"};o(_B,"isConjunction");Od={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};o(bc,"isCrossReference");a4={$type:"Disjunction",left:"left",right:"right"};o(DB,"isDisjunction");xC={$type:"EndOfFile",cardinality:"cardinality"};o(RB,"isEndOfFile");Oh={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};o(MJe,"isGrammar");bC={$type:"GrammarImport",path:"path"};o(IJe,"isGrammarImport");H0={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};o(Pd,"isGroup");TC={$type:"InferredType",name:"name"};o(h4,"isInferredType");Cu={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};o(Bd,"isInfixRule");s4={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};o(OJe,"isInfixRuleOperatorList");wC={$type:"InfixRuleOperators",precedences:"precedences"};o(PJe,"isInfixRuleOperators");ay={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};o(LB,"isInterface");sy={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};o(Dl,"isKeyword");oy={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};o(BJe,"isNamedArgument");Y0={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(NB,"isNegatedToken");kC={$type:"Negation",value:"value"};o(MB,"isNegation");SC={$type:"NumberLiteral",value:"value"};o(FJe,"isNumberLiteral");ly={$type:"Parameter",name:"name"};o($Je,"isParameter");EC={$type:"ParameterReference",parameter:"parameter"};o(IB,"isParameterReference");vc={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};o(wa,"isParserRule");o4={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};o(OB,"isReferenceType");j0={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};o(PB,"isRegexToken");CC={$type:"ReturnType",name:"name"};o(BB,"isReturnType");X0={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};o(Tc,"isRuleCall");cy={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};o(RC,"isSimpleType");AC={$type:"StringLiteral",value:"value"};o(zJe,"isStringLiteral");K0={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o(FB,"isTerminalAlternatives");yo={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(GJe,"isTerminalElement");Q0={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o($B,"isTerminalGroup");Ph={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};o(Os,"isTerminalRule");Z0={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};o(LC,"isTerminalRuleCall");l4={$type:"Type",name:"name",type:"type"};o(NC,"isType");J0={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};o(VJe,"isTypeAttribute");em={$type:"TypeDefinition"};o(qJe,"isTypeDefinition");_C={$type:"UnionType",types:"types"};o(zB,"isUnionType");c4={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};o(MC,"isUnorderedGroup");tm={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(GB,"isUntilToken");rm={$type:"ValueLiteral"};o(UJe,"isValueLiteral");uy={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(VB,"isWildcard");hy=class extends U0{static{o(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:go.$type,properties:{cardinality:{name:go.cardinality}},superTypes:[]},AbstractParserRule:{name:r4.$type,properties:{},superTypes:[iy.$type,qo.$type]},AbstractRule:{name:iy.$type,properties:{},superTypes:[]},AbstractType:{name:qo.$type,properties:{},superTypes:[]},Action:{name:Ld.$type,properties:{cardinality:{name:Ld.cardinality},feature:{name:Ld.feature},inferredType:{name:Ld.inferredType},operator:{name:Ld.operator},type:{name:Ld.type,referenceType:qo.$type}},superTypes:[go.$type]},Alternatives:{name:n4.$type,properties:{cardinality:{name:n4.cardinality},elements:{name:n4.elements,defaultValue:[]}},superTypes:[go.$type]},ArrayLiteral:{name:gC.$type,properties:{elements:{name:gC.elements,defaultValue:[]}},superTypes:[rm.$type]},ArrayType:{name:yC.$type,properties:{elementType:{name:yC.elementType}},superTypes:[em.$type]},Assignment:{name:Nd.$type,properties:{cardinality:{name:Nd.cardinality},feature:{name:Nd.feature},operator:{name:Nd.operator},predicate:{name:Nd.predicate},terminal:{name:Nd.terminal}},superTypes:[go.$type]},BooleanLiteral:{name:vC.$type,properties:{true:{name:vC.true,defaultValue:!1}},superTypes:[Id.$type,rm.$type]},CharacterRange:{name:Md.$type,properties:{cardinality:{name:Md.cardinality},left:{name:Md.left},lookahead:{name:Md.lookahead},parenthesized:{name:Md.parenthesized,defaultValue:!1},right:{name:Md.right}},superTypes:[yo.$type]},Condition:{name:Id.$type,properties:{},superTypes:[]},Conjunction:{name:i4.$type,properties:{left:{name:i4.left},right:{name:i4.right}},superTypes:[Id.$type]},CrossReference:{name:Od.$type,properties:{cardinality:{name:Od.cardinality},deprecatedSyntax:{name:Od.deprecatedSyntax,defaultValue:!1},isMulti:{name:Od.isMulti,defaultValue:!1},terminal:{name:Od.terminal},type:{name:Od.type,referenceType:qo.$type}},superTypes:[go.$type]},Disjunction:{name:a4.$type,properties:{left:{name:a4.left},right:{name:a4.right}},superTypes:[Id.$type]},EndOfFile:{name:xC.$type,properties:{cardinality:{name:xC.cardinality}},superTypes:[go.$type]},Grammar:{name:Oh.$type,properties:{imports:{name:Oh.imports,defaultValue:[]},interfaces:{name:Oh.interfaces,defaultValue:[]},isDeclared:{name:Oh.isDeclared,defaultValue:!1},name:{name:Oh.name},rules:{name:Oh.rules,defaultValue:[]},types:{name:Oh.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:bC.$type,properties:{path:{name:bC.path}},superTypes:[]},Group:{name:H0.$type,properties:{cardinality:{name:H0.cardinality},elements:{name:H0.elements,defaultValue:[]},guardCondition:{name:H0.guardCondition},predicate:{name:H0.predicate}},superTypes:[go.$type]},InferredType:{name:TC.$type,properties:{name:{name:TC.name}},superTypes:[qo.$type]},InfixRule:{name:Cu.$type,properties:{call:{name:Cu.call},dataType:{name:Cu.dataType},inferredType:{name:Cu.inferredType},name:{name:Cu.name},operators:{name:Cu.operators},parameters:{name:Cu.parameters,defaultValue:[]},returnType:{name:Cu.returnType,referenceType:qo.$type}},superTypes:[r4.$type]},InfixRuleOperatorList:{name:s4.$type,properties:{associativity:{name:s4.associativity},operators:{name:s4.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:wC.$type,properties:{precedences:{name:wC.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:ay.$type,properties:{attributes:{name:ay.attributes,defaultValue:[]},name:{name:ay.name},superTypes:{name:ay.superTypes,defaultValue:[],referenceType:qo.$type}},superTypes:[qo.$type]},Keyword:{name:sy.$type,properties:{cardinality:{name:sy.cardinality},predicate:{name:sy.predicate},value:{name:sy.value}},superTypes:[go.$type]},NamedArgument:{name:oy.$type,properties:{calledByName:{name:oy.calledByName,defaultValue:!1},parameter:{name:oy.parameter,referenceType:ly.$type},value:{name:oy.value}},superTypes:[]},NegatedToken:{name:Y0.$type,properties:{cardinality:{name:Y0.cardinality},lookahead:{name:Y0.lookahead},parenthesized:{name:Y0.parenthesized,defaultValue:!1},terminal:{name:Y0.terminal}},superTypes:[yo.$type]},Negation:{name:kC.$type,properties:{value:{name:kC.value}},superTypes:[Id.$type]},NumberLiteral:{name:SC.$type,properties:{value:{name:SC.value}},superTypes:[rm.$type]},Parameter:{name:ly.$type,properties:{name:{name:ly.name}},superTypes:[]},ParameterReference:{name:EC.$type,properties:{parameter:{name:EC.parameter,referenceType:ly.$type}},superTypes:[Id.$type]},ParserRule:{name:vc.$type,properties:{dataType:{name:vc.dataType},definition:{name:vc.definition},entry:{name:vc.entry,defaultValue:!1},fragment:{name:vc.fragment,defaultValue:!1},inferredType:{name:vc.inferredType},name:{name:vc.name},parameters:{name:vc.parameters,defaultValue:[]},returnType:{name:vc.returnType,referenceType:qo.$type}},superTypes:[r4.$type]},ReferenceType:{name:o4.$type,properties:{isMulti:{name:o4.isMulti,defaultValue:!1},referenceType:{name:o4.referenceType}},superTypes:[em.$type]},RegexToken:{name:j0.$type,properties:{cardinality:{name:j0.cardinality},lookahead:{name:j0.lookahead},parenthesized:{name:j0.parenthesized,defaultValue:!1},regex:{name:j0.regex}},superTypes:[yo.$type]},ReturnType:{name:CC.$type,properties:{name:{name:CC.name}},superTypes:[]},RuleCall:{name:X0.$type,properties:{arguments:{name:X0.arguments,defaultValue:[]},cardinality:{name:X0.cardinality},predicate:{name:X0.predicate},rule:{name:X0.rule,referenceType:iy.$type}},superTypes:[go.$type]},SimpleType:{name:cy.$type,properties:{primitiveType:{name:cy.primitiveType},stringType:{name:cy.stringType},typeRef:{name:cy.typeRef,referenceType:qo.$type}},superTypes:[em.$type]},StringLiteral:{name:AC.$type,properties:{value:{name:AC.value}},superTypes:[rm.$type]},TerminalAlternatives:{name:K0.$type,properties:{cardinality:{name:K0.cardinality},elements:{name:K0.elements,defaultValue:[]},lookahead:{name:K0.lookahead},parenthesized:{name:K0.parenthesized,defaultValue:!1}},superTypes:[yo.$type]},TerminalElement:{name:yo.$type,properties:{cardinality:{name:yo.cardinality},lookahead:{name:yo.lookahead},parenthesized:{name:yo.parenthesized,defaultValue:!1}},superTypes:[go.$type]},TerminalGroup:{name:Q0.$type,properties:{cardinality:{name:Q0.cardinality},elements:{name:Q0.elements,defaultValue:[]},lookahead:{name:Q0.lookahead},parenthesized:{name:Q0.parenthesized,defaultValue:!1}},superTypes:[yo.$type]},TerminalRule:{name:Ph.$type,properties:{definition:{name:Ph.definition},fragment:{name:Ph.fragment,defaultValue:!1},hidden:{name:Ph.hidden,defaultValue:!1},name:{name:Ph.name},type:{name:Ph.type}},superTypes:[iy.$type]},TerminalRuleCall:{name:Z0.$type,properties:{cardinality:{name:Z0.cardinality},lookahead:{name:Z0.lookahead},parenthesized:{name:Z0.parenthesized,defaultValue:!1},rule:{name:Z0.rule,referenceType:Ph.$type}},superTypes:[yo.$type]},Type:{name:l4.$type,properties:{name:{name:l4.name},type:{name:l4.type}},superTypes:[qo.$type]},TypeAttribute:{name:J0.$type,properties:{defaultValue:{name:J0.defaultValue},isOptional:{name:J0.isOptional,defaultValue:!1},name:{name:J0.name},type:{name:J0.type}},superTypes:[]},TypeDefinition:{name:em.$type,properties:{},superTypes:[]},UnionType:{name:_C.$type,properties:{types:{name:_C.types,defaultValue:[]}},superTypes:[em.$type]},UnorderedGroup:{name:c4.$type,properties:{cardinality:{name:c4.cardinality},elements:{name:c4.elements,defaultValue:[]}},superTypes:[go.$type]},UntilToken:{name:tm.$type,properties:{cardinality:{name:tm.cardinality},lookahead:{name:tm.lookahead},parenthesized:{name:tm.parenthesized,defaultValue:!1},terminal:{name:tm.terminal}},superTypes:[yo.$type]},ValueLiteral:{name:rm.$type,properties:{},superTypes:[]},Wildcard:{name:uy.$type,properties:{cardinality:{name:uy.cardinality},lookahead:{name:uy.lookahead},parenthesized:{name:uy.parenthesized,defaultValue:!1}},superTypes:[yo.$type]}}}},ur=new hy});var OC={};vr(OC,{DefaultNameRegexp:()=>IC,RangeComparison:()=>Au,compareRange:()=>xge,findCommentNode:()=>WB,findDeclarationNodeAtOffset:()=>YJe,findLeafNodeAtOffset:()=>HB,findLeafNodeBeforeOffset:()=>bge,flattenCst:()=>HJe,getDatatypeNode:()=>WJe,getInteriorNodes:()=>KJe,getNextNode:()=>jJe,getPreviousNode:()=>wge,getStartlineNode:()=>XJe,inRange:()=>SB,isChildNode:()=>UB,isCommentNode:()=>qB,streamCst:()=>nm,toDocumentSegment:()=>im,tokenToRange:()=>fy});function WJe(t){let e=t,r=!1;for(;e;){let n=Ih(e.grammarSource,wa);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function nm(t){return new Eu(t,e=>pc(e)?e.content:[],{includeRoot:!0})}function HJe(t){return nm(t).filter(_d)}function UB(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function fy(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function im(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function xge(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Au.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineAu.After}function YJe(t,e,r=IC){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return HB(t,e)}}function WB(t,e){if(t){let r=wge(t,!0);if(r&&qB(r,e))return r;if(e4(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(qB(a,e))return a}}}}function qB(t,e){return _d(t)&&e.includes(t.tokenType.name)}function HB(t,e){if(_d(t))return t;if(pc(t)){let r=Tge(t,e,!1);if(r)return HB(r,e)}}function bge(t,e){if(_d(t))return t;if(pc(t)){let r=Tge(t,e,!0);if(r)return bge(r,e)}}function Tge(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let s=Math.floor((n+i)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=s+1):i=s-1}return a}function wge(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function jJe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";mc();Ms();ls();Uo();o(WJe,"getDatatypeNode");o(nm,"streamCst");o(HJe,"flattenCst");o(UB,"isChildNode");o(fy,"tokenToRange");o(im,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Au||(Au={}));o(xge,"compareRange");o(SB,"inRange");IC=/^[\w\p{L}]$/u;o(YJe,"findDeclarationNodeAtOffset");o(WB,"findCommentNode");o(qB,"isCommentNode");o(HB,"findLeafNodeAtOffset");o(bge,"findLeafNodeBeforeOffset");o(Tge,"binarySearch");o(wge,"getPreviousNode");o(jJe,"getNextNode");o(XJe,"getStartlineNode");o(KJe,"getInteriorNodes");o(QJe,"getCommonParent");o(vge,"getParentChain")});function _u(t,e="Error: Got unexpected value."){throw new Error(e)}function kge(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var am,PC=I(()=>{"use strict";am=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(_u,"assertUnreachable");o(kge,"assertCondition")});function pr(t){return t.charCodeAt(0)}function BC(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function dy(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function sm(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function d4(){throw Error("Internal Error - Should never get here!")}function YB(t){return t.type==="Character"}var jB=I(()=>{"use strict";o(pr,"cc");o(BC,"insertToSet");o(dy,"addFlag");o(sm,"ASSERT_EXISTS");o(d4,"ASSERT_NEVER_REACH_HERE");o(YB,"isCharacter")});var p4,m4,XB,Sge=I(()=>{"use strict";jB();p4=[];for(let t=pr("0");t<=pr("9");t++)p4.push(t);m4=[pr("_")].concat(p4);for(let t=pr("a");t<=pr("z");t++)m4.push(t);for(let t=pr("A");t<=pr("Z");t++)m4.push(t);XB=[pr(" "),pr("\f"),pr(` -`),pr("\r"),pr(" "),pr("\v"),pr(" "),pr("\xA0"),pr("\u1680"),pr("\u2000"),pr("\u2001"),pr("\u2002"),pr("\u2003"),pr("\u2004"),pr("\u2005"),pr("\u2006"),pr("\u2007"),pr("\u2008"),pr("\u2009"),pr("\u200A"),pr("\u2028"),pr("\u2029"),pr("\u202F"),pr("\u205F"),pr("\u3000"),pr("\uFEFF")]});var ZJe,FC,JJe,om,Ege=I(()=>{"use strict";jB();Sge();ZJe=/[0-9a-fA-F]/,FC=/[0-9]/,JJe=/[1-9]/,om=class{static{o(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":dy(n,"global");break;case"i":dy(n,"ignoreCase");break;case"m":dy(n,"multiLine");break;case"u":dy(n,"unicode");break;case"y":dy(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}sm(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return d4()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;sm(r);break}if(!(e===!0&&r===void 0)&&sm(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),sm(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):d4()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[pr(` -`),pr("\r"),pr("\u2028"),pr("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=p4;break;case"D":e=p4,r=!0;break;case"s":e=XB;break;case"S":e=XB,r=!0;break;case"w":e=m4;break;case"W":e=m4,r=!0;break}return sm(e)?{type:"Set",value:e,complement:r}:d4()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=pr("\f");break;case"n":e=pr(` -`);break;case"r":e=pr("\r");break;case"t":e=pr(" ");break;case"v":e=pr("\v");break}return sm(e)?{type:"Character",value:e}:d4()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:pr("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:pr(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:pr(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(YB(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(YB(a)){if(a.valueott});var ott,Jge=O(()=>{"use strict";Yge();jge();Xge();Qge();ott={parser:Hge,get db(){return new SC},renderer:OB,styles:Kge}});function Si(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function oa(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Xo(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function PB(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function j0(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}function wc(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Nd(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function fT(t){return wc(t)&&typeof t.fullText=="string"}var Y0,kc=O(()=>{"use strict";o(Si,"isAstNode");o(oa,"isReference");o(Xo,"isMultiReference");o(PB,"isAstNodeDescription");o(j0,"isLinkingError");Y0=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Si(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.types[e],s=a?a.superTypes.some(l=>this.isSubtype(l,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};o(wc,"isCompositeCstNode");o(Nd,"isLeafCstNode");o(fT,"isRootCstNode")});function ftt(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function CC(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Hr(...t){if(t.length===1){let e=t[0];if(e instanceof Ko)return e;if(CC(e))return new Ko(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Ko(()=>({index:0}),r=>r.index1?new Ko(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";Ko=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return ls})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=ftt(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?ls:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return ls})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(CC(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return ls})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(CC(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return ls})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?ls:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return ls})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};o(ftt,"toString");o(CC,"isIterable");Md=new Ko(()=>{},()=>ls),ls=Object.freeze({done:!0,value:void 0});o(Hr,"stream");Nu=class extends Ko{static{o(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return ls})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function n(a){return a.reduce((s,l)=>Math.min(s,l))}o(n,"min"),t.min=n;function i(a){return a.reduce((s,l)=>Math.max(s,l))}o(i,"max"),t.max=i})(cy||(cy={}))});var _C={};vr(_C,{assignMandatoryProperties:()=>$B,copyAstNode:()=>FB,findRootNode:()=>hy,getContainerOfType:()=>zh,getDocument:()=>cs,getReferenceNodes:()=>AC,hasContainerOfType:()=>dtt,linkContentToContainer:()=>uy,streamAllContents:()=>Ec,streamAst:()=>Ps,streamContents:()=>dT,streamReferences:()=>Id});function uy(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{Si(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&uy(i,e))}):Si(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&uy(n,e)))}function zh(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function dtt(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function cs(t){let r=hy(t).$document;if(!r)throw new Error("AST node has no document.");return r}function hy(t){for(;t.$container;)t=t.$container;return t}function AC(t){return oa(t)?t.ref?[t.ref]:[]:Xo(t)?t.items.map(e=>e.ref):[]}function dT(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new Ko(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexdT(r,e))}function Ps(t,e){if(t){if(e?.range&&!BB(t,e.range))return new Nu(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Nu(t,r=>dT(r,e),{includeRoot:!0})}function BB(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?zB(r,e):!1}function Id(t){return new Ko(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{"use strict";kc();Os();Sc();o(uy,"linkContentToContainer");o(zh,"getContainerOfType");o(dtt,"hasContainerOfType");o(cs,"getDocument");o(hy,"findRootNode");o(AC,"getReferenceNodes");o(dT,"streamContents");o(Ec,"streamAllContents");o(Ps,"streamAst");o(BB,"isAstNodeInRange");o(Id,"streamReferences");o($B,"assignMandatoryProperties");o(t1e,"copyDefaultValue");o(FB,"copyAstNode")});var ET={};vr(ET,{AbstractElement:()=>To,AbstractParserRule:()=>pT,AbstractRule:()=>fy,AbstractType:()=>Qo,Action:()=>Od,Alternatives:()=>mT,ArrayLiteral:()=>DC,ArrayType:()=>RC,Assignment:()=>Pd,BooleanLiteral:()=>LC,CharacterRange:()=>Bd,Condition:()=>Fd,Conjunction:()=>gT,CrossReference:()=>$d,Disjunction:()=>yT,EndOfFile:()=>NC,Grammar:()=>Gh,GrammarImport:()=>MC,Group:()=>X0,InferredType:()=>IC,InfixRule:()=>Mu,InfixRuleOperatorList:()=>vT,InfixRuleOperators:()=>OC,Interface:()=>dy,Keyword:()=>py,LangiumGrammarAstReflection:()=>xy,LangiumGrammarTerminals:()=>ptt,NamedArgument:()=>my,NegatedToken:()=>K0,Negation:()=>PC,NumberLiteral:()=>BC,Parameter:()=>gy,ParameterReference:()=>FC,ParserRule:()=>Cc,ReferenceType:()=>xT,RegexToken:()=>Q0,ReturnType:()=>$C,RuleCall:()=>Z0,SimpleType:()=>yy,StringLiteral:()=>zC,TerminalAlternatives:()=>J0,TerminalElement:()=>wo,TerminalGroup:()=>em,TerminalRule:()=>Vh,TerminalRuleCall:()=>tm,Type:()=>bT,TypeAttribute:()=>rm,TypeDefinition:()=>nm,UnionType:()=>GC,UnorderedGroup:()=>TT,UntilToken:()=>im,ValueLiteral:()=>am,Wildcard:()=>vy,isAbstractElement:()=>wT,isAbstractParserRule:()=>qh,isAbstractRule:()=>mtt,isAbstractType:()=>gtt,isAction:()=>Uh,isAlternatives:()=>VC,isArrayLiteral:()=>ytt,isArrayType:()=>GB,isAssignment:()=>Ac,isBooleanLiteral:()=>VB,isCharacterRange:()=>qB,isCondition:()=>vtt,isConjunction:()=>UB,isCrossReference:()=>_c,isDisjunction:()=>WB,isEndOfFile:()=>HB,isGrammar:()=>xtt,isGrammarImport:()=>btt,isGroup:()=>zd,isInferredType:()=>kT,isInfixRule:()=>Gd,isInfixRuleOperatorList:()=>Ttt,isInfixRuleOperators:()=>wtt,isInterface:()=>YB,isKeyword:()=>Pl,isNamedArgument:()=>ktt,isNegatedToken:()=>jB,isNegation:()=>XB,isNumberLiteral:()=>Ett,isParameter:()=>Stt,isParameterReference:()=>KB,isParserRule:()=>Sa,isReferenceType:()=>QB,isRegexToken:()=>ZB,isReturnType:()=>JB,isRuleCall:()=>Dc,isSimpleType:()=>qC,isStringLiteral:()=>Ctt,isTerminalAlternatives:()=>eF,isTerminalElement:()=>Att,isTerminalGroup:()=>tF,isTerminalRule:()=>Bs,isTerminalRuleCall:()=>UC,isType:()=>WC,isTypeAttribute:()=>_tt,isTypeDefinition:()=>Dtt,isUnionType:()=>rF,isUnorderedGroup:()=>HC,isUntilToken:()=>nF,isValueLiteral:()=>Rtt,isWildcard:()=>iF,reflection:()=>mr});function wT(t){return mr.isInstance(t,To.$type)}function qh(t){return mr.isInstance(t,pT.$type)}function mtt(t){return mr.isInstance(t,fy.$type)}function gtt(t){return mr.isInstance(t,Qo.$type)}function Uh(t){return mr.isInstance(t,Od.$type)}function VC(t){return mr.isInstance(t,mT.$type)}function ytt(t){return mr.isInstance(t,DC.$type)}function GB(t){return mr.isInstance(t,RC.$type)}function Ac(t){return mr.isInstance(t,Pd.$type)}function VB(t){return mr.isInstance(t,LC.$type)}function qB(t){return mr.isInstance(t,Bd.$type)}function vtt(t){return mr.isInstance(t,Fd.$type)}function UB(t){return mr.isInstance(t,gT.$type)}function _c(t){return mr.isInstance(t,$d.$type)}function WB(t){return mr.isInstance(t,yT.$type)}function HB(t){return mr.isInstance(t,NC.$type)}function xtt(t){return mr.isInstance(t,Gh.$type)}function btt(t){return mr.isInstance(t,MC.$type)}function zd(t){return mr.isInstance(t,X0.$type)}function kT(t){return mr.isInstance(t,IC.$type)}function Gd(t){return mr.isInstance(t,Mu.$type)}function Ttt(t){return mr.isInstance(t,vT.$type)}function wtt(t){return mr.isInstance(t,OC.$type)}function YB(t){return mr.isInstance(t,dy.$type)}function Pl(t){return mr.isInstance(t,py.$type)}function ktt(t){return mr.isInstance(t,my.$type)}function jB(t){return mr.isInstance(t,K0.$type)}function XB(t){return mr.isInstance(t,PC.$type)}function Ett(t){return mr.isInstance(t,BC.$type)}function Stt(t){return mr.isInstance(t,gy.$type)}function KB(t){return mr.isInstance(t,FC.$type)}function Sa(t){return mr.isInstance(t,Cc.$type)}function QB(t){return mr.isInstance(t,xT.$type)}function ZB(t){return mr.isInstance(t,Q0.$type)}function JB(t){return mr.isInstance(t,$C.$type)}function Dc(t){return mr.isInstance(t,Z0.$type)}function qC(t){return mr.isInstance(t,yy.$type)}function Ctt(t){return mr.isInstance(t,zC.$type)}function eF(t){return mr.isInstance(t,J0.$type)}function Att(t){return mr.isInstance(t,wo.$type)}function tF(t){return mr.isInstance(t,em.$type)}function Bs(t){return mr.isInstance(t,Vh.$type)}function UC(t){return mr.isInstance(t,tm.$type)}function WC(t){return mr.isInstance(t,bT.$type)}function _tt(t){return mr.isInstance(t,rm.$type)}function Dtt(t){return mr.isInstance(t,nm.$type)}function rF(t){return mr.isInstance(t,GC.$type)}function HC(t){return mr.isInstance(t,TT.$type)}function nF(t){return mr.isInstance(t,im.$type)}function Rtt(t){return mr.isInstance(t,am.$type)}function iF(t){return mr.isInstance(t,vy.$type)}var ptt,To,pT,fy,Qo,Od,mT,DC,RC,Pd,LC,Bd,Fd,gT,$d,yT,NC,Gh,MC,X0,IC,Mu,vT,OC,dy,py,my,K0,PC,BC,gy,FC,Cc,xT,Q0,$C,Z0,yy,zC,J0,wo,em,Vh,tm,bT,rm,nm,GC,TT,im,am,vy,xy,mr,Zo=O(()=>{"use strict";kc();ptt={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]*/},To={$type:"AbstractElement",cardinality:"cardinality"};o(wT,"isAbstractElement");pT={$type:"AbstractParserRule"};o(qh,"isAbstractParserRule");fy={$type:"AbstractRule"};o(mtt,"isAbstractRule");Qo={$type:"AbstractType"};o(gtt,"isAbstractType");Od={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};o(Uh,"isAction");mT={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};o(VC,"isAlternatives");DC={$type:"ArrayLiteral",elements:"elements"};o(ytt,"isArrayLiteral");RC={$type:"ArrayType",elementType:"elementType"};o(GB,"isArrayType");Pd={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};o(Ac,"isAssignment");LC={$type:"BooleanLiteral",true:"true"};o(VB,"isBooleanLiteral");Bd={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};o(qB,"isCharacterRange");Fd={$type:"Condition"};o(vtt,"isCondition");gT={$type:"Conjunction",left:"left",right:"right"};o(UB,"isConjunction");$d={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};o(_c,"isCrossReference");yT={$type:"Disjunction",left:"left",right:"right"};o(WB,"isDisjunction");NC={$type:"EndOfFile",cardinality:"cardinality"};o(HB,"isEndOfFile");Gh={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};o(xtt,"isGrammar");MC={$type:"GrammarImport",path:"path"};o(btt,"isGrammarImport");X0={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};o(zd,"isGroup");IC={$type:"InferredType",name:"name"};o(kT,"isInferredType");Mu={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};o(Gd,"isInfixRule");vT={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};o(Ttt,"isInfixRuleOperatorList");OC={$type:"InfixRuleOperators",precedences:"precedences"};o(wtt,"isInfixRuleOperators");dy={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};o(YB,"isInterface");py={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};o(Pl,"isKeyword");my={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};o(ktt,"isNamedArgument");K0={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(jB,"isNegatedToken");PC={$type:"Negation",value:"value"};o(XB,"isNegation");BC={$type:"NumberLiteral",value:"value"};o(Ett,"isNumberLiteral");gy={$type:"Parameter",name:"name"};o(Stt,"isParameter");FC={$type:"ParameterReference",parameter:"parameter"};o(KB,"isParameterReference");Cc={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};o(Sa,"isParserRule");xT={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};o(QB,"isReferenceType");Q0={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};o(ZB,"isRegexToken");$C={$type:"ReturnType",name:"name"};o(JB,"isReturnType");Z0={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};o(Dc,"isRuleCall");yy={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};o(qC,"isSimpleType");zC={$type:"StringLiteral",value:"value"};o(Ctt,"isStringLiteral");J0={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o(eF,"isTerminalAlternatives");wo={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(Att,"isTerminalElement");em={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};o(tF,"isTerminalGroup");Vh={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};o(Bs,"isTerminalRule");tm={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};o(UC,"isTerminalRuleCall");bT={$type:"Type",name:"name",type:"type"};o(WC,"isType");rm={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};o(_tt,"isTypeAttribute");nm={$type:"TypeDefinition"};o(Dtt,"isTypeDefinition");GC={$type:"UnionType",types:"types"};o(rF,"isUnionType");TT={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};o(HC,"isUnorderedGroup");im={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};o(nF,"isUntilToken");am={$type:"ValueLiteral"};o(Rtt,"isValueLiteral");vy={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};o(iF,"isWildcard");xy=class extends Y0{static{o(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:To.$type,properties:{cardinality:{name:To.cardinality}},superTypes:[]},AbstractParserRule:{name:pT.$type,properties:{},superTypes:[fy.$type,Qo.$type]},AbstractRule:{name:fy.$type,properties:{},superTypes:[]},AbstractType:{name:Qo.$type,properties:{},superTypes:[]},Action:{name:Od.$type,properties:{cardinality:{name:Od.cardinality},feature:{name:Od.feature},inferredType:{name:Od.inferredType},operator:{name:Od.operator},type:{name:Od.type,referenceType:Qo.$type}},superTypes:[To.$type]},Alternatives:{name:mT.$type,properties:{cardinality:{name:mT.cardinality},elements:{name:mT.elements,defaultValue:[]}},superTypes:[To.$type]},ArrayLiteral:{name:DC.$type,properties:{elements:{name:DC.elements,defaultValue:[]}},superTypes:[am.$type]},ArrayType:{name:RC.$type,properties:{elementType:{name:RC.elementType}},superTypes:[nm.$type]},Assignment:{name:Pd.$type,properties:{cardinality:{name:Pd.cardinality},feature:{name:Pd.feature},operator:{name:Pd.operator},predicate:{name:Pd.predicate},terminal:{name:Pd.terminal}},superTypes:[To.$type]},BooleanLiteral:{name:LC.$type,properties:{true:{name:LC.true,defaultValue:!1}},superTypes:[Fd.$type,am.$type]},CharacterRange:{name:Bd.$type,properties:{cardinality:{name:Bd.cardinality},left:{name:Bd.left},lookahead:{name:Bd.lookahead},parenthesized:{name:Bd.parenthesized,defaultValue:!1},right:{name:Bd.right}},superTypes:[wo.$type]},Condition:{name:Fd.$type,properties:{},superTypes:[]},Conjunction:{name:gT.$type,properties:{left:{name:gT.left},right:{name:gT.right}},superTypes:[Fd.$type]},CrossReference:{name:$d.$type,properties:{cardinality:{name:$d.cardinality},deprecatedSyntax:{name:$d.deprecatedSyntax,defaultValue:!1},isMulti:{name:$d.isMulti,defaultValue:!1},terminal:{name:$d.terminal},type:{name:$d.type,referenceType:Qo.$type}},superTypes:[To.$type]},Disjunction:{name:yT.$type,properties:{left:{name:yT.left},right:{name:yT.right}},superTypes:[Fd.$type]},EndOfFile:{name:NC.$type,properties:{cardinality:{name:NC.cardinality}},superTypes:[To.$type]},Grammar:{name:Gh.$type,properties:{imports:{name:Gh.imports,defaultValue:[]},interfaces:{name:Gh.interfaces,defaultValue:[]},isDeclared:{name:Gh.isDeclared,defaultValue:!1},name:{name:Gh.name},rules:{name:Gh.rules,defaultValue:[]},types:{name:Gh.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:MC.$type,properties:{path:{name:MC.path}},superTypes:[]},Group:{name:X0.$type,properties:{cardinality:{name:X0.cardinality},elements:{name:X0.elements,defaultValue:[]},guardCondition:{name:X0.guardCondition},predicate:{name:X0.predicate}},superTypes:[To.$type]},InferredType:{name:IC.$type,properties:{name:{name:IC.name}},superTypes:[Qo.$type]},InfixRule:{name:Mu.$type,properties:{call:{name:Mu.call},dataType:{name:Mu.dataType},inferredType:{name:Mu.inferredType},name:{name:Mu.name},operators:{name:Mu.operators},parameters:{name:Mu.parameters,defaultValue:[]},returnType:{name:Mu.returnType,referenceType:Qo.$type}},superTypes:[pT.$type]},InfixRuleOperatorList:{name:vT.$type,properties:{associativity:{name:vT.associativity},operators:{name:vT.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:OC.$type,properties:{precedences:{name:OC.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:dy.$type,properties:{attributes:{name:dy.attributes,defaultValue:[]},name:{name:dy.name},superTypes:{name:dy.superTypes,defaultValue:[],referenceType:Qo.$type}},superTypes:[Qo.$type]},Keyword:{name:py.$type,properties:{cardinality:{name:py.cardinality},predicate:{name:py.predicate},value:{name:py.value}},superTypes:[To.$type]},NamedArgument:{name:my.$type,properties:{calledByName:{name:my.calledByName,defaultValue:!1},parameter:{name:my.parameter,referenceType:gy.$type},value:{name:my.value}},superTypes:[]},NegatedToken:{name:K0.$type,properties:{cardinality:{name:K0.cardinality},lookahead:{name:K0.lookahead},parenthesized:{name:K0.parenthesized,defaultValue:!1},terminal:{name:K0.terminal}},superTypes:[wo.$type]},Negation:{name:PC.$type,properties:{value:{name:PC.value}},superTypes:[Fd.$type]},NumberLiteral:{name:BC.$type,properties:{value:{name:BC.value}},superTypes:[am.$type]},Parameter:{name:gy.$type,properties:{name:{name:gy.name}},superTypes:[]},ParameterReference:{name:FC.$type,properties:{parameter:{name:FC.parameter,referenceType:gy.$type}},superTypes:[Fd.$type]},ParserRule:{name:Cc.$type,properties:{dataType:{name:Cc.dataType},definition:{name:Cc.definition},entry:{name:Cc.entry,defaultValue:!1},fragment:{name:Cc.fragment,defaultValue:!1},inferredType:{name:Cc.inferredType},name:{name:Cc.name},parameters:{name:Cc.parameters,defaultValue:[]},returnType:{name:Cc.returnType,referenceType:Qo.$type}},superTypes:[pT.$type]},ReferenceType:{name:xT.$type,properties:{isMulti:{name:xT.isMulti,defaultValue:!1},referenceType:{name:xT.referenceType}},superTypes:[nm.$type]},RegexToken:{name:Q0.$type,properties:{cardinality:{name:Q0.cardinality},lookahead:{name:Q0.lookahead},parenthesized:{name:Q0.parenthesized,defaultValue:!1},regex:{name:Q0.regex}},superTypes:[wo.$type]},ReturnType:{name:$C.$type,properties:{name:{name:$C.name}},superTypes:[]},RuleCall:{name:Z0.$type,properties:{arguments:{name:Z0.arguments,defaultValue:[]},cardinality:{name:Z0.cardinality},predicate:{name:Z0.predicate},rule:{name:Z0.rule,referenceType:fy.$type}},superTypes:[To.$type]},SimpleType:{name:yy.$type,properties:{primitiveType:{name:yy.primitiveType},stringType:{name:yy.stringType},typeRef:{name:yy.typeRef,referenceType:Qo.$type}},superTypes:[nm.$type]},StringLiteral:{name:zC.$type,properties:{value:{name:zC.value}},superTypes:[am.$type]},TerminalAlternatives:{name:J0.$type,properties:{cardinality:{name:J0.cardinality},elements:{name:J0.elements,defaultValue:[]},lookahead:{name:J0.lookahead},parenthesized:{name:J0.parenthesized,defaultValue:!1}},superTypes:[wo.$type]},TerminalElement:{name:wo.$type,properties:{cardinality:{name:wo.cardinality},lookahead:{name:wo.lookahead},parenthesized:{name:wo.parenthesized,defaultValue:!1}},superTypes:[To.$type]},TerminalGroup:{name:em.$type,properties:{cardinality:{name:em.cardinality},elements:{name:em.elements,defaultValue:[]},lookahead:{name:em.lookahead},parenthesized:{name:em.parenthesized,defaultValue:!1}},superTypes:[wo.$type]},TerminalRule:{name:Vh.$type,properties:{definition:{name:Vh.definition},fragment:{name:Vh.fragment,defaultValue:!1},hidden:{name:Vh.hidden,defaultValue:!1},name:{name:Vh.name},type:{name:Vh.type}},superTypes:[fy.$type]},TerminalRuleCall:{name:tm.$type,properties:{cardinality:{name:tm.cardinality},lookahead:{name:tm.lookahead},parenthesized:{name:tm.parenthesized,defaultValue:!1},rule:{name:tm.rule,referenceType:Vh.$type}},superTypes:[wo.$type]},Type:{name:bT.$type,properties:{name:{name:bT.name},type:{name:bT.type}},superTypes:[Qo.$type]},TypeAttribute:{name:rm.$type,properties:{defaultValue:{name:rm.defaultValue},isOptional:{name:rm.isOptional,defaultValue:!1},name:{name:rm.name},type:{name:rm.type}},superTypes:[]},TypeDefinition:{name:nm.$type,properties:{},superTypes:[]},UnionType:{name:GC.$type,properties:{types:{name:GC.types,defaultValue:[]}},superTypes:[nm.$type]},UnorderedGroup:{name:TT.$type,properties:{cardinality:{name:TT.cardinality},elements:{name:TT.elements,defaultValue:[]}},superTypes:[To.$type]},UntilToken:{name:im.$type,properties:{cardinality:{name:im.cardinality},lookahead:{name:im.lookahead},parenthesized:{name:im.parenthesized,defaultValue:!1},terminal:{name:im.terminal}},superTypes:[wo.$type]},ValueLiteral:{name:am.$type,properties:{},superTypes:[]},Wildcard:{name:vy.$type,properties:{cardinality:{name:vy.cardinality},lookahead:{name:vy.lookahead},parenthesized:{name:vy.parenthesized,defaultValue:!1}},superTypes:[wo.$type]}}}},mr=new xy});var jC={};vr(jC,{DefaultNameRegexp:()=>YC,RangeComparison:()=>Iu,compareRange:()=>n1e,findCommentNode:()=>oF,findDeclarationNodeAtOffset:()=>Mtt,findLeafNodeAtOffset:()=>lF,findLeafNodeBeforeOffset:()=>i1e,flattenCst:()=>Ntt,getDatatypeNode:()=>Ltt,getInteriorNodes:()=>Ptt,getNextNode:()=>Itt,getPreviousNode:()=>s1e,getStartlineNode:()=>Ott,inRange:()=>zB,isChildNode:()=>sF,isCommentNode:()=>aF,streamCst:()=>sm,toDocumentSegment:()=>om,tokenToRange:()=>by});function Ltt(t){let e=t,r=!1;for(;e;){let n=zh(e.grammarSource,Sa);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function sm(t){return new Nu(t,e=>wc(e)?e.content:[],{includeRoot:!0})}function Ntt(t){return sm(t).filter(Nd)}function sF(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function by(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function om(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function n1e(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Iu.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineIu.After}function Mtt(t,e,r=YC){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return lF(t,e)}}function oF(t,e){if(t){let r=s1e(t,!0);if(r&&aF(r,e))return r;if(fT(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(aF(a,e))return a}}}}function aF(t,e){return Nd(t)&&e.includes(t.tokenType.name)}function lF(t,e){if(Nd(t))return t;if(wc(t)){let r=a1e(t,e,!1);if(r)return lF(r,e)}}function i1e(t,e){if(Nd(t))return t;if(wc(t)){let r=a1e(t,e,!0);if(r)return i1e(r,e)}}function a1e(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let s=Math.floor((n+i)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=s+1):i=s-1}return a}function s1e(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function Itt(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";kc();Os();us();Zo();o(Ltt,"getDatatypeNode");o(sm,"streamCst");o(Ntt,"flattenCst");o(sF,"isChildNode");o(by,"tokenToRange");o(om,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Iu||(Iu={}));o(n1e,"compareRange");o(zB,"inRange");YC=/^[\w\p{L}]$/u;o(Mtt,"findDeclarationNodeAtOffset");o(oF,"findCommentNode");o(aF,"isCommentNode");o(lF,"findLeafNodeAtOffset");o(i1e,"findLeafNodeBeforeOffset");o(a1e,"binarySearch");o(s1e,"getPreviousNode");o(Itt,"getNextNode");o(Ott,"getStartlineNode");o(Ptt,"getInteriorNodes");o(Btt,"getCommonParent");o(r1e,"getParentChain")});function Ou(t,e="Error: Got unexpected value."){throw new Error(e)}function o1e(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var lm,XC=O(()=>{"use strict";lm=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(Ou,"assertUnreachable");o(o1e,"assertCondition")});function xr(t){return t.charCodeAt(0)}function KC(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Ty(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function cm(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function ST(){throw Error("Internal Error - Should never get here!")}function cF(t){return t.type==="Character"}var uF=O(()=>{"use strict";o(xr,"cc");o(KC,"insertToSet");o(Ty,"addFlag");o(cm,"ASSERT_EXISTS");o(ST,"ASSERT_NEVER_REACH_HERE");o(cF,"isCharacter")});var CT,AT,hF,l1e=O(()=>{"use strict";uF();CT=[];for(let t=xr("0");t<=xr("9");t++)CT.push(t);AT=[xr("_")].concat(CT);for(let t=xr("a");t<=xr("z");t++)AT.push(t);for(let t=xr("A");t<=xr("Z");t++)AT.push(t);hF=[xr(" "),xr("\f"),xr(` +`),xr("\r"),xr(" "),xr("\v"),xr(" "),xr("\xA0"),xr("\u1680"),xr("\u2000"),xr("\u2001"),xr("\u2002"),xr("\u2003"),xr("\u2004"),xr("\u2005"),xr("\u2006"),xr("\u2007"),xr("\u2008"),xr("\u2009"),xr("\u200A"),xr("\u2028"),xr("\u2029"),xr("\u202F"),xr("\u205F"),xr("\u3000"),xr("\uFEFF")]});var Ftt,QC,$tt,um,c1e=O(()=>{"use strict";uF();l1e();Ftt=/[0-9a-fA-F]/,QC=/[0-9]/,$tt=/[1-9]/,um=class{static{o(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Ty(n,"global");break;case"i":Ty(n,"ignoreCase");break;case"m":Ty(n,"multiLine");break;case"u":Ty(n,"unicode");break;case"y":Ty(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}cm(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return ST()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;cm(r);break}if(!(e===!0&&r===void 0)&&cm(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),cm(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ST()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[xr(` +`),xr("\r"),xr("\u2028"),xr("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=CT;break;case"D":e=CT,r=!0;break;case"s":e=hF;break;case"S":e=hF,r=!0;break;case"w":e=AT;break;case"W":e=AT,r=!0;break}return cm(e)?{type:"Set",value:e,complement:r}:ST()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=xr("\f");break;case"n":e=xr(` +`);break;case"r":e=xr("\r");break;case"t":e=xr(" ");break;case"v":e=xr("\v");break}return cm(e)?{type:"Character",value:e}:ST()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:xr("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:xr(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:xr(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(cF(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(cF(a)){if(a.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var Du,Cge=I(()=>{"use strict";Du=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"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){}}});var g4=I(()=>{"use strict";Ege();Cge()});var $C={};vr($C,{NEWLINE_REGEXP:()=>QB,escapeRegExp:()=>Fd,getTerminalParts:()=>eet,isMultilineComment:()=>ZB,isWhitespace:()=>y4,partialMatches:()=>JB,partialRegExp:()=>Dge,whitespaceCharacters:()=>_ge});function eet(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=Age.pattern(t),r=[];for(let n of e.value.value)lm.reset(t),lm.visit(n),r.push({start:lm.startRegexp,end:lm.endRegex});return r}catch{return[]}}function ZB(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),lm.reset(t),lm.visit(Age.pattern(t)),lm.multiline}catch{return!1}}function y4(t){let e=typeof t=="string"?new RegExp(t):t;return _ge.some(r=>e.test(r))}function Fd(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function JB(t,e){let r=Dge(t),n=e.match(r);return!!n&&n[0].length>0}function Dge(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",s;function l(h){a+=r.substr(n,h),n+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(o(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?l(s[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return o(i,"process"),new RegExp(i(),t.flags)}var QB,Age,KB,lm,_ge,py=I(()=>{"use strict";g4();QB=/\r?\n/gm,Age=new om,KB=class extends Du{static{o(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` -`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Fd(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` -`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},lm=new KB;o(eet,"getTerminalParts");o(ZB,"isMultilineComment");_ge=`\f -\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");o(y4,"isWhitespace");o(Fd,"escapeRegExp");o(JB,"partialMatches");o(Dge,"partialRegExp")});var VC={};vr(VC,{findAssignment:()=>lF,findNameAssignment:()=>zC,findNodeForKeyword:()=>sF,findNodeForProperty:()=>x4,findNodesForKeyword:()=>ret,findNodesForKeywordInternal:()=>oF,findNodesForProperty:()=>iF,getActionAtElement:()=>Ige,getActionType:()=>Pge,getAllReachableRules:()=>v4,getAllRulesUsedForCrossReferences:()=>tet,getCrossReferenceTerminal:()=>rF,getEntryRule:()=>Rge,getExplicitRuleType:()=>GC,getHiddenRules:()=>Lge,getRuleType:()=>cF,getRuleTypeName:()=>oet,getTypeName:()=>$d,isArrayCardinality:()=>iet,isArrayOperator:()=>aet,isCommentTerminal:()=>nF,isDataType:()=>set,isDataTypeRule:()=>b4,isOptionalCardinality:()=>net,terminalRegex:()=>my});function Rge(t){return t.rules.find(e=>wa(e)&&e.entry)}function Lge(t){return t.rules.filter(e=>Os(e)&&e.hidden)}function v4(t,e){let r=new Set,n=Rge(t);if(!n)return new Set(t.rules);let i=[n].concat(Lge(t));for(let s of i)Nge(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||Os(s)&&s.hidden)&&a.add(s);return a}function Nge(t,e,r){e.add(t.name),gc(t).forEach(n=>{if(Tc(n)||r&&LC(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Nge(i,e,r)}})}function tet(t){let e=new Set;return gc(t).forEach(r=>{bc(r)&&(wa(r.type.ref)&&e.add(r.type.ref),h4(r.type.ref)&&wa(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function rF(t){if(t.terminal)return t.terminal;if(t.type.ref)return zC(t.type.ref)?.terminal}function nF(t){return t.hidden&&!y4(my(t))}function iF(t,e){return!t||!e?[]:aF(t,e,t.astNode,!0)}function x4(t,e,r){if(!t||!e)return;let n=aF(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function aF(t,e,r,n){if(!n){let i=Ih(t.grammarSource,xc);if(i&&i.feature===e)return[t]}return pc(t)&&t.astNode===r?t.content.flatMap(i=>aF(i,e,r,!1)):[]}function ret(t,e){return t?oF(t,e,t?.astNode):[]}function sF(t,e,r){if(!t)return;let n=oF(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function oF(t,e,r){if(t.astNode!==r)return[];if(Dl(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=nm(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Dl(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function lF(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Ih(t.grammarSource,xc);if(r)return r;t=t.container}}function zC(t){let e=t;return h4(e)&&(Fh(e.$container)?e=e.$container.$container:Bh(e.$container)?e=e.$container:_u(e.$container)),Mge(t,e,new Map)}function Mge(t,e,r){function n(i,a){let s;return Ih(i,xc)||(s=Mge(a,a,r)),r.set(t,s),s}if(o(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let i of gc(e)){if(xc(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Tc(i)&&wa(i.rule.ref))return n(i,i.rule.ref);if(RC(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Ige(t){let e=t.$container;if(Pd(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Fh(a))return a;{let s=gc(r[i]).find(Fh);if(s)return s}}}if(u4(e))return Ige(e)}function net(t,e){return t==="?"||t==="*"||Pd(e)&&!!e.guardCondition}function iet(t){return t==="*"||t==="+"}function aet(t){return t==="+="}function b4(t){return Oge(t,new Set)}function Oge(t,e){if(e.has(t))return!0;e.add(t);for(let r of gc(t))if(Tc(r)){if(!r.rule.ref||wa(r.rule.ref)&&!Oge(r.rule.ref,e)||Bd(r.rule.ref))return!1}else{if(xc(r))return!1;if(Fh(r))return!1}return!!t.definition}function set(t){return tF(t.type,new Set)}function tF(t,e){if(e.has(t))return!0;if(e.add(t),EB(t))return!1;if(OB(t))return!1;if(zB(t))return t.types.every(r=>tF(r,e));if(RC(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return NC(r)?tF(r.type,e):!1}else return!1}else return!1}function GC(t){if(!Os(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function $d(t){if(Bh(t))return wa(t)&&b4(t)?t.name:GC(t)??t.name;if(LB(t)||NC(t)||BB(t))return t.name;if(Fh(t)){let e=Pge(t);if(e)return e}else if(h4(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Pge(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return $d(t.type.ref)}function oet(t){return Os(t)?t.type?.name??"string":wa(t)&&b4(t)?t.name:GC(t)??t.name}function cF(t){return Os(t)?t.type?.name??"string":GC(t)??t.name}function my(t){let e={s:!1,i:!1,u:!1},r=gy(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function gy(t,e){if(FB(t))return cet(t);if($B(t))return uet(t);if(AB(t))return det(t);if(LC(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return $h(gy(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(NB(t))return fet(t);if(GB(t))return het(t);if(PB(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),$h(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(VB(t))return $h(uF,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function cet(t){return $h(t.elements.map(e=>gy(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function uet(t){return $h(t.elements.map(e=>gy(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function het(t){return $h(`${uF}*?${gy(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function fet(t){return $h(`(?!${gy(t.terminal)})${uF}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function det(t){return t.right?$h(`[${eF(t.left)}-${eF(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):$h(eF(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function eF(t){return Fd(t.value)}function $h(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var uF,wc=I(()=>{"use strict";PC();Uo();mc();ls();yc();py();o(Rge,"getEntryRule");o(Lge,"getHiddenRules");o(v4,"getAllReachableRules");o(Nge,"ruleDfs");o(tet,"getAllRulesUsedForCrossReferences");o(rF,"getCrossReferenceTerminal");o(nF,"isCommentTerminal");o(iF,"findNodesForProperty");o(x4,"findNodeForProperty");o(aF,"findNodesForPropertyInternal");o(ret,"findNodesForKeyword");o(sF,"findNodeForKeyword");o(oF,"findNodesForKeywordInternal");o(lF,"findAssignment");o(zC,"findNameAssignment");o(Mge,"findNameAssignmentInternal");o(Ige,"getActionAtElement");o(net,"isOptionalCardinality");o(iet,"isArrayCardinality");o(aet,"isArrayOperator");o(b4,"isDataTypeRule");o(Oge,"isDataTypeRuleInternal");o(set,"isDataType");o(tF,"isDataTypeInternal");o(GC,"getExplicitRuleType");o($d,"getTypeName");o(Pge,"getActionType");o(oet,"getRuleTypeName");o(cF,"getRuleType");o(my,"terminalRegex");uF=/[\s\S]/.source;o(gy,"abstractElementToRegex");o(cet,"terminalAlternativesToRegex");o(uet,"terminalGroupToRegex");o(het,"untilTokenToRegex");o(fet,"negateTokenToRegex");o(det,"characterRangeToRegex");o(eF,"keywordToRegex");o($h,"withCardinality")});function hF(t){let e=[],r=t.Grammar;for(let n of r.rules)Os(n)&&nF(n)&&ZB(my(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:IC}}var fF=I(()=>{"use strict";yc();wc();py();Uo();o(hF,"createGrammarConfig")});var dF=I(()=>{"use strict"});function yy(t){console&&console.error&&console.error(`Error: ${t}`)}function T4(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var Bge=I(()=>{"use strict";o(yy,"PRINT_ERROR");o(T4,"PRINT_WARNING")});function w4(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var Fge=I(()=>{"use strict";o(w4,"timer")});function k4(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return o(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var $ge=I(()=>{"use strict";o(k4,"toFastProperties")});var vy=I(()=>{"use strict";Bge();Fge();$ge()});function pet(t){return met(t)?t.LABEL:t.name}function met(t){return Mi(t.LABEL)&&t.LABEL!==""}function qC(t){return it(t,xy)}function xy(t){function e(r){return it(r,xy)}if(o(e,"convertDefinition"),t instanceof Tn){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Mi(t.label)&&(r.label=t.label),r}else{if(t instanceof Un)return{type:"Alternative",definition:e(t.definition)};if(t instanceof wn)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Wn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Hn)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:xy(new Pr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Bn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:xy(new Pr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Kr)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Fn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Pr){let r={type:"Terminal",name:t.terminalType.name,label:pet(t.terminalType),idx:t.idx};Mi(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=bl(n)?n.source:n),r}else{if(t instanceof Ps)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var Wo,Tn,Ps,Un,wn,Wn,Hn,Kr,Bn,Fn,Pr,UC=I(()=>{"use strict";Kt();o(pet,"tokenLabel");o(met,"hasTokenLabel");Wo=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Re(this.definition,r=>{r.accept(e)})}},Tn=class extends Wo{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ps=class extends Wo{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",Pa(this,uo(e,r=>r!==void 0))}},Un=class extends Wo{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Pa(this,uo(e,r=>r!==void 0))}},wn=class extends Wo{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Wn=class extends Wo{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Hn=class extends Wo{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Kr=class extends Wo{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Bn=class extends Wo{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,Pa(this,uo(e,r=>r!==void 0))}},Fn=class extends Wo{static{o(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Pa(this,uo(e,r=>r!==void 0))}},Pr=class{static{o(this,"Terminal")}constructor(e){this.idx=1,Pa(this,uo(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(qC,"serializeGrammar");o(xy,"serializeProduction")});var Bs,zge=I(()=>{"use strict";UC();Bs=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case Tn:return this.visitNonTerminal(r);case Un:return this.visitAlternative(r);case wn:return this.visitOption(r);case Wn:return this.visitRepetitionMandatory(r);case Hn:return this.visitRepetitionMandatoryWithSeparator(r);case Bn:return this.visitRepetitionWithSeparator(r);case Kr:return this.visitRepetition(r);case Fn:return this.visitAlternation(r);case Pr:return this.visitTerminal(r);case Ps:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function pF(t){return t instanceof Un||t instanceof wn||t instanceof Kr||t instanceof Wn||t instanceof Hn||t instanceof Bn||t instanceof Pr||t instanceof Ps}function cm(t,e=[]){return t instanceof wn||t instanceof Kr||t instanceof Bn?!0:t instanceof Fn?ub(t.definition,n=>cm(n,e)):t instanceof Tn&&ai(e,t)?!1:t instanceof Wo?(t instanceof Tn&&e.push(t),rs(t.definition,n=>cm(n,e))):!1}function mF(t){return t instanceof Fn}function vo(t){if(t instanceof Tn)return"SUBRULE";if(t instanceof wn)return"OPTION";if(t instanceof Fn)return"OR";if(t instanceof Wn)return"AT_LEAST_ONE";if(t instanceof Hn)return"AT_LEAST_ONE_SEP";if(t instanceof Bn)return"MANY_SEP";if(t instanceof Kr)return"MANY";if(t instanceof Pr)return"CONSUME";throw Error("non exhaustive match")}var Gge=I(()=>{"use strict";Kt();UC();o(pF,"isSequenceProd");o(cm,"isOptionalProd");o(mF,"isBranchingProd");o(vo,"getProductionDslName")});var Fs=I(()=>{"use strict";UC();zge();Gge()});function Vge(t,e,r){return[new wn({definition:[new Pr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var zh,WC=I(()=>{"use strict";Kt();Fs();zh=class{static{o(this,"RestWalker")}walk(e,r=[]){Re(e.definition,(n,i)=>{let a=Ni(e.definition,i+1);if(n instanceof Tn)this.walkProdRef(n,a,r);else if(n instanceof Pr)this.walkTerminal(n,a,r);else if(n instanceof Un)this.walkFlat(n,a,r);else if(n instanceof wn)this.walkOption(n,a,r);else if(n instanceof Wn)this.walkAtLeastOne(n,a,r);else if(n instanceof Hn)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Bn)this.walkManySep(n,a,r);else if(n instanceof Kr)this.walkMany(n,a,r);else if(n instanceof Fn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new wn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=Vge(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new wn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=Vge(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Re(e.definition,a=>{let s=new Un({definition:[a]});this.walk(s,i)})}};o(Vge,"restForRepetitionWithSeparator")});function um(t){if(t instanceof Tn)return um(t.referencedRule);if(t instanceof Pr)return vet(t);if(pF(t))return get(t);if(mF(t))return yet(t);throw Error("non exhaustive match")}function get(t){let e=[],r=t.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=cm(a),e=e.concat(um(a)),n=n+1,i=r.length>n;return _1(e)}function yet(t){let e=it(t.definition,r=>um(r));return _1(ln(e))}function vet(t){return[t.terminalType]}var gF=I(()=>{"use strict";Kt();Fs();o(um,"first");o(get,"firstForSequence");o(yet,"firstForBranching");o(vet,"firstForTerminal")});var HC,yF=I(()=>{"use strict";HC="_~IN~_"});function qge(t){let e={};return Re(t,r=>{let n=new vF(r).startWalking();Pa(e,n)}),e}function xet(t,e){return t.name+e+HC}var vF,Uge=I(()=>{"use strict";WC();gF();Kt();yF();Fs();vF=class extends zh{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=xet(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Un({definition:a}),l=um(s);this.follows[i]=l}};o(qge,"computeAllProdsFollows");o(xet,"buildBetweenProdsFollowPrefix")});function by(t){let e=t.toString();if(YC.hasOwnProperty(e))return YC[e];{let r=bet.pattern(e);return YC[e]=r,r}}function Wge(){YC={}}var YC,bet,jC=I(()=>{"use strict";g4();YC={},bet=new om;o(by,"getRegExpAst");o(Wge,"clearRegExpParserCache")});function jge(t,e=!1){try{let r=by(t);return xF(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Yge)e&&T4(`${S4} Unable to optimize: < ${t.toString()} > +`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var Pu,u1e=O(()=>{"use strict";Pu=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"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){}}});var _T=O(()=>{"use strict";c1e();u1e()});var ZC={};vr(ZC,{NEWLINE_REGEXP:()=>dF,escapeRegExp:()=>Vd,getTerminalParts:()=>ztt,isMultilineComment:()=>pF,isWhitespace:()=>DT,partialMatches:()=>mF,partialRegExp:()=>d1e,whitespaceCharacters:()=>f1e});function ztt(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=h1e.pattern(t),r=[];for(let n of e.value.value)hm.reset(t),hm.visit(n),r.push({start:hm.startRegexp,end:hm.endRegex});return r}catch{return[]}}function pF(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),hm.reset(t),hm.visit(h1e.pattern(t)),hm.multiline}catch{return!1}}function DT(t){let e=typeof t=="string"?new RegExp(t):t;return f1e.some(r=>e.test(r))}function Vd(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function mF(t,e){let r=d1e(t),n=e.match(r);return!!n&&n[0].length>0}function d1e(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",s;function l(h){a+=r.substr(n,h),n+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(o(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?l(s[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return o(i,"process"),new RegExp(i(),t.flags)}var dF,h1e,fF,hm,f1e,wy=O(()=>{"use strict";_T();dF=/\r?\n/gm,h1e=new um,fF=class extends Pu{static{o(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Vd(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},hm=new fF;o(ztt,"getTerminalParts");o(pF,"isMultilineComment");f1e=`\f +\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");o(DT,"isWhitespace");o(Vd,"escapeRegExp");o(mF,"partialMatches");o(d1e,"partialRegExp")});var t6={};vr(t6,{findAssignment:()=>EF,findNameAssignment:()=>JC,findNodeForKeyword:()=>wF,findNodeForProperty:()=>LT,findNodesForKeyword:()=>Vtt,findNodesForKeywordInternal:()=>kF,findNodesForProperty:()=>bF,getActionAtElement:()=>v1e,getActionType:()=>b1e,getAllReachableRules:()=>RT,getAllRulesUsedForCrossReferences:()=>Gtt,getCrossReferenceTerminal:()=>vF,getEntryRule:()=>p1e,getExplicitRuleType:()=>e6,getHiddenRules:()=>m1e,getRuleType:()=>SF,getRuleTypeName:()=>Ytt,getTypeName:()=>qd,isArrayCardinality:()=>Utt,isArrayOperator:()=>Wtt,isCommentTerminal:()=>xF,isDataType:()=>Htt,isDataTypeRule:()=>NT,isOptionalCardinality:()=>qtt,terminalRegex:()=>ky});function p1e(t){return t.rules.find(e=>Sa(e)&&e.entry)}function m1e(t){return t.rules.filter(e=>Bs(e)&&e.hidden)}function RT(t,e){let r=new Set,n=p1e(t);if(!n)return new Set(t.rules);let i=[n].concat(m1e(t));for(let s of i)g1e(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||Bs(s)&&s.hidden)&&a.add(s);return a}function g1e(t,e,r){e.add(t.name),Ec(t).forEach(n=>{if(Dc(n)||r&&UC(n)){let i=n.rule.ref;i&&!e.has(i.name)&&g1e(i,e,r)}})}function Gtt(t){let e=new Set;return Ec(t).forEach(r=>{_c(r)&&(Sa(r.type.ref)&&e.add(r.type.ref),kT(r.type.ref)&&Sa(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function vF(t){if(t.terminal)return t.terminal;if(t.type.ref)return JC(t.type.ref)?.terminal}function xF(t){return t.hidden&&!DT(ky(t))}function bF(t,e){return!t||!e?[]:TF(t,e,t.astNode,!0)}function LT(t,e,r){if(!t||!e)return;let n=TF(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function TF(t,e,r,n){if(!n){let i=zh(t.grammarSource,Ac);if(i&&i.feature===e)return[t]}return wc(t)&&t.astNode===r?t.content.flatMap(i=>TF(i,e,r,!1)):[]}function Vtt(t,e){return t?kF(t,e,t?.astNode):[]}function wF(t,e,r){if(!t)return;let n=kF(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function kF(t,e,r){if(t.astNode!==r)return[];if(Pl(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=sm(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Pl(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function EF(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=zh(t.grammarSource,Ac);if(r)return r;t=t.container}}function JC(t){let e=t;return kT(e)&&(Uh(e.$container)?e=e.$container.$container:qh(e.$container)?e=e.$container:Ou(e.$container)),y1e(t,e,new Map)}function y1e(t,e,r){function n(i,a){let s;return zh(i,Ac)||(s=y1e(a,a,r)),r.set(t,s),s}if(o(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let i of Ec(e)){if(Ac(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Dc(i)&&Sa(i.rule.ref))return n(i,i.rule.ref);if(qC(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function v1e(t){let e=t.$container;if(zd(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Uh(a))return a;{let s=Ec(r[i]).find(Uh);if(s)return s}}}if(wT(e))return v1e(e)}function qtt(t,e){return t==="?"||t==="*"||zd(e)&&!!e.guardCondition}function Utt(t){return t==="*"||t==="+"}function Wtt(t){return t==="+="}function NT(t){return x1e(t,new Set)}function x1e(t,e){if(e.has(t))return!0;e.add(t);for(let r of Ec(t))if(Dc(r)){if(!r.rule.ref||Sa(r.rule.ref)&&!x1e(r.rule.ref,e)||Gd(r.rule.ref))return!1}else{if(Ac(r))return!1;if(Uh(r))return!1}return!!t.definition}function Htt(t){return yF(t.type,new Set)}function yF(t,e){if(e.has(t))return!0;if(e.add(t),GB(t))return!1;if(QB(t))return!1;if(rF(t))return t.types.every(r=>yF(r,e));if(qC(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return WC(r)?yF(r.type,e):!1}else return!1}else return!1}function e6(t){if(!Bs(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function qd(t){if(qh(t))return Sa(t)&&NT(t)?t.name:e6(t)??t.name;if(YB(t)||WC(t)||JB(t))return t.name;if(Uh(t)){let e=b1e(t);if(e)return e}else if(kT(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function b1e(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return qd(t.type.ref)}function Ytt(t){return Bs(t)?t.type?.name??"string":Sa(t)&&NT(t)?t.name:e6(t)??t.name}function SF(t){return Bs(t)?t.type?.name??"string":e6(t)??t.name}function ky(t){let e={s:!1,i:!1,u:!1},r=Ey(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function Ey(t,e){if(eF(t))return jtt(t);if(tF(t))return Xtt(t);if(qB(t))return Ztt(t);if(UC(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Wh(Ey(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(jB(t))return Qtt(t);if(nF(t))return Ktt(t);if(ZB(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Wh(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(iF(t))return Wh(CF,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function jtt(t){return Wh(t.elements.map(e=>Ey(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Xtt(t){return Wh(t.elements.map(e=>Ey(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ktt(t){return Wh(`${CF}*?${Ey(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Qtt(t){return Wh(`(?!${Ey(t.terminal)})${CF}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Ztt(t){return t.right?Wh(`[${gF(t.left)}-${gF(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Wh(gF(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function gF(t){return Vd(t.value)}function Wh(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var CF,Rc=O(()=>{"use strict";XC();Zo();kc();us();Sc();wy();o(p1e,"getEntryRule");o(m1e,"getHiddenRules");o(RT,"getAllReachableRules");o(g1e,"ruleDfs");o(Gtt,"getAllRulesUsedForCrossReferences");o(vF,"getCrossReferenceTerminal");o(xF,"isCommentTerminal");o(bF,"findNodesForProperty");o(LT,"findNodeForProperty");o(TF,"findNodesForPropertyInternal");o(Vtt,"findNodesForKeyword");o(wF,"findNodeForKeyword");o(kF,"findNodesForKeywordInternal");o(EF,"findAssignment");o(JC,"findNameAssignment");o(y1e,"findNameAssignmentInternal");o(v1e,"getActionAtElement");o(qtt,"isOptionalCardinality");o(Utt,"isArrayCardinality");o(Wtt,"isArrayOperator");o(NT,"isDataTypeRule");o(x1e,"isDataTypeRuleInternal");o(Htt,"isDataType");o(yF,"isDataTypeInternal");o(e6,"getExplicitRuleType");o(qd,"getTypeName");o(b1e,"getActionType");o(Ytt,"getRuleTypeName");o(SF,"getRuleType");o(ky,"terminalRegex");CF=/[\s\S]/.source;o(Ey,"abstractElementToRegex");o(jtt,"terminalAlternativesToRegex");o(Xtt,"terminalGroupToRegex");o(Ktt,"untilTokenToRegex");o(Qtt,"negateTokenToRegex");o(Ztt,"characterRangeToRegex");o(gF,"keywordToRegex");o(Wh,"withCardinality")});function AF(t){let e=[],r=t.Grammar;for(let n of r.rules)Bs(n)&&xF(n)&&pF(ky(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:YC}}var _F=O(()=>{"use strict";Sc();Rc();wy();Zo();o(AF,"createGrammarConfig")});var DF=O(()=>{"use strict"});function Sy(t){console&&console.error&&console.error(`Error: ${t}`)}function MT(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var T1e=O(()=>{"use strict";o(Sy,"PRINT_ERROR");o(MT,"PRINT_WARNING")});function IT(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var w1e=O(()=>{"use strict";o(IT,"timer")});function OT(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return o(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var k1e=O(()=>{"use strict";o(OT,"toFastProperties")});var Cy=O(()=>{"use strict";T1e();w1e();k1e()});function Jtt(t){return ert(t)?t.LABEL:t.name}function ert(t){return Bi(t.LABEL)&&t.LABEL!==""}function r6(t){return lt(t,Ay)}function Ay(t){function e(r){return lt(r,Ay)}if(o(e,"convertDefinition"),t instanceof Sn){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Bi(t.label)&&(r.label=t.label),r}else{if(t instanceof Yn)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Cn)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof jn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Xn)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ay(new Yr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof zn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ay(new Yr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Jr)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Gn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Yr){let r={type:"Terminal",name:t.terminalType.name,label:Jtt(t.terminalType),idx:t.idx};Bi(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=Al(n)?n.source:n),r}else{if(t instanceof Fs)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var Jo,Sn,Fs,Yn,Cn,jn,Xn,Jr,zn,Gn,Yr,n6=O(()=>{"use strict";rr();o(Jtt,"tokenLabel");o(ert,"hasTokenLabel");Jo=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Oe(this.definition,r=>{r.accept(e)})}},Sn=class extends Jo{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,$a(this,go(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Fs=class extends Jo{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",$a(this,go(e,r=>r!==void 0))}},Yn=class extends Jo{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,$a(this,go(e,r=>r!==void 0))}},Cn=class extends Jo{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},jn=class extends Jo{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},Xn=class extends Jo{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},Jr=class extends Jo{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},zn=class extends Jo{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,$a(this,go(e,r=>r!==void 0))}},Gn=class extends Jo{static{o(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,$a(this,go(e,r=>r!==void 0))}},Yr=class{static{o(this,"Terminal")}constructor(e){this.idx=1,$a(this,go(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(r6,"serializeGrammar");o(Ay,"serializeProduction")});var $s,E1e=O(()=>{"use strict";n6();$s=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case Sn:return this.visitNonTerminal(r);case Yn:return this.visitAlternative(r);case Cn:return this.visitOption(r);case jn:return this.visitRepetitionMandatory(r);case Xn:return this.visitRepetitionMandatoryWithSeparator(r);case zn:return this.visitRepetitionWithSeparator(r);case Jr:return this.visitRepetition(r);case Gn:return this.visitAlternation(r);case Yr:return this.visitTerminal(r);case Fs:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function RF(t){return t instanceof Yn||t instanceof Cn||t instanceof Jr||t instanceof jn||t instanceof Xn||t instanceof zn||t instanceof Yr||t instanceof Fs}function fm(t,e=[]){return t instanceof Cn||t instanceof Jr||t instanceof zn?!0:t instanceof Gn?wb(t.definition,n=>fm(n,e)):t instanceof Sn&&ci(e,t)?!1:t instanceof Jo?(t instanceof Sn&&e.push(t),is(t.definition,n=>fm(n,e))):!1}function LF(t){return t instanceof Gn}function ko(t){if(t instanceof Sn)return"SUBRULE";if(t instanceof Cn)return"OPTION";if(t instanceof Gn)return"OR";if(t instanceof jn)return"AT_LEAST_ONE";if(t instanceof Xn)return"AT_LEAST_ONE_SEP";if(t instanceof zn)return"MANY_SEP";if(t instanceof Jr)return"MANY";if(t instanceof Yr)return"CONSUME";throw Error("non exhaustive match")}var S1e=O(()=>{"use strict";rr();n6();o(RF,"isSequenceProd");o(fm,"isOptionalProd");o(LF,"isBranchingProd");o(ko,"getProductionDslName")});var zs=O(()=>{"use strict";n6();E1e();S1e()});function C1e(t,e,r){return[new Cn({definition:[new Yr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var Hh,i6=O(()=>{"use strict";rr();zs();Hh=class{static{o(this,"RestWalker")}walk(e,r=[]){Oe(e.definition,(n,i)=>{let a=Pi(e.definition,i+1);if(n instanceof Sn)this.walkProdRef(n,a,r);else if(n instanceof Yr)this.walkTerminal(n,a,r);else if(n instanceof Yn)this.walkFlat(n,a,r);else if(n instanceof Cn)this.walkOption(n,a,r);else if(n instanceof jn)this.walkAtLeastOne(n,a,r);else if(n instanceof Xn)this.walkAtLeastOneSep(n,a,r);else if(n instanceof zn)this.walkManySep(n,a,r);else if(n instanceof Jr)this.walkMany(n,a,r);else if(n instanceof Gn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Cn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=C1e(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Cn({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=C1e(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Oe(e.definition,a=>{let s=new Yn({definition:[a]});this.walk(s,i)})}};o(C1e,"restForRepetitionWithSeparator")});function dm(t){if(t instanceof Sn)return dm(t.referencedRule);if(t instanceof Yr)return nrt(t);if(RF(t))return trt(t);if(LF(t))return rrt(t);throw Error("non exhaustive match")}function trt(t){let e=[],r=t.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=fm(a),e=e.concat(dm(a)),n=n+1,i=r.length>n;return P1(e)}function rrt(t){let e=lt(t.definition,r=>dm(r));return P1(fn(e))}function nrt(t){return[t.terminalType]}var NF=O(()=>{"use strict";rr();zs();o(dm,"first");o(trt,"firstForSequence");o(rrt,"firstForBranching");o(nrt,"firstForTerminal")});var a6,MF=O(()=>{"use strict";a6="_~IN~_"});function A1e(t){let e={};return Oe(t,r=>{let n=new IF(r).startWalking();$a(e,n)}),e}function irt(t,e){return t.name+e+a6}var IF,_1e=O(()=>{"use strict";i6();NF();rr();MF();zs();IF=class extends Hh{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=irt(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Yn({definition:a}),l=dm(s);this.follows[i]=l}};o(A1e,"computeAllProdsFollows");o(irt,"buildBetweenProdsFollowPrefix")});function _y(t){let e=t.toString();if(s6.hasOwnProperty(e))return s6[e];{let r=art.pattern(e);return s6[e]=r,r}}function D1e(){s6={}}var s6,art,o6=O(()=>{"use strict";_T();s6={},art=new um;o(_y,"getRegExpAst");o(D1e,"clearRegExpParserCache")});function N1e(t,e=!1){try{let r=_y(t);return OF(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===L1e)e&&MT(`${PT} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),yy(`${S4} + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Sy(`${PT} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function xF(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")XC(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)XC(f,e,r);else{for(let f=h.from;f<=h.to&&f=Ty){let f=h.from>=Ty?h.from:Ty,d=h.to,p=Ru(f),m=Ru(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":xF(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&bF(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return Rr(e)}function XC(t,e,r){let n=Ru(t);e[n]=n,r===!0&&Tet(t,e)}function Tet(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Ru(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Ru(i.charCodeAt(0));e[a]=a}}}function Hge(t,e){return Ds(t.value,r=>{if(typeof r=="number")return ai(e,r);{let n=r;return Ds(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function bF(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?zt(t.value)?rs(t.value,bF):bF(t.value):!1}function KC(t,e){if(e instanceof RegExp){let r=by(e),n=new TF(t);return n.visit(r),n.found}else return Ds(e,r=>ai(t,r.charCodeAt(0)))!==void 0}var Yge,S4,TF,Xge=I(()=>{"use strict";g4();Kt();vy();jC();wF();Yge="Complement Sets are not supported for first char optimization",S4=`Unable to use "first char" lexer optimizations: -`;o(jge,"getOptimizedStartCodesIndices");o(xF,"firstCharOptimizedIndices");o(XC,"addOptimizedIdxToResult");o(Tet,"handleIgnoreCase");o(Hge,"findCode");o(bF,"isWholeOptional");TF=class extends Du{static{o(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){ai(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Hge(e,this.targetCharCodes)===void 0&&(this.found=!0):Hge(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o(KC,"canMatchCharCode")});function Zge(t,e){e=td(e,{useSticky:SF,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:o((b,T)=>T(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Get()});let n;r("Reject Lexer.NA",()=>{n=nd(t,b=>b[hm]===li.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=it(n,b=>{let T=b[hm];if(bl(T)){let E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!ai(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],E[1])?E[1]:e.useSticky?Qge(T):Kge(T)}else{if($i(T))return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{let E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(E);return e.useSticky?Qge(w):Kge(w)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=it(n,b=>b.tokenTypeIdx),l=it(n,b=>{let T=b.GROUP;if(T!==li.SKIPPED){if(Mi(T))return T;if(Er(T))return!1;throw Error("non exhaustive match")}}),u=it(n,b=>{let T=b.LONGER_ALT;if(T)return zt(T)?it(T,w=>YS(n,w)):[YS(n,T)]}),h=it(n,b=>b.PUSH_MODE),f=it(n,b=>Gt(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=s1e(e.lineTerminatorCharacters);d=it(n,T=>!1),e.positionTracking!=="onlyOffset"&&(d=it(n,T=>Gt(T,"LINE_BREAKS")?!!T.LINE_BREAKS:a1e(T,b)===!1&&KC(b,T.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=it(n,n1e),m=it(a,$et),g=un(n,(b,T)=>{let E=T.GROUP;return Mi(E)&&E!==li.SKIPPED&&(b[E]=[]),b},{}),y=it(a,(b,T)=>({pattern:a[T],longerAlt:u[T],canLineTerminator:d[T],isCustom:p[T],short:m[T],group:l[T],push:h[T],pop:f[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=un(n,(b,T,E)=>{if(typeof T.PATTERN=="string"){let w=T.PATTERN.charCodeAt(0),k=Ru(w);kF(b,k,y[E])}else if(zt(T.START_CHARS_HINT)){let w;Re(T.START_CHARS_HINT,k=>{let C=typeof k=="string"?k.charCodeAt(0):k,D=Ru(C);w!==D&&(w=D,kF(b,D,y[E]))})}else if(bl(T.PATTERN))if(T.PATTERN.unicode)v=!1,e.ensureOptimizations&&yy(`${S4} Unable to analyze < ${T.PATTERN.toString()} > pattern. + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function OF(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")l6(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)l6(f,e,r);else{for(let f=h.from;f<=h.to&&f=Dy){let f=h.from>=Dy?h.from:Dy,d=h.to,p=Bu(f),m=Bu(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":OF(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&PF(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return Gr(e)}function l6(t,e,r){let n=Bu(t);e[n]=n,r===!0&&srt(t,e)}function srt(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Bu(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Bu(i.charCodeAt(0));e[a]=a}}}function R1e(t,e){return Ls(t.value,r=>{if(typeof r=="number")return ci(e,r);{let n=r;return Ls(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function PF(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?zt(t.value)?is(t.value,PF):PF(t.value):!1}function c6(t,e){if(e instanceof RegExp){let r=_y(e),n=new BF(t);return n.visit(r),n.found}else return Ls(e,r=>ci(t,r.charCodeAt(0)))!==void 0}var L1e,PT,BF,M1e=O(()=>{"use strict";_T();rr();Cy();o6();FF();L1e="Complement Sets are not supported for first char optimization",PT=`Unable to use "first char" lexer optimizations: +`;o(N1e,"getOptimizedStartCodesIndices");o(OF,"firstCharOptimizedIndices");o(l6,"addOptimizedIdxToResult");o(srt,"handleIgnoreCase");o(R1e,"findCode");o(PF,"isWholeOptional");BF=class extends Pu{static{o(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){ci(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?R1e(e,this.targetCharCodes)===void 0&&(this.found=!0):R1e(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o(c6,"canMatchCharCode")});function P1e(t,e){e=ad(e,{useSticky:zF,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:o((b,T)=>T(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Srt()});let n;r("Reject Lexer.NA",()=>{n=od(t,b=>b[pm]===fi.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=lt(n,b=>{let T=b[pm];if(Al(T)){let E=T.source;return E.length===1&&E!=="^"&&E!=="$"&&E!=="."&&!T.ignoreCase?E:E.length===2&&E[0]==="\\"&&!ci(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],E[1])?E[1]:e.useSticky?O1e(T):I1e(T)}else{if(Vi(T))return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{let E=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(E);return e.useSticky?O1e(w):I1e(w)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=lt(n,b=>b.tokenTypeIdx),l=lt(n,b=>{let T=b.GROUP;if(T!==fi.SKIPPED){if(Bi(T))return T;if(Dr(T))return!1;throw Error("non exhaustive match")}}),u=lt(n,b=>{let T=b.LONGER_ALT;if(T)return zt(T)?lt(T,w=>sS(n,w)):[sS(n,T)]}),h=lt(n,b=>b.PUSH_MODE),f=lt(n,b=>Gt(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=U1e(e.lineTerminatorCharacters);d=lt(n,T=>!1),e.positionTracking!=="onlyOffset"&&(d=lt(n,T=>Gt(T,"LINE_BREAKS")?!!T.LINE_BREAKS:q1e(T,b)===!1&&c6(b,T.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=lt(n,G1e),m=lt(a,krt),g=pn(n,(b,T)=>{let E=T.GROUP;return Bi(E)&&E!==fi.SKIPPED&&(b[E]=[]),b},{}),y=lt(a,(b,T)=>({pattern:a[T],longerAlt:u[T],canLineTerminator:d[T],isCustom:p[T],short:m[T],group:l[T],push:h[T],pop:f[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=pn(n,(b,T,E)=>{if(typeof T.PATTERN=="string"){let w=T.PATTERN.charCodeAt(0),k=Bu(w);$F(b,k,y[E])}else if(zt(T.START_CHARS_HINT)){let w;Oe(T.START_CHARS_HINT,k=>{let S=typeof k=="string"?k.charCodeAt(0):k,A=Bu(S);w!==A&&(w=A,$F(b,A,y[E]))})}else if(Al(T.PATTERN))if(T.PATTERN.unicode)v=!1,e.ensureOptimizations&&Sy(`${PT} Unable to analyze < ${T.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let w=jge(T.PATTERN,e.ensureOptimizations);Tr(w)&&(v=!1),Re(w,k=>{kF(b,k,y[E])})}else e.ensureOptimizations&&yy(`${S4} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let w=N1e(T.PATTERN,e.ensureOptimizations);Er(w)&&(v=!1),Oe(w,k=>{$F(b,k,y[E])})}else e.ensureOptimizations&&Sy(`${PT} TokenType: <${T.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function Jge(t,e){let r=[],n=ket(t);r=r.concat(n.errors);let i=Eet(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(wet(a)),r=r.concat(Met(a)),r=r.concat(Iet(a,e)),r=r.concat(Oet(a)),r}function wet(t){let e=[],r=cn(t,n=>bl(n[hm]));return e=e.concat(Aet(r)),e=e.concat(Ret(r)),e=e.concat(Let(r)),e=e.concat(Net(r)),e=e.concat(_et(r)),e}function ket(t){let e=cn(t,i=>!Gt(i,hm)),r=it(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:oi.MISSING_PATTERN,tokenTypes:[i]})),n=rd(t,e);return{errors:r,valid:n}}function Eet(t){let e=cn(t,i=>{let a=i[hm];return!bl(a)&&!$i(a)&&!Gt(a,"exec")&&!Mi(a)}),r=it(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:oi.INVALID_PATTERN,tokenTypes:[i]})),n=rd(t,e);return{errors:r,valid:n}}function Aet(t){class e extends Du{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=cn(t,i=>{let a=i.PATTERN;try{let s=by(a),l=new e;return l.visit(s),l.found}catch{return Cet.test(a.source)}});return it(r,i=>({message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function B1e(t,e){let r=[],n=lrt(t);r=r.concat(n.errors);let i=crt(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(ort(a)),r=r.concat(yrt(a)),r=r.concat(vrt(a,e)),r=r.concat(xrt(a)),r}function ort(t){let e=[],r=dn(t,n=>Al(n[pm]));return e=e.concat(hrt(r)),e=e.concat(prt(r)),e=e.concat(mrt(r)),e=e.concat(grt(r)),e=e.concat(frt(r)),e}function lrt(t){let e=dn(t,i=>!Gt(i,pm)),r=lt(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:hi.MISSING_PATTERN,tokenTypes:[i]})),n=sd(t,e);return{errors:r,valid:n}}function crt(t){let e=dn(t,i=>{let a=i[pm];return!Al(a)&&!Vi(a)&&!Gt(a,"exec")&&!Bi(a)}),r=lt(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:hi.INVALID_PATTERN,tokenTypes:[i]})),n=sd(t,e);return{errors:r,valid:n}}function hrt(t){class e extends Pu{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=dn(t,i=>{let a=i.PATTERN;try{let s=_y(a),l=new e;return l.visit(s),l.found}catch{return urt.test(a.source)}});return lt(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:oi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function _et(t){let e=cn(t,n=>n.PATTERN.test(""));return it(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:oi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function Ret(t){class e extends Du{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=cn(t,i=>{let a=i.PATTERN;try{let s=by(a),l=new e;return l.visit(s),l.found}catch{return Det.test(a.source)}});return it(r,i=>({message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:hi.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function frt(t){let e=dn(t,n=>n.PATTERN.test(""));return lt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:hi.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function prt(t){class e extends Pu{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=dn(t,i=>{let a=i.PATTERN;try{let s=_y(a),l=new e;return l.visit(s),l.found}catch{return drt.test(a.source)}});return lt(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:oi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Let(t){let e=cn(t,n=>{let i=n[hm];return i instanceof RegExp&&(i.multiline||i.global)});return it(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:oi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function Net(t){let e=[],r=it(t,a=>un(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!ai(e,l)&&l.PATTERN!==li.NA&&(e.push(l),s.push(l)),s),[]));r=fu(r);let n=cn(r,a=>a.length>1);return it(n,a=>{let s=it(a,u=>u.name);return{message:`The same RegExp pattern ->${va(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:oi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function Met(t){let e=cn(t,n=>{if(!Gt(n,"GROUP"))return!1;let i=n.GROUP;return i!==li.SKIPPED&&i!==li.NA&&!Mi(i)});return it(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:oi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function Iet(t,e){let r=cn(t,i=>i.PUSH_MODE!==void 0&&!ai(e,i.PUSH_MODE));return it(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:oi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function Oet(t){let e=[],r=un(t,(n,i,a)=>{let s=i.PATTERN;return s===li.NA||(Mi(s)?n.push({str:s,idx:a,tokenType:i}):bl(s)&&Bet(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return Re(t,(n,i)=>{Re(r,({str:a,idx:s,tokenType:l})=>{if(i${l.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:hi.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function mrt(t){let e=dn(t,n=>{let i=n[pm];return i instanceof RegExp&&(i.multiline||i.global)});return lt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:hi.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function grt(t){let e=[],r=lt(t,a=>pn(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!ci(e,l)&&l.PATTERN!==fi.NA&&(e.push(l),s.push(l)),s),[]));r=xu(r);let n=dn(r,a=>a.length>1);return lt(n,a=>{let s=lt(a,u=>u.name);return{message:`The same RegExp pattern ->${Ta(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:hi.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function yrt(t){let e=dn(t,n=>{if(!Gt(n,"GROUP"))return!1;let i=n.GROUP;return i!==fi.SKIPPED&&i!==fi.NA&&!Bi(i)});return lt(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:hi.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function vrt(t,e){let r=dn(t,i=>i.PUSH_MODE!==void 0&&!ci(e,i.PUSH_MODE));return lt(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:hi.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function xrt(t){let e=[],r=pn(t,(n,i,a)=>{let s=i.PATTERN;return s===fi.NA||(Bi(s)?n.push({str:s,idx:a,tokenType:i}):Al(s)&&Trt(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return Oe(t,(n,i)=>{Oe(r,({str:a,idx:s,tokenType:l})=>{if(i${l.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:oi.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function Pet(t,e){if(bl(e)){if(Fet(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if($i(e))return e(t,0,[],{});if(Gt(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function Bet(t){return Ds([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function Fet(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition -`,type:oi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Gt(t,QC)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+QC+`> property in its definition -`,type:oi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Gt(t,QC)&&Gt(t,wy)&&!Gt(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${wy}: <${t.defaultMode}>which does not exist -`,type:oi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Gt(t,QC)&&Re(t.modes,(i,a)=>{Re(i,(s,l)=>{if(Er(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> -`,type:oi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Gt(s,"LONGER_ALT")){let u=zt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Re(u,h=>{!Er(h)&&!ai(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> -`,type:oi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function t1e(t,e,r){let n=[],i=!1,a=fu(ln(Rr(t.modes))),s=nd(a,u=>u[hm]===li.NA),l=s1e(r);return e&&Re(s,u=>{let h=a1e(u,l);if(h!==!1){let d={message:zet(u,h),type:h.issue,tokenType:u};n.push(d)}else Gt(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):KC(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:hi.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function brt(t,e){if(Al(e)){if(wrt(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(Vi(e))return e(t,0,[],{});if(Gt(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function Trt(t){return Ls([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function wrt(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\? property in its definition +`,type:hi.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Gt(t,u6)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+u6+`> property in its definition +`,type:hi.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Gt(t,u6)&&Gt(t,Ry)&&!Gt(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ry}: <${t.defaultMode}>which does not exist +`,type:hi.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Gt(t,u6)&&Oe(t.modes,(i,a)=>{Oe(i,(s,l)=>{if(Dr(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> +`,type:hi.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Gt(s,"LONGER_ALT")){let u=zt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Oe(u,h=>{!Dr(h)&&!ci(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> +`,type:hi.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function $1e(t,e,r){let n=[],i=!1,a=xu(fn(Gr(t.modes))),s=od(a,u=>u[pm]===fi.NA),l=U1e(r);return e&&Oe(s,u=>{let h=q1e(u,l);if(h!==!1){let d={message:Ert(u,h),type:h.issue,tokenType:u};n.push(d)}else Gt(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):c6(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:oi.NO_LINE_BREAKS_FLAGS}),n}function r1e(t){let e={},r=en(t);return Re(r,n=>{let i=t[n];if(zt(i))e[n]=[];else throw Error("non exhaustive match")}),e}function n1e(t){let e=t.PATTERN;if(bl(e))return!1;if($i(e))return!0;if(Gt(e,"exec"))return!0;if(Mi(e))return!1;throw Error("non exhaustive match")}function $et(t){return Mi(t)&&t.length===1?t.charCodeAt(0):!1}function a1e(t,e){if(Gt(t,"LINE_BREAKS"))return!1;if(bl(t.PATTERN)){try{KC(e,t.PATTERN)}catch(r){return{issue:oi.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(Mi(t.PATTERN))return!1;if(n1e(t))return{issue:oi.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function zet(t,e){if(e.issue===oi.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + for details.`,type:hi.NO_LINE_BREAKS_FLAGS}),n}function z1e(t){let e={},r=nn(t);return Oe(r,n=>{let i=t[n];if(zt(i))e[n]=[];else throw Error("non exhaustive match")}),e}function G1e(t){let e=t.PATTERN;if(Al(e))return!1;if(Vi(e))return!0;if(Gt(e,"exec"))return!0;if(Bi(e))return!1;throw Error("non exhaustive match")}function krt(t){return Bi(t)&&t.length===1?t.charCodeAt(0):!1}function q1e(t,e){if(Gt(t,"LINE_BREAKS"))return!1;if(Al(t.PATTERN)){try{c6(e,t.PATTERN)}catch(r){return{issue:hi.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(Bi(t.PATTERN))return!1;if(G1e(t))return{issue:hi.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function Ert(t,e){if(e.issue===hi.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. The problem is in the <${t.name}> Token Type Root cause: ${e.errMsg}. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===oi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===hi.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function s1e(t){return it(t,r=>Mi(r)?r.charCodeAt(0):r)}function kF(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Ru(t){return t255?255+~~(t/255):t}}var hm,wy,QC,SF,Cet,Det,i1e,Ty,ZC,wF=I(()=>{"use strict";g4();E4();Kt();vy();Xge();jC();hm="PATTERN",wy="defaultMode",QC="modes",SF=typeof new RegExp("(?:)").sticky=="boolean";o(Zge,"analyzeTokenTypes");o(Jge,"validatePatterns");o(wet,"validateRegExpPattern");o(ket,"findMissingPatterns");o(Eet,"findInvalidPatterns");Cet=/[^\\][$]/;o(Aet,"findEndOfInputAnchor");o(_et,"findEmptyMatchRegExps");Det=/[^\\[][\^]|^\^/;o(Ret,"findStartOfInputAnchor");o(Let,"findUnsupportedFlags");o(Net,"findDuplicatePatterns");o(Met,"findInvalidGroupType");o(Iet,"findModesThatDoNotExist");o(Oet,"findUnreachablePatterns");o(Pet,"tryToMatchStrToPattern");o(Bet,"noMetaChar");o(Fet,"usesLookAheadOrBehind");o(Kge,"addStartOfInput");o(Qge,"addStickyFlag");o(e1e,"performRuntimeChecks");o(t1e,"performWarningRuntimeChecks");o(r1e,"cloneEmptyGroups");o(n1e,"isCustomPattern");o($et,"isShortPattern");i1e={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function Vet(t){let e=yn(t),r=t,n=!0;for(;n;){r=fu(ln(it(r,a=>a.CATEGORIES)));let i=rd(r,e);e=e.concat(i),Tr(i)?n=!1:r=i}return e}function qet(t){Re(t,e=>{EF(e)||(c1e[o1e]=e,e.tokenTypeIdx=o1e++),l1e(e)&&!zt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),l1e(e)||(e.CATEGORIES=[]),Het(e)||(e.categoryMatches=[]),Yet(e)||(e.categoryMatchesMap={})})}function Uet(t){Re(t,e=>{e.categoryMatches=[],Re(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(c1e[n].tokenTypeIdx)})})}function Wet(t){Re(t,e=>{u1e([],e)})}function u1e(t,e){Re(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Re(e.CATEGORIES,r=>{let n=t.concat(e);ai(n,r)||u1e(n,r)})}function EF(t){return Gt(t,"tokenTypeIdx")}function l1e(t){return Gt(t,"CATEGORIES")}function Het(t){return Gt(t,"categoryMatches")}function Yet(t){return Gt(t,"categoryMatchesMap")}function h1e(t){return Gt(t,"tokenTypeIdx")}var o1e,c1e,fm=I(()=>{"use strict";Kt();o(Gh,"tokenStructuredMatcher");o(ky,"tokenStructuredMatcherNoCategories");o1e=1,c1e={};o(Vh,"augmentTokenTypes");o(Vet,"expandCategories");o(qet,"assignTokenDefaultProps");o(Uet,"assignCategoriesTokensProp");o(Wet,"assignCategoriesMapProp");o(u1e,"singleAssignCategoriesToksMap");o(EF,"hasShortKeyProperty");o(l1e,"hasCategoriesProperty");o(Het,"hasExtendingTokensTypesProperty");o(Yet,"hasExtendingTokensTypesMapProperty");o(h1e,"isTokenType")});var Sy,CF=I(()=>{"use strict";Sy={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var oi,C4,li,E4=I(()=>{"use strict";wF();Kt();vy();fm();CF();jC();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(oi||(oi={}));C4={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Sy,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(C4);li=class{static{o(this,"Lexer")}constructor(e,r=C4){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=w4(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=Pa({},C4,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===C4.lineTerminatorsPattern)this.config.lineTerminatorsPattern=i1e;else if(this.config.lineTerminatorCharacters===C4.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),zt(e)?i={modes:{defaultMode:yn(e)},defaultMode:wy}:(a=!1,i=yn(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(e1e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(t1e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Re(i.modes,(l,u)=>{i.modes[u]=nd(l,h=>Er(h))});let s=en(i.modes);if(Re(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Jge(l,s))}),Tr(this.lexerDefinitionErrors)){Vh(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=Zge(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=Pa({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Tr(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=it(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function U1e(t){return lt(t,r=>Bi(r)?r.charCodeAt(0):r)}function $F(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Bu(t){return t255?255+~~(t/255):t}}var pm,Ry,u6,zF,urt,drt,V1e,Dy,h6,FF=O(()=>{"use strict";_T();BT();rr();Cy();M1e();o6();pm="PATTERN",Ry="defaultMode",u6="modes",zF=typeof new RegExp("(?:)").sticky=="boolean";o(P1e,"analyzeTokenTypes");o(B1e,"validatePatterns");o(ort,"validateRegExpPattern");o(lrt,"findMissingPatterns");o(crt,"findInvalidPatterns");urt=/[^\\][$]/;o(hrt,"findEndOfInputAnchor");o(frt,"findEmptyMatchRegExps");drt=/[^\\[][\^]|^\^/;o(prt,"findStartOfInputAnchor");o(mrt,"findUnsupportedFlags");o(grt,"findDuplicatePatterns");o(yrt,"findInvalidGroupType");o(vrt,"findModesThatDoNotExist");o(xrt,"findUnreachablePatterns");o(brt,"tryToMatchStrToPattern");o(Trt,"noMetaChar");o(wrt,"usesLookAheadOrBehind");o(I1e,"addStartOfInput");o(O1e,"addStickyFlag");o(F1e,"performRuntimeChecks");o($1e,"performWarningRuntimeChecks");o(z1e,"cloneEmptyGroups");o(G1e,"isCustomPattern");o(krt,"isShortPattern");V1e={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function Crt(t){let e=Tn(t),r=t,n=!0;for(;n;){r=xu(fn(lt(r,a=>a.CATEGORIES)));let i=sd(r,e);e=e.concat(i),Er(i)?n=!1:r=i}return e}function Art(t){Oe(t,e=>{GF(e)||(Y1e[W1e]=e,e.tokenTypeIdx=W1e++),H1e(e)&&!zt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),H1e(e)||(e.CATEGORIES=[]),Rrt(e)||(e.categoryMatches=[]),Lrt(e)||(e.categoryMatchesMap={})})}function _rt(t){Oe(t,e=>{e.categoryMatches=[],Oe(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(Y1e[n].tokenTypeIdx)})})}function Drt(t){Oe(t,e=>{j1e([],e)})}function j1e(t,e){Oe(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Oe(e.CATEGORIES,r=>{let n=t.concat(e);ci(n,r)||j1e(n,r)})}function GF(t){return Gt(t,"tokenTypeIdx")}function H1e(t){return Gt(t,"CATEGORIES")}function Rrt(t){return Gt(t,"categoryMatches")}function Lrt(t){return Gt(t,"categoryMatchesMap")}function X1e(t){return Gt(t,"tokenTypeIdx")}var W1e,Y1e,mm=O(()=>{"use strict";rr();o(Yh,"tokenStructuredMatcher");o(Ly,"tokenStructuredMatcherNoCategories");W1e=1,Y1e={};o(jh,"augmentTokenTypes");o(Crt,"expandCategories");o(Art,"assignTokenDefaultProps");o(_rt,"assignCategoriesTokensProp");o(Drt,"assignCategoriesMapProp");o(j1e,"singleAssignCategoriesToksMap");o(GF,"hasShortKeyProperty");o(H1e,"hasCategoriesProperty");o(Rrt,"hasExtendingTokensTypesProperty");o(Lrt,"hasExtendingTokensTypesMapProperty");o(X1e,"isTokenType")});var Ny,VF=O(()=>{"use strict";Ny={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var hi,FT,fi,BT=O(()=>{"use strict";FF();rr();Cy();mm();VF();o6();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(hi||(hi={}));FT={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Ny,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(FT);fi=class{static{o(this,"Lexer")}constructor(e,r=FT){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=IT(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=$a({},FT,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===FT.lineTerminatorsPattern)this.config.lineTerminatorsPattern=V1e;else if(this.config.lineTerminatorCharacters===FT.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),zt(e)?i={modes:{defaultMode:Tn(e)},defaultMode:Ry}:(a=!1,i=Tn(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(F1e(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat($1e(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Oe(i.modes,(l,u)=>{i.modes[u]=od(l,h=>Dr(h))});let s=nn(i.modes);if(Oe(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(B1e(l,s))}),Er(this.lexerDefinitionErrors)){jh(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=P1e(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=$a({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Er(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=lt(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: -`+u)}Re(this.lexerDefinitionWarning,l=>{T4(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(SF?(this.chopInput=pa,this.match=this.matchWithTest):(this.updateLastIndex=yi,this.match=this.matchWithExec),a&&(this.handleModes=yi),this.trackStartLines===!1&&(this.computeNewColumn=pa),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=yi),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=un(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!Tr(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. +`+u)}Oe(this.lexerDefinitionWarning,l=>{MT(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(zF?(this.chopInput=va,this.match=this.matchWithTest):(this.updateLastIndex=ki,this.match=this.matchWithExec),a&&(this.handleModes=ki),this.trackStartLines===!1&&(this.computeNewColumn=va),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=ki),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=pn(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!Er(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Wge()}),this.TRACE_INIT("toFastProperties",()=>{k4(this)})})}tokenize(e,r=this.defaultMode){if(!Tr(this.lexerDefinitionErrors)){let i=it(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{D1e()}),this.TRACE_INIT("toFastProperties",()=>{OT(this)})})}tokenize(e,r=this.defaultMode){if(!Er(this.lexerDefinitionErrors)){let i=lt(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,l,u,h,f,d,p,m,g,y,v,x,b,T=e,E=T.length,w=0,k=0,C=this.hasCustom?0:Math.floor(e.length/10),D=new Array(C),R=[],O=this.trackStartLines?1:void 0,L=this.trackStartLines?1:void 0,S=r1e(this.emptyGroups),A=this.trackStartLines,_=this.config.lineTerminatorsPattern,N=0,M=[],P=[],B=[],F=[];Object.freeze(F);let G;function $(){return M}o($,"getPossiblePatternsSlow");function V(Z){let de=Ru(Z),re=P[de];return re===void 0?F:re}o(V,"getPossiblePatternsOptimized");let K=o(Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){let de=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);R.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:de})}else{B.pop();let de=ya(B);M=this.patternIdxToConfig[de],P=this.charCodeToPatternIdxToConfig[de],N=M.length;let re=this.canModeBeOptimized[de]&&this.config.safeMode===!1;P&&re?G=V:G=$}},"pop_mode");function ee(Z){B.push(Z),P=this.charCodeToPatternIdxToConfig[Z],M=this.patternIdxToConfig[Z],N=M.length,N=M.length;let de=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;P&&de?G=V:G=$}o(ee,"push_mode"),ee.call(this,r);let H,he=this.config.recoveryEnabled;for(;wu.length){u=s,h=f,H=le;break}}}break}}if(u!==null){if(d=u.length,p=H.group,p!==void 0&&(m=H.tokenTypeIdx,g=this.createTokenInstance(u,w,m,H.tokenType,O,L,d),this.handlePayload(g,h),p===!1?k=this.addToken(D,k,g):S[p].push(g)),e=this.chopInput(e,d),w=w+d,L=this.computeNewColumn(L,d),A===!0&&H.canLineTerminator===!0){let ne=0,te,Q;_.lastIndex=0;do te=_.test(u),te===!0&&(Q=_.lastIndex-1,ne++);while(te===!0);ne!==0&&(O=O+ne,L=d-Q,this.updateTokenEndLineColumnLocation(g,p,Q,ne,O,L,d))}this.handleModes(H,K,ee,g)}else{let ne=w,te=O,Q=L,le=he===!1;for(;le===!1&&w{"use strict";Kt();E4();fm();o(qh,"tokenLabel");o(AF,"hasTokenLabel");jet="parent",f1e="categories",d1e="label",p1e="group",m1e="push_mode",g1e="pop_mode",y1e="longer_alt",v1e="line_breaks",x1e="start_chars_hint";o(zd,"createToken");o(Xet,"createTokenInternal");Ho=zd({name:"EOF",pattern:li.NA});Vh([Ho]);o(Uh,"createTokenInstance");o(A4,"tokenMatcher")});var Wh,b1e,kc,Ey=I(()=>{"use strict";dm();Kt();Fs();Wh={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${AF(t)?`--> ${qh(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` -but found: '`+va(e).image+"'";if(n)return a+n+l;{let u=un(t,(p,m)=>p.concat(m),[]),h=it(u,p=>`[${it(p,m=>qh(m)).join(", ")}]`),d=`one of these possible Token sequences: -${it(h,(p,m)=>` ${m+1}. ${p}`).join(` +`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,l,u,h,f,d,p,m,g,y,v,x,b,T=e,E=T.length,w=0,k=0,S=this.hasCustom?0:Math.floor(e.length/10),A=new Array(S),L=[],I=this.trackStartLines?1:void 0,N=this.trackStartLines?1:void 0,C=z1e(this.emptyGroups),_=this.trackStartLines,D=this.config.lineTerminatorsPattern,M=0,R=[],P=[],B=[],F=[];Object.freeze(F);let G;function $(){return R}o($,"getPossiblePatternsSlow");function V(Y){let le=Bu(Y),ee=P[le];return ee===void 0?F:ee}o(V,"getPossiblePatternsOptimized");let X=o(Y=>{if(B.length===1&&Y.tokenType.PUSH_MODE===void 0){let le=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Y);L.push({offset:Y.startOffset,line:Y.startLine,column:Y.startColumn,length:Y.image.length,message:le})}else{B.pop();let le=ba(B);R=this.patternIdxToConfig[le],P=this.charCodeToPatternIdxToConfig[le],M=R.length;let ee=this.canModeBeOptimized[le]&&this.config.safeMode===!1;P&&ee?G=V:G=$}},"pop_mode");function Q(Y){B.push(Y),P=this.charCodeToPatternIdxToConfig[Y],R=this.patternIdxToConfig[Y],M=R.length,M=R.length;let le=this.canModeBeOptimized[Y]&&this.config.safeMode===!1;P&&le?G=V:G=$}o(Q,"push_mode"),Q.call(this,r);let H,ie=this.config.recoveryEnabled;for(;wu.length){u=s,h=f,H=xe;break}}}break}}if(u!==null){if(d=u.length,p=H.group,p!==void 0&&(m=H.tokenTypeIdx,g=this.createTokenInstance(u,w,m,H.tokenType,I,N,d),this.handlePayload(g,h),p===!1?k=this.addToken(A,k,g):C[p].push(g)),e=this.chopInput(e,d),w=w+d,N=this.computeNewColumn(N,d),_===!0&&H.canLineTerminator===!0){let J=0,te,Z;D.lastIndex=0;do te=D.test(u),te===!0&&(Z=D.lastIndex-1,J++);while(te===!0);J!==0&&(I=I+J,N=d-Z,this.updateTokenEndLineColumnLocation(g,p,Z,J,I,N,d))}this.handleModes(H,X,Q,g)}else{let J=w,te=I,Z=N,xe=ie===!1;for(;xe===!1&&w{"use strict";rr();BT();mm();o(Xh,"tokenLabel");o(qF,"hasTokenLabel");Nrt="parent",K1e="categories",Q1e="label",Z1e="group",J1e="push_mode",eye="pop_mode",tye="longer_alt",rye="line_breaks",nye="start_chars_hint";o(Ud,"createToken");o(Mrt,"createTokenInternal");el=Ud({name:"EOF",pattern:fi.NA});jh([el]);o(Kh,"createTokenInstance");o($T,"tokenMatcher")});var Qh,iye,Lc,My=O(()=>{"use strict";gm();rr();zs();Qh={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${qF(t)?`--> ${Xh(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` +but found: '`+Ta(e).image+"'";if(n)return a+n+l;{let u=pn(t,(p,m)=>p.concat(m),[]),h=lt(u,p=>`[${lt(p,m=>Xh(m)).join(", ")}]`),d=`one of these possible Token sequences: +${lt(h,(p,m)=>` ${m+1}. ${p}`).join(` `)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=` -but found: '`+va(e).image+"'";if(r)return i+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${it(t,h=>`[${it(h,f=>qh(f)).join(",")}]`).join(" ,")}>`;return i+u+s}}};Object.freeze(Wh);b1e={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+t.name+"<-"}},kc={buildDuplicateFoundError(t,e){function r(f){return f instanceof Pr?f.terminalType.name:f instanceof Tn?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let n=t.name,i=va(e),a=i.idx,s=vo(i),l=r(i),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} +but found: '`+Ta(e).image+"'";if(r)return i+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: + <${lt(t,h=>`[${lt(h,f=>Xh(f)).join(",")}]`).join(" ,")}>`;return i+u+s}}};Object.freeze(Qh);iye={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Lc={buildDuplicateFoundError(t,e){function r(f){return f instanceof Yr?f.terminalType.name:f instanceof Sn?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let n=t.name,i=Ta(e),a=i.idx,s=ko(i),l=r(i),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,` @@ -1133,110 +1142,110 @@ inside top level rule: ->`+t.name+"<-"}},kc={buildDuplicateFoundError(t,e){funct The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. To resolve this make sure each Terminal and Non-Terminal names are unique This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=it(t.prefixPath,i=>qh(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix +and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=lt(t.prefixPath,i=>Xh(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX -For Further details.`},buildAlternationAmbiguityError(t){let e=it(t.prefixPath,i=>qh(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, +For Further details.`},buildAlternationAmbiguityError(t){let e=lt(t.prefixPath,i=>Xh(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n},buildEmptyRepetitionError(t){let e=vo(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +For Further details.`,n},buildEmptyRepetitionError(t){let e=ko(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: inside <${t.topLevelRule.name}> Rule. - has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=it(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. + has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=lt(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ps?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function T1e(t,e){let r=new _F(t,e);return r.resolveRefs(),r.errors}var _F,w1e=I(()=>{"use strict";xo();Kt();Fs();o(T1e,"resolveGrammar");_F=class extends Bs{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Re(Rr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:na.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function r6(t,e,r=[]){r=yn(r);let n=[],i=0;function a(l){return l.concat(Ni(t,i+1))}o(a,"remainingPathWith");function s(l){let u=r6(a(l),e,r);return n.concat(u)}for(o(s,"getAlternativesForProd");r.length{Tr(u.definition)===!1&&(n=s(u.definition))}),n;if(l instanceof Pr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Ni(t,i)}),n}function n6(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Tr(d);){let p=d.pop();if(p===s){l&&ya(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(Tr(m))continue;let x=m[0];if(x===i){let b={idx:g,def:Ni(m),ruleStack:Ch(y),occurrenceStack:Ch(v)};d.push(b)}else if(x instanceof Pr)if(g=0;b--){let T=x.definition[b],E={idx:g,def:T.definition.concat(Ni(m)),ruleStack:y,occurrenceStack:v};d.push(E),d.push(s)}else if(x instanceof Un)d.push({idx:g,def:x.definition.concat(Ni(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof Ps)d.push(Ket(x,g,y,v));else throw Error("non exhaustive match")}return f}function Ket(t,e,r,n){let i=yn(r);i.push(t.name);let a=yn(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var DF,JC,Cy,e6,_4,t6,D4,R4=I(()=>{"use strict";Kt();gF();WC();Fs();DF=class extends zh{static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=yn(this.path.ruleStack).reverse(),this.occurrenceStack=yn(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Tr(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},JC=class extends DF{static{o(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new Un({definition:i});this.possibleTokTypes=um(a),this.found=!0}}},Cy=class extends zh{static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},e6=class extends Cy{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=va(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Pr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},_4=class extends Cy{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=va(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Pr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},t6=class extends Cy{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=va(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Pr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},D4=class extends Cy{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=va(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Pr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};o(r6,"possiblePathsFrom");o(n6,"nextPossibleTokensAfter");o(Ket,"expandTopLevelRule")});function L4(t){if(t instanceof wn||t==="Option")return ci.OPTION;if(t instanceof Kr||t==="Repetition")return ci.REPETITION;if(t instanceof Wn||t==="RepetitionMandatory")return ci.REPETITION_MANDATORY;if(t instanceof Hn||t==="RepetitionMandatoryWithSeparator")return ci.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Bn||t==="RepetitionWithSeparator")return ci.REPETITION_WITH_SEPARATOR;if(t instanceof Fn||t==="Alternation")return ci.ALTERNATION;throw Error("non exhaustive match")}function a6(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=L4(n);return a===ci.ALTERNATION?Ay(e,r,i):_y(e,r,a,i)}function S1e(t,e,r,n,i,a){let s=Ay(t,e,r),l=R1e(s)?ky:Gh;return a(s,n,l,i)}function E1e(t,e,r,n,i,a){let s=_y(t,e,i,r),l=R1e(s)?ky:Gh;return a(s[0],l,n)}function C1e(t,e,r,n){let i=t.length,a=rs(t,s=>rs(s,l=>l.length===1));if(e)return function(s){let l=it(s,u=>u.GATE);for(let u=0;uln(u)),l=un(s,(u,h,f)=>(Re(h,d=>{Gt(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Re(d.categoryMatches,p=>{Gt(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){let a=ln(t);if(a.length===1&&Tr(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=un(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Re(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;ar6([s],1)),n=k1e(r.length),i=it(r,s=>{let l={};return Re(s,u=>{let h=RF(u.partialPath);Re(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=k1e(l.length);for(let u=0;u{let x=RF(v.partialPath);Re(x,b=>{i[u][b]=!0})})}}}}return n}function Ay(t,e,r,n){let i=new i6(t,ci.ALTERNATION,n);return e.accept(i),_1e(i.result,r)}function _y(t,e,r,n){let i=new i6(t,r);e.accept(i);let a=i.result,l=new LF(e,t,r).startWalking(),u=new Un({definition:a}),h=new Un({definition:l});return _1e([u,h],n)}function s6(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function R1e(t){return rs(t,e=>rs(e,r=>rs(r,n=>Tr(n.categoryMatches))))}var ci,LF,i6,Dy=I(()=>{"use strict";Kt();R4();WC();fm();Fs();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ci||(ci={}));o(L4,"getProdType");o(a6,"getLookaheadPaths");o(S1e,"buildLookaheadFuncForOr");o(E1e,"buildLookaheadFuncForOptionalProd");o(C1e,"buildAlternativesLookAheadFunc");o(A1e,"buildSingleAlternativeLookaheadFunction");LF=class extends zh{static{o(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,ci.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,ci.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,ci.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,ci.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,ci.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},i6=class extends Bs{static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,ci.OPTION)}visitRepetition(e){this.checkIsTarget(e,ci.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,ci.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,ci.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,ci.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,ci.ALTERNATION)}};o(k1e,"initializeArrayOfArrays");o(RF,"pathToHashKeys");o(Qet,"isUniquePrefixHash");o(_1e,"lookAheadSequenceFromAlternatives");o(Ay,"getLookaheadPathsForOr");o(_y,"getLookaheadPathsForOptionalProd");o(s6,"containsPath");o(D1e,"isStrictPrefixOfPath");o(R1e,"areTokenCategoriesNotUsed")});function L1e(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return it(e,r=>Object.assign({type:na.CUSTOM_LOOKAHEAD_VALIDATION},r))}function N1e(t,e,r,n){let i=Ba(t,u=>Zet(u,r)),a=itt(t,e,r),s=Ba(t,u=>ttt(u,r)),l=Ba(t,u=>ett(u,t,n,r));return i.concat(a,s,l)}function Zet(t,e){let r=new NF;t.accept(r);let n=r.allProductions,i=iI(n,Jet),a=uo(i,l=>l.length>1);return it(Rr(a),l=>{let u=va(l),h=e.buildDuplicateFoundError(t,l),f=vo(u),d={message:h,type:na.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=M1e(u);return p&&(d.parameter=p),d})}function Jet(t){return`${vo(t)}_#_${t.idx}_#_${M1e(t)}`}function M1e(t){return t instanceof Pr?t.terminalType.name:t instanceof Tn?t.nonTerminalName:""}function ett(t,e,r,n){let i=[];if(un(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:na.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function I1e(t,e,r){let n=[],i;return ai(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:na.INVALID_RULE_OVERRIDE,ruleName:t})),n}function IF(t,e,r,n=[]){let i=[],a=o6(e.definition);if(Tr(a))return[];{let s=t.name;ai(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:na.LEFT_RECURSION,ruleName:s});let u=rd(a,n.concat([t])),h=Ba(u,f=>{let d=yn(n);return d.push(f),IF(t,f,r,d)});return i.concat(h)}}function o6(t){let e=[];if(Tr(t))return e;let r=va(t);if(r instanceof Tn)e.push(r.referencedRule);else if(r instanceof Un||r instanceof wn||r instanceof Wn||r instanceof Hn||r instanceof Bn||r instanceof Kr)e=e.concat(o6(r.definition));else if(r instanceof Fn)e=ln(it(r.definition,a=>o6(a.definition)));else if(!(r instanceof Pr))throw Error("non exhaustive match");let n=cm(r),i=t.length>1;if(n&&i){let a=Ni(t);return e.concat(o6(a))}else return e}function O1e(t,e){let r=new N4;t.accept(r);let n=r.alternations;return Ba(n,a=>{let s=Ch(a.definition);return Ba(s,(l,u)=>{let h=n6([l],[],Gh,1);return Tr(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:na.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function P1e(t,e,r){let n=new N4;t.accept(n);let i=n.alternations;return i=nd(i,s=>s.ignoreAmbiguities===!0),Ba(i,s=>{let l=s.idx,u=s.maxLookahead||e,h=Ay(l,t,u,s),f=rtt(h,s,t,r),d=ntt(h,s,t,r);return f.concat(d)})}function ttt(t,e){let r=new N4;t.accept(r);let n=r.alternations;return Ba(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:na.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function B1e(t,e,r){let n=[];return Re(t,i=>{let a=new MF;i.accept(a);let s=a.allProductions;Re(s,l=>{let u=L4(l),h=l.maxLookahead||e,f=l.idx,p=_y(f,i,u,h)[0];if(Tr(ln(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:na.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function rtt(t,e,r,n){let i=[],a=un(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Re(u,f=>{let d=[h];Re(t,(p,m)=>{h!==m&&s6(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!s6(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return it(a,l=>{let u=it(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:na.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function ntt(t,e,r,n){let i=un(t,(s,l,u)=>{let h=it(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return fu(Ba(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=cn(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:na.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function itt(t,e,r){let n=[],i=it(e,a=>a.name);return Re(t,a=>{let s=a.name;if(ai(i,s)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:na.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}var NF,N4,MF,M4=I(()=>{"use strict";Kt();xo();Fs();Dy();R4();fm();o(L1e,"validateLookahead");o(N1e,"validateGrammar");o(Zet,"validateDuplicateProductions");o(Jet,"identifyProductionForDuplicates");o(M1e,"getExtraProductionArgument");NF=class extends Bs{static{o(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};o(ett,"validateRuleDoesNotAlreadyExist");o(I1e,"validateRuleIsOverridden");o(IF,"validateNoLeftRecursion");o(o6,"getFirstNoneTerminal");N4=class extends Bs{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(O1e,"validateEmptyOrAlternative");o(P1e,"validateAmbiguousAlternationAlternatives");MF=class extends Bs{static{o(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};o(ttt,"validateTooManyAlts");o(B1e,"validateSomeNonEmptyLookaheadPath");o(rtt,"checkAlternativesAmbiguities");o(ntt,"checkPrefixAlternativesAmbiguities");o(itt,"checkTerminalAndNoneTerminalsNameSpace")});function F1e(t){let e=td(t,{errMsgProvider:b1e}),r={};return Re(t.rules,n=>{r[n.name]=n}),T1e(r,e.errMsgProvider)}function $1e(t){return t=td(t,{errMsgProvider:kc}),N1e(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var z1e=I(()=>{"use strict";Kt();w1e();M4();Ey();o(F1e,"resolveGrammar");o($1e,"validateGrammar")});function Gd(t){return ai(W1e,t.name)}var G1e,V1e,q1e,U1e,W1e,Ry,pm,I4,O4,P4,Ly=I(()=>{"use strict";Kt();G1e="MismatchedTokenException",V1e="NoViableAltException",q1e="EarlyExitException",U1e="NotAllInputParsedException",W1e=[G1e,V1e,q1e,U1e];Object.freeze(W1e);o(Gd,"isRecognitionException");Ry=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},pm=class extends Ry{static{o(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=G1e}},I4=class extends Ry{static{o(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=V1e}},O4=class extends Ry{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=U1e}},P4=class extends Ry{static{o(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=q1e}}});function att(t,e,r,n,i,a,s){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=Ho,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var OF,BF,PF,l6,FF=I(()=>{"use strict";dm();Kt();Ly();yF();xo();OF={},BF="InRuleRecoveryException",PF=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=BF}},l6=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Gt(e,"recoveryEnabled")?e.recoveryEnabled:$s.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=att)}getTokenToInsert(e){let r=Uh(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new pm(m,h,this.LA(0));g.resyncedTokens=Ch(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new PF("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Tr(r))return!1;let n=this.LA(1);return Ds(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return ai(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Ds(e,a=>A4(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return OF;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return it(e,(n,i)=>i===0?OF:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=it(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return ln(e)}getFollowSetFromFollowKey(e){if(e===OF)return[Ho];let r=e.ruleName+e.idxInCallingRule+HC+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Ho)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Ch(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=yn(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return it(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(att,"attemptInRepetitionRecovery")});function c6(t,e,r){return r|e|t}var u6=I(()=>{"use strict";o(c6,"getKeyForAutomaticLookahead")});var Hh,$F=I(()=>{"use strict";Kt();Ey();xo();M4();Dy();Hh=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:$s.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(Tr(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return Ba(e,r=>IF(r,r,kc))}validateEmptyOrAlternatives(e){return Ba(e,r=>O1e(r,kc))}validateAmbiguousAlternationAlternatives(e,r){return Ba(e,n=>P1e(n,r,kc))}validateSomeNonEmptyLookaheadPath(e,r){return B1e(e,r,kc)}buildLookaheadForAlternation(e){return S1e(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,C1e)}buildLookaheadForOptional(e){return E1e(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,L4(e.prodType),A1e)}}});function stt(t){h6.reset(),t.accept(h6);let e=h6.dslMethods;return h6.reset(),e}var f6,zF,h6,H1e=I(()=>{"use strict";Kt();xo();u6();Fs();$F();f6=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Gt(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:$s.dynamicTokensEnabled,this.maxLookahead=Gt(e,"maxLookahead")?e.maxLookahead:$s.maxLookahead,this.lookaheadStrategy=Gt(e,"lookaheadStrategy")?e.lookaheadStrategy:new Hh({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Re(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=stt(r);Re(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${vo(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=c6(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Re(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,vo(h))}),Re(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,vo(h))}),Re(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,vo(h))}),Re(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,vo(h))}),Re(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,vo(h))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=c6(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return c6(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},zF=class extends Bs{static{o(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},h6=new zF;o(stt,"collectMethods")});function qF(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o(qF,"setNodeLocationOnlyOffset");o(UF,"setNodeLocationFull");o(Y1e,"addTerminalToCst");o(j1e,"addNoneTerminalToCst")});function WF(t,e){Object.defineProperty(t,ott,{enumerable:!1,configurable:!0,writable:!1,value:e})}var ott,K1e=I(()=>{"use strict";ott="name";o(WF,"defineNameProp")});function ltt(t,e){let r=en(t),n=r.length;for(let i=0;is.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Fs?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function aye(t,e){let r=new UF(t,e);return r.resolveRefs(),r.errors}var UF,sye=O(()=>{"use strict";Eo();rr();zs();o(aye,"resolveGrammar");UF=class extends $s{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Oe(Gr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:la.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function m6(t,e,r=[]){r=Tn(r);let n=[],i=0;function a(l){return l.concat(Pi(t,i+1))}o(a,"remainingPathWith");function s(l){let u=m6(a(l),e,r);return n.concat(u)}for(o(s,"getAlternativesForProd");r.length{Er(u.definition)===!1&&(n=s(u.definition))}),n;if(l instanceof Yr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Pi(t,i)}),n}function g6(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Er(d);){let p=d.pop();if(p===s){l&&ba(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(Er(m))continue;let x=m[0];if(x===i){let b={idx:g,def:Pi(m),ruleStack:Nh(y),occurrenceStack:Nh(v)};d.push(b)}else if(x instanceof Yr)if(g=0;b--){let T=x.definition[b],E={idx:g,def:T.definition.concat(Pi(m)),ruleStack:y,occurrenceStack:v};d.push(E),d.push(s)}else if(x instanceof Yn)d.push({idx:g,def:x.definition.concat(Pi(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof Fs)d.push(Irt(x,g,y,v));else throw Error("non exhaustive match")}return f}function Irt(t,e,r,n){let i=Tn(r);i.push(t.name);let a=Tn(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var WF,f6,Iy,d6,zT,p6,GT,VT=O(()=>{"use strict";rr();NF();i6();zs();WF=class extends Hh{static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Tn(this.path.ruleStack).reverse(),this.occurrenceStack=Tn(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Er(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},f6=class extends WF{static{o(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new Yn({definition:i});this.possibleTokTypes=dm(a),this.found=!0}}},Iy=class extends Hh{static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},d6=class extends Iy{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=Ta(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Yr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},zT=class extends Iy{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=Ta(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Yr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},p6=class extends Iy{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=Ta(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Yr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},GT=class extends Iy{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=Ta(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Yr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};o(m6,"possiblePathsFrom");o(g6,"nextPossibleTokensAfter");o(Irt,"expandTopLevelRule")});function qT(t){if(t instanceof Cn||t==="Option")return di.OPTION;if(t instanceof Jr||t==="Repetition")return di.REPETITION;if(t instanceof jn||t==="RepetitionMandatory")return di.REPETITION_MANDATORY;if(t instanceof Xn||t==="RepetitionMandatoryWithSeparator")return di.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof zn||t==="RepetitionWithSeparator")return di.REPETITION_WITH_SEPARATOR;if(t instanceof Gn||t==="Alternation")return di.ALTERNATION;throw Error("non exhaustive match")}function v6(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=qT(n);return a===di.ALTERNATION?Oy(e,r,i):Py(e,r,a,i)}function lye(t,e,r,n,i,a){let s=Oy(t,e,r),l=pye(s)?Ly:Yh;return a(s,n,l,i)}function cye(t,e,r,n,i,a){let s=Py(t,e,i,r),l=pye(s)?Ly:Yh;return a(s[0],l,n)}function uye(t,e,r,n){let i=t.length,a=is(t,s=>is(s,l=>l.length===1));if(e)return function(s){let l=lt(s,u=>u.GATE);for(let u=0;ufn(u)),l=pn(s,(u,h,f)=>(Oe(h,d=>{Gt(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Oe(d.categoryMatches,p=>{Gt(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){let a=fn(t);if(a.length===1&&Er(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=pn(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Oe(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;am6([s],1)),n=oye(r.length),i=lt(r,s=>{let l={};return Oe(s,u=>{let h=HF(u.partialPath);Oe(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=oye(l.length);for(let u=0;u{let x=HF(v.partialPath);Oe(x,b=>{i[u][b]=!0})})}}}}return n}function Oy(t,e,r,n){let i=new y6(t,di.ALTERNATION,n);return e.accept(i),fye(i.result,r)}function Py(t,e,r,n){let i=new y6(t,r);e.accept(i);let a=i.result,l=new YF(e,t,r).startWalking(),u=new Yn({definition:a}),h=new Yn({definition:l});return fye([u,h],n)}function x6(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function pye(t){return is(t,e=>is(e,r=>is(r,n=>Er(n.categoryMatches))))}var di,YF,y6,By=O(()=>{"use strict";rr();VT();i6();mm();zs();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(di||(di={}));o(qT,"getProdType");o(v6,"getLookaheadPaths");o(lye,"buildLookaheadFuncForOr");o(cye,"buildLookaheadFuncForOptionalProd");o(uye,"buildAlternativesLookAheadFunc");o(hye,"buildSingleAlternativeLookaheadFunction");YF=class extends Hh{static{o(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,di.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,di.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,di.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,di.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,di.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},y6=class extends $s{static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,di.OPTION)}visitRepetition(e){this.checkIsTarget(e,di.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,di.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,di.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,di.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,di.ALTERNATION)}};o(oye,"initializeArrayOfArrays");o(HF,"pathToHashKeys");o(Ort,"isUniquePrefixHash");o(fye,"lookAheadSequenceFromAlternatives");o(Oy,"getLookaheadPathsForOr");o(Py,"getLookaheadPathsForOptionalProd");o(x6,"containsPath");o(dye,"isStrictPrefixOfPath");o(pye,"areTokenCategoriesNotUsed")});function mye(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return lt(e,r=>Object.assign({type:la.CUSTOM_LOOKAHEAD_VALIDATION},r))}function gye(t,e,r,n){let i=za(t,u=>Prt(u,r)),a=Vrt(t,e,r),s=za(t,u=>$rt(u,r)),l=za(t,u=>Frt(u,t,n,r));return i.concat(a,s,l)}function Prt(t,e){let r=new jF;t.accept(r);let n=r.allProductions,i=bI(n,Brt),a=go(i,l=>l.length>1);return lt(Gr(a),l=>{let u=Ta(l),h=e.buildDuplicateFoundError(t,l),f=ko(u),d={message:h,type:la.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=yye(u);return p&&(d.parameter=p),d})}function Brt(t){return`${ko(t)}_#_${t.idx}_#_${yye(t)}`}function yye(t){return t instanceof Yr?t.terminalType.name:t instanceof Sn?t.nonTerminalName:""}function Frt(t,e,r,n){let i=[];if(pn(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:la.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function vye(t,e,r){let n=[],i;return ci(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:la.INVALID_RULE_OVERRIDE,ruleName:t})),n}function KF(t,e,r,n=[]){let i=[],a=b6(e.definition);if(Er(a))return[];{let s=t.name;ci(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:la.LEFT_RECURSION,ruleName:s});let u=sd(a,n.concat([t])),h=za(u,f=>{let d=Tn(n);return d.push(f),KF(t,f,r,d)});return i.concat(h)}}function b6(t){let e=[];if(Er(t))return e;let r=Ta(t);if(r instanceof Sn)e.push(r.referencedRule);else if(r instanceof Yn||r instanceof Cn||r instanceof jn||r instanceof Xn||r instanceof zn||r instanceof Jr)e=e.concat(b6(r.definition));else if(r instanceof Gn)e=fn(lt(r.definition,a=>b6(a.definition)));else if(!(r instanceof Yr))throw Error("non exhaustive match");let n=fm(r),i=t.length>1;if(n&&i){let a=Pi(t);return e.concat(b6(a))}else return e}function xye(t,e){let r=new UT;t.accept(r);let n=r.alternations;return za(n,a=>{let s=Nh(a.definition);return za(s,(l,u)=>{let h=g6([l],[],Yh,1);return Er(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:la.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function bye(t,e,r){let n=new UT;t.accept(n);let i=n.alternations;return i=od(i,s=>s.ignoreAmbiguities===!0),za(i,s=>{let l=s.idx,u=s.maxLookahead||e,h=Oy(l,t,u,s),f=zrt(h,s,t,r),d=Grt(h,s,t,r);return f.concat(d)})}function $rt(t,e){let r=new UT;t.accept(r);let n=r.alternations;return za(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:la.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Tye(t,e,r){let n=[];return Oe(t,i=>{let a=new XF;i.accept(a);let s=a.allProductions;Oe(s,l=>{let u=qT(l),h=l.maxLookahead||e,f=l.idx,p=Py(f,i,u,h)[0];if(Er(fn(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:la.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function zrt(t,e,r,n){let i=[],a=pn(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Oe(u,f=>{let d=[h];Oe(t,(p,m)=>{h!==m&&x6(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!x6(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return lt(a,l=>{let u=lt(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:la.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function Grt(t,e,r,n){let i=pn(t,(s,l,u)=>{let h=lt(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return xu(za(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=dn(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:la.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function Vrt(t,e,r){let n=[],i=lt(e,a=>a.name);return Oe(t,a=>{let s=a.name;if(ci(i,s)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:la.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}var jF,UT,XF,WT=O(()=>{"use strict";rr();Eo();zs();By();VT();mm();o(mye,"validateLookahead");o(gye,"validateGrammar");o(Prt,"validateDuplicateProductions");o(Brt,"identifyProductionForDuplicates");o(yye,"getExtraProductionArgument");jF=class extends $s{static{o(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};o(Frt,"validateRuleDoesNotAlreadyExist");o(vye,"validateRuleIsOverridden");o(KF,"validateNoLeftRecursion");o(b6,"getFirstNoneTerminal");UT=class extends $s{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(xye,"validateEmptyOrAlternative");o(bye,"validateAmbiguousAlternationAlternatives");XF=class extends $s{static{o(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};o($rt,"validateTooManyAlts");o(Tye,"validateSomeNonEmptyLookaheadPath");o(zrt,"checkAlternativesAmbiguities");o(Grt,"checkPrefixAlternativesAmbiguities");o(Vrt,"checkTerminalAndNoneTerminalsNameSpace")});function wye(t){let e=ad(t,{errMsgProvider:iye}),r={};return Oe(t.rules,n=>{r[n.name]=n}),aye(r,e.errMsgProvider)}function kye(t){return t=ad(t,{errMsgProvider:Lc}),gye(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var Eye=O(()=>{"use strict";rr();sye();WT();My();o(wye,"resolveGrammar");o(kye,"validateGrammar")});function Wd(t){return ci(Dye,t.name)}var Sye,Cye,Aye,_ye,Dye,Fy,ym,HT,YT,jT,$y=O(()=>{"use strict";rr();Sye="MismatchedTokenException",Cye="NoViableAltException",Aye="EarlyExitException",_ye="NotAllInputParsedException",Dye=[Sye,Cye,Aye,_ye];Object.freeze(Dye);o(Wd,"isRecognitionException");Fy=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},ym=class extends Fy{static{o(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Sye}},HT=class extends Fy{static{o(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Cye}},YT=class extends Fy{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=_ye}},jT=class extends Fy{static{o(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Aye}}});function qrt(t,e,r,n,i,a,s){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=el,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var QF,JF,ZF,T6,e$=O(()=>{"use strict";gm();rr();$y();MF();Eo();QF={},JF="InRuleRecoveryException",ZF=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=JF}},T6=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Gt(e,"recoveryEnabled")?e.recoveryEnabled:Gs.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=qrt)}getTokenToInsert(e){let r=Kh(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new ym(m,h,this.LA(0));g.resyncedTokens=Nh(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new ZF("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Er(r))return!1;let n=this.LA(1);return Ls(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return ci(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Ls(e,a=>$T(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return QF;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return lt(e,(n,i)=>i===0?QF:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=lt(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return fn(e)}getFollowSetFromFollowKey(e){if(e===QF)return[el];let r=e.ruleName+e.idxInCallingRule+a6+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,el)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Nh(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=Tn(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return lt(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(qrt,"attemptInRepetitionRecovery")});function w6(t,e,r){return r|e|t}var k6=O(()=>{"use strict";o(w6,"getKeyForAutomaticLookahead")});var Zh,t$=O(()=>{"use strict";rr();My();Eo();WT();By();Zh=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Gs.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(Er(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return za(e,r=>KF(r,r,Lc))}validateEmptyOrAlternatives(e){return za(e,r=>xye(r,Lc))}validateAmbiguousAlternationAlternatives(e,r){return za(e,n=>bye(n,r,Lc))}validateSomeNonEmptyLookaheadPath(e,r){return Tye(e,r,Lc)}buildLookaheadForAlternation(e){return lye(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,uye)}buildLookaheadForOptional(e){return cye(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,qT(e.prodType),hye)}}});function Urt(t){E6.reset(),t.accept(E6);let e=E6.dslMethods;return E6.reset(),e}var S6,r$,E6,Rye=O(()=>{"use strict";rr();Eo();k6();zs();t$();S6=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Gt(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Gs.dynamicTokensEnabled,this.maxLookahead=Gt(e,"maxLookahead")?e.maxLookahead:Gs.maxLookahead,this.lookaheadStrategy=Gt(e,"lookaheadStrategy")?e.lookaheadStrategy:new Zh({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Oe(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=Urt(r);Oe(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${ko(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=w6(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Oe(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,ko(h))}),Oe(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,ko(h))}),Oe(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,ko(h))}),Oe(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,ko(h))}),Oe(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,ko(h))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=w6(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return w6(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},r$=class extends $s{static{o(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},E6=new r$;o(Urt,"collectMethods")});function a$(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o(a$,"setNodeLocationOnlyOffset");o(s$,"setNodeLocationFull");o(Lye,"addTerminalToCst");o(Nye,"addNoneTerminalToCst")});function o$(t,e){Object.defineProperty(t,Wrt,{enumerable:!1,configurable:!0,writable:!1,value:e})}var Wrt,Iye=O(()=>{"use strict";Wrt="name";o(o$,"defineNameProp")});function Hrt(t,e){let r=nn(t),n=r.length;for(let i=0;is.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` - `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Z1e(t,e,r){let n=o(function(){},"derivedConstructor");WF(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Re(e,a=>{i[a]=ltt}),n.prototype=i,n.prototype.constructor=n,n}function ctt(t,e){return utt(t,e)}function utt(t,e){let r=cn(e,i=>$i(t[i])===!1),n=it(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:HF.MISSING_METHOD,methodName:i}));return fu(n)}var HF,J1e=I(()=>{"use strict";Kt();K1e();o(ltt,"defaultVisit");o(Q1e,"createBaseSemanticVisitorConstructor");o(Z1e,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(HF||(HF={}));o(ctt,"validateVisitor");o(utt,"validateMissingCstMethods")});var g6,eye=I(()=>{"use strict";X1e();Kt();J1e();xo();g6=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Gt(e,"nodeLocationTracking")?e.nodeLocationTracking:$s.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=yi,this.cstFinallyStateUpdate=yi,this.cstPostTerminal=yi,this.cstPostNonTerminal=yi,this.cstPostRule=yi;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=UF,this.setNodeLocationFromNode=UF,this.cstPostRule=yi,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=yi,this.setNodeLocationFromNode=yi,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=qF,this.setNodeLocationFromNode=qF,this.cstPostRule=yi,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=yi,this.setNodeLocationFromNode=yi,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=yi,this.setNodeLocationFromNode=yi,this.cstPostRule=yi,this.setInitialNodeLocation=yi;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Y1e(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];j1e(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(Er(this.baseCstVisitorConstructor)){let e=Q1e(this.className,en(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Er(this.baseCstVisitorWithDefaultsConstructor)){let e=Z1e(this.className,en(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var y6,tye=I(()=>{"use strict";xo();y6=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Ny}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Ny:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var v6,rye=I(()=>{"use strict";Kt();Ly();xo();Ey();M4();Fs();v6=class{static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=My){if(ai(this.definedRulesNames,e)){let s={message:kc.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:na.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=My){let i=I1e(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Gd(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return qC(Rr(this.gastProductionsCache))}}});var x6,nye=I(()=>{"use strict";Kt();u6();Ly();Dy();R4();xo();FF();dm();fm();x6=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ky,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Gt(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Pye(t,e,r){let n=o(function(){},"derivedConstructor");o$(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Oe(e,a=>{i[a]=Hrt}),n.prototype=i,n.prototype.constructor=n,n}function Yrt(t,e){return jrt(t,e)}function jrt(t,e){let r=dn(e,i=>Vi(t[i])===!1),n=lt(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:l$.MISSING_METHOD,methodName:i}));return xu(n)}var l$,Bye=O(()=>{"use strict";rr();Iye();o(Hrt,"defaultVisit");o(Oye,"createBaseSemanticVisitorConstructor");o(Pye,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(l$||(l$={}));o(Yrt,"validateVisitor");o(jrt,"validateMissingCstMethods")});var D6,Fye=O(()=>{"use strict";Mye();rr();Bye();Eo();D6=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Gt(e,"nodeLocationTracking")?e.nodeLocationTracking:Gs.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ki,this.cstFinallyStateUpdate=ki,this.cstPostTerminal=ki,this.cstPostNonTerminal=ki,this.cstPostRule=ki;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=s$,this.setNodeLocationFromNode=s$,this.cstPostRule=ki,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ki,this.setNodeLocationFromNode=ki,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=a$,this.setNodeLocationFromNode=a$,this.cstPostRule=ki,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ki,this.setNodeLocationFromNode=ki,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ki,this.setNodeLocationFromNode=ki,this.cstPostRule=ki,this.setInitialNodeLocation=ki;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Lye(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Nye(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(Dr(this.baseCstVisitorConstructor)){let e=Oye(this.className,nn(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Dr(this.baseCstVisitorWithDefaultsConstructor)){let e=Pye(this.className,nn(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var R6,$ye=O(()=>{"use strict";Eo();R6=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):zy}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?zy:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var L6,zye=O(()=>{"use strict";rr();$y();Eo();My();WT();zs();L6=class{static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Gy){if(ci(this.definedRulesNames,e)){let s={message:Lc.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:la.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Gy){let i=vye(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Wd(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return r6(Gr(this.gastProductionsCache))}}});var N6,Gye=O(()=>{"use strict";rr();k6();$y();By();VT();Eo();e$();gm();mm();N6=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ly,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Gt(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 - For Further details.`);if(zt(e)){if(Tr(e))throw Error(`A Token Vocabulary cannot be empty. + For Further details.`);if(zt(e)){if(Er(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(zt(e))this.tokensMap=un(e,(a,s)=>(a[s.name]=s,a),{});else if(Gt(e,"modes")&&rs(ln(Rr(e.modes)),h1e)){let a=ln(Rr(e.modes)),s=_1(a);this.tokensMap=un(s,(l,u)=>(l[u.name]=u,l),{})}else if(In(e))this.tokensMap=yn(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Ho;let n=Gt(e,"modes")?ln(Rr(e.modes)):Rr(e),i=rs(n,a=>Tr(a.categoryMatches));this.tokenMatcher=i?ky:Gh,Vh(Rr(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Gt(n,"resyncEnabled")?n.resyncEnabled:My.resyncEnabled,a=Gt(n,"recoveryValueFunc")?n.recoveryValueFunc:My.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Gd(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,ci.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,t6)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,D4],l,1536,e,D4)}else throw this.raiseEarlyExitException(e,ci.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,e6,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,_4],l,1280,e,_4)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=zt(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new O4(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw Gd(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new pm(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===BF?n:a}}else throw n}saveRecogState(){let e=this.errors,r=yn(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Ho)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var b6,iye=I(()=>{"use strict";Ly();Kt();Dy();xo();b6=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Gt(e,"errorMessageProvider")?e.errorMessageProvider:$s.errorMessageProvider}SAVE_ERROR(e){if(Gd(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:yn(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return yn(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=_y(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new P4(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=Ay(e,i,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new I4(u,this.LA(1),l))}}});var T6,aye=I(()=>{"use strict";R4();Kt();T6=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(Er(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return n6([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=va(e.ruleStack),i=this.getGAstProductions()[r];return new JC(i,e).startWalking()}}});function F4(t,e,r,n=!1){k6(r);let i=ya(this.recordingProdStack),a=$i(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Gt(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),S6}function dtt(t,e){k6(e);let r=ya(this.recordingProdStack),n=zt(t)===!1,i=n===!1?t:t.DEF,a=new Fn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Gt(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=ub(i,l=>$i(l.GATE));return a.hasPredicates=s,r.definition.push(a),Re(i,l=>{let u=new Un({definition:[]});a.definition.push(u),Gt(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Gt(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),S6}function lye(t){return t===0?"":`${t}`}function k6(t){if(t<0||t>oye){let e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${oye+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var S6,sye,oye,cye,uye,ftt,w6,hye=I(()=>{"use strict";Kt();Fs();E4();fm();dm();xo();u6();S6={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(S6);sye=!0,oye=Math.pow(2,8)-1,cye=zd({name:"RECORDING_PHASE_TOKEN",pattern:li.NA});Vh([cye]);uye=Uh(cye,`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(uye);ftt={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},w6=class{static{o(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Ny}topLevelRuleRecord(e,r){try{let n=new Ps({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if(zt(e))this.tokensMap=pn(e,(a,s)=>(a[s.name]=s,a),{});else if(Gt(e,"modes")&&is(fn(Gr(e.modes)),X1e)){let a=fn(Gr(e.modes)),s=P1(a);this.tokensMap=pn(s,(l,u)=>(l[u.name]=u,l),{})}else if(On(e))this.tokensMap=Tn(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=el;let n=Gt(e,"modes")?fn(Gr(e.modes)):Gr(e),i=is(n,a=>Er(a.categoryMatches));this.tokenMatcher=i?Ly:Yh,jh(Gr(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Gt(n,"resyncEnabled")?n.resyncEnabled:Gy.resyncEnabled,a=Gt(n,"recoveryValueFunc")?n.recoveryValueFunc:Gy.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Wd(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,di.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,p6)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,GT],l,1536,e,GT)}else throw this.raiseEarlyExitException(e,di.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,d6,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,zT],l,1280,e,zT)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=zt(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new YT(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw Wd(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ym(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===JF?n:a}}else throw n}saveRecogState(){let e=this.errors,r=Tn(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),el)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var M6,Vye=O(()=>{"use strict";$y();rr();By();Eo();M6=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Gt(e,"errorMessageProvider")?e.errorMessageProvider:Gs.errorMessageProvider}SAVE_ERROR(e){if(Wd(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Tn(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Tn(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=Py(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new jT(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=Oy(e,i,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new HT(u,this.LA(1),l))}}});var I6,qye=O(()=>{"use strict";VT();rr();I6=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(Dr(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return g6([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=Ta(e.ruleStack),i=this.getGAstProductions()[r];return new f6(i,e).startWalking()}}});function KT(t,e,r,n=!1){P6(r);let i=ba(this.recordingProdStack),a=Vi(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Gt(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),B6}function Qrt(t,e){P6(e);let r=ba(this.recordingProdStack),n=zt(t)===!1,i=n===!1?t:t.DEF,a=new Gn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Gt(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=wb(i,l=>Vi(l.GATE));return a.hasPredicates=s,r.definition.push(a),Oe(i,l=>{let u=new Yn({definition:[]});a.definition.push(u),Gt(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Gt(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),B6}function Hye(t){return t===0?"":`${t}`}function P6(t){if(t<0||t>Wye){let e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${Wye+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var B6,Uye,Wye,Yye,jye,Krt,O6,Xye=O(()=>{"use strict";rr();zs();BT();mm();gm();Eo();k6();B6={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(B6);Uye=!0,Wye=Math.pow(2,8)-1,Yye=Ud({name:"RECORDING_PHASE_TOKEN",pattern:fi.NA});jh([Yye]);jye=Kh(Yye,`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(jye);Krt={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},O6=class{static{o(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return zy}topLevelRuleRecord(e,r){try{let n=new Fs({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return F4.call(this,wn,e,r)}atLeastOneInternalRecord(e,r){F4.call(this,Wn,r,e)}atLeastOneSepFirstInternalRecord(e,r){F4.call(this,Hn,r,e,sye)}manyInternalRecord(e,r){F4.call(this,Kr,r,e)}manySepFirstInternalRecord(e,r){F4.call(this,Bn,r,e,sye)}orInternalRecord(e,r){return dtt.call(this,e,r)}subruleInternalRecord(e,r,n){if(k6(r),!e||Gt(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=ya(this.recordingProdStack),a=e.ruleName,s=new Tn({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?ftt:S6}consumeInternalRecord(e,r,n){if(k6(r),!EF(e)){let s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=ya(this.recordingProdStack),a=new Pr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),uye}};o(F4,"recordProd");o(dtt,"recordOrProd");o(lye,"getIdxSuffix");o(k6,"assertMethodIdxIsValid")});var E6,fye=I(()=>{"use strict";Kt();vy();xo();E6=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(Gt(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=$s.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=w4(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function dye(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var pye=I(()=>{"use strict";o(dye,"applyMixins")});function C6(t=void 0){return function(){return t}}var Ny,$s,My,na,$4,z4,xo=I(()=>{"use strict";Kt();vy();Uge();dm();Ey();z1e();FF();H1e();eye();tye();rye();nye();iye();aye();hye();fye();pye();M4();Ny=Uh(Ho,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ny);$s=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Wh,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),My=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(na||(na={}));o(C6,"EMPTY_ALT");$4=class t{static{o(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{k4(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Re(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=F1e({rules:Rr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Tr(n)&&this.skipValidations===!1){let i=$1e({rules:Rr(this.gastProductionsCache),tokenTypes:Rr(this.tokensMap),errMsgProvider:kc,grammarName:r}),a=L1e({lookaheadStrategy:this.lookaheadStrategy,rules:Rr(this.gastProductionsCache),tokenTypes:Rr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Tr(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=qge(Rr(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Rr(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Rr(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!Tr(this.definitionErrors))throw e=it(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return KT.call(this,Cn,e,r)}atLeastOneInternalRecord(e,r){KT.call(this,jn,r,e)}atLeastOneSepFirstInternalRecord(e,r){KT.call(this,Xn,r,e,Uye)}manyInternalRecord(e,r){KT.call(this,Jr,r,e)}manySepFirstInternalRecord(e,r){KT.call(this,zn,r,e,Uye)}orInternalRecord(e,r){return Qrt.call(this,e,r)}subruleInternalRecord(e,r,n){if(P6(r),!e||Gt(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=ba(this.recordingProdStack),a=e.ruleName,s=new Sn({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?Krt:B6}consumeInternalRecord(e,r,n){if(P6(r),!GF(e)){let s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=ba(this.recordingProdStack),a=new Yr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),jye}};o(KT,"recordProd");o(Qrt,"recordOrProd");o(Hye,"getIdxSuffix");o(P6,"assertMethodIdxIsValid")});var F6,Kye=O(()=>{"use strict";rr();Cy();Eo();F6=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(Gt(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Gs.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=IT(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function Qye(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var Zye=O(()=>{"use strict";o(Qye,"applyMixins")});function $6(t=void 0){return function(){return t}}var zy,Gs,Gy,la,QT,ZT,Eo=O(()=>{"use strict";rr();Cy();_1e();gm();My();Eye();e$();Rye();Fye();$ye();zye();Gye();Vye();qye();Xye();Kye();Zye();WT();zy=Kh(el,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(zy);Gs=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Qh,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Gy=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(la||(la={}));o($6,"EMPTY_ALT");QT=class t{static{o(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{OT(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Oe(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=wye({rules:Gr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Er(n)&&this.skipValidations===!1){let i=kye({rules:Gr(this.gastProductionsCache),tokenTypes:Gr(this.tokensMap),errMsgProvider:Lc,grammarName:r}),a=mye({lookaheadStrategy:this.lookaheadStrategy,rules:Gr(this.gastProductionsCache),tokenTypes:Gr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Er(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=A1e(Gr(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Gr(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Gr(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!Er(this.definitionErrors))throw e=lt(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),Gt(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=Gt(r,"skipValidations")?r.skipValidations:$s.skipValidations}};$4.DEFER_DEFINITION_ERRORS_HANDLING=!1;dye($4,[l6,f6,g6,y6,x6,v6,b6,T6,w6,E6]);z4=class extends $4{static{o(this,"EmbeddedActionsParser")}constructor(e,r=$s){let n=yn(r);n.outputCst=!1,super(e,n)}}});var mye=I(()=>{"use strict";Fs()});var gye=I(()=>{"use strict"});var yye=I(()=>{"use strict";mye();gye()});var vye=I(()=>{"use strict";dF()});var Vd=I(()=>{"use strict";dF();xo();E4();dm();Dy();$F();Ey();Ly();CF();Fs();Fs();yye();vye()});function mm(t,e,r){return`${t.name}_${e}_${r}`}function wye(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};btt(e,t);let r=t.length;for(let n=0;nkye(t,e,s));return By(t,e,n,r,...i)}function Ctt(t,e,r){let n=ka(t,e,r,{type:qd});Ud(t,n);let i=By(t,e,n,r,gm(t,e,r));return Att(t,e,r,i)}function gm(t,e,r){let n=cn(it(r.definition,i=>kye(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Dtt(t,n)}function Sye(t,e,r,n,i){let a=n.left,s=n.right,l=ka(t,e,r,{type:xtt});Ud(t,l);let u=ka(t,e,r,{type:Tye});return a.loopback=l,u.loopback=l,t.decisionMap[mm(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,qi(s,l),i===void 0?(qi(l,a),qi(l,u)):(qi(l,u),qi(l,i.left),qi(i.right,a)),{left:a,right:u}}function Eye(t,e,r,n,i){let a=n.left,s=n.right,l=ka(t,e,r,{type:vtt});Ud(t,l);let u=ka(t,e,r,{type:Tye}),h=ka(t,e,r,{type:ytt});return l.loopback=h,u.loopback=h,qi(l,a),qi(l,u),qi(s,h),i!==void 0?(qi(h,u),qi(h,i.left),qi(i.right,a)):qi(h,l),t.decisionMap[mm(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function Att(t,e,r,n){let i=n.left,a=n.right;return qi(i,a),t.decisionMap[mm(e,"Option",r.idx)]=i,n}function Ud(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function By(t,e,r,n,...i){let a=ka(t,e,n,{type:gtt,start:r});r.end=a;for(let l of i)l!==void 0?(qi(r,l.left),qi(l.right,a)):qi(r,a);let s={left:r,right:a};return t.decisionMap[mm(e,_tt(n),n.idx)]=r,s}function _tt(t){if(t instanceof Fn)return"Alternation";if(t instanceof wn)return"Option";if(t instanceof Kr)return"Repetition";if(t instanceof Bn)return"RepetitionWithSeparator";if(t instanceof Wn)return"RepetitionMandatory";if(t instanceof Hn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Dtt(t,e){let r=e.length;for(let a=0;a{"use strict";E1();JM();Vd();o(mm,"buildATNKey");qd=1,mtt=2,xye=4,bye=5,Py=7,gtt=8,ytt=9,vtt=10,xtt=11,Tye=12,G4=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Iy=class extends G4{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},V4=class extends G4{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},Oy=class extends G4{static{o(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};o(wye,"createATN");o(btt,"createRuleStartAndStopATNStates");o(kye,"atom");o(Ttt,"repetition");o(wtt,"repetitionSep");o(ktt,"repetitionMandatory");o(Stt,"repetitionMandatorySep");o(Ett,"alternation");o(Ctt,"option");o(gm,"block");o(Sye,"plus");o(Eye,"star");o(Att,"optional");o(Ud,"defineDecisionState");o(By,"makeAlts");o(_tt,"getProdType");o(Dtt,"makeBlock");o(jF,"tokenRef");o(Rtt,"ruleRef");o(Ltt,"buildRuleHandle");o(qi,"epsilon");o(ka,"newState");o(XF,"addTransition");o(Ntt,"removeState")});function KF(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var q4,Fy,Aye=I(()=>{"use strict";E1();q4={},Fy=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=KF(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return it(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(KF,"getATNConfigKey")});function Mtt(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function Dye(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function Itt(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nqh(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${$tt(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Gt(r,"skipValidations")?r.skipValidations:Gs.skipValidations}};QT.DEFER_DEFINITION_ERRORS_HANDLING=!1;Qye(QT,[T6,S6,D6,R6,N6,L6,M6,I6,O6,F6]);ZT=class extends QT{static{o(this,"EmbeddedActionsParser")}constructor(e,r=Gs){let n=Tn(r);n.outputCst=!1,super(e,n)}}});var Jye=O(()=>{"use strict";zs()});var eve=O(()=>{"use strict"});var tve=O(()=>{"use strict";Jye();eve()});var rve=O(()=>{"use strict";DF()});var Hd=O(()=>{"use strict";DF();Eo();BT();gm();By();t$();My();$y();VF();zs();zs();tve();rve()});function vm(t,e,r){return`${t.name}_${e}_${r}`}function sve(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};int(e,t);let r=t.length;for(let n=0;nove(t,e,s));return Wy(t,e,n,r,...i)}function unt(t,e,r){let n=Ca(t,e,r,{type:Yd});jd(t,n);let i=Wy(t,e,n,r,xm(t,e,r));return hnt(t,e,r,i)}function xm(t,e,r){let n=dn(lt(r.definition,i=>ove(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:dnt(t,n)}function lve(t,e,r,n,i){let a=n.left,s=n.right,l=Ca(t,e,r,{type:nnt});jd(t,l);let u=Ca(t,e,r,{type:ave});return a.loopback=l,u.loopback=l,t.decisionMap[vm(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,Hi(s,l),i===void 0?(Hi(l,a),Hi(l,u)):(Hi(l,u),Hi(l,i.left),Hi(i.right,a)),{left:a,right:u}}function cve(t,e,r,n,i){let a=n.left,s=n.right,l=Ca(t,e,r,{type:rnt});jd(t,l);let u=Ca(t,e,r,{type:ave}),h=Ca(t,e,r,{type:tnt});return l.loopback=h,u.loopback=h,Hi(l,a),Hi(l,u),Hi(s,h),i!==void 0?(Hi(h,u),Hi(h,i.left),Hi(i.right,a)):Hi(h,l),t.decisionMap[vm(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function hnt(t,e,r,n){let i=n.left,a=n.right;return Hi(i,a),t.decisionMap[vm(e,"Option",r.idx)]=i,n}function jd(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Wy(t,e,r,n,...i){let a=Ca(t,e,n,{type:ent,start:r});r.end=a;for(let l of i)l!==void 0?(Hi(r,l.left),Hi(l.right,a)):Hi(r,a);let s={left:r,right:a};return t.decisionMap[vm(e,fnt(n),n.idx)]=r,s}function fnt(t){if(t instanceof Gn)return"Alternation";if(t instanceof Cn)return"Option";if(t instanceof Jr)return"Repetition";if(t instanceof zn)return"RepetitionWithSeparator";if(t instanceof jn)return"RepetitionMandatory";if(t instanceof Xn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function dnt(t,e){let r=e.length;for(let a=0;a{"use strict";M1();mI();Hd();o(vm,"buildATNKey");Yd=1,Jrt=2,nve=4,ive=5,Uy=7,ent=8,tnt=9,rnt=10,nnt=11,ave=12,JT=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Vy=class extends JT{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},e4=class extends JT{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},qy=class extends JT{static{o(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};o(sve,"createATN");o(int,"createRuleStartAndStopATNStates");o(ove,"atom");o(ant,"repetition");o(snt,"repetitionSep");o(ont,"repetitionMandatory");o(lnt,"repetitionMandatorySep");o(cnt,"alternation");o(unt,"option");o(xm,"block");o(lve,"plus");o(cve,"star");o(hnt,"optional");o(jd,"defineDecisionState");o(Wy,"makeAlts");o(fnt,"getProdType");o(dnt,"makeBlock");o(u$,"tokenRef");o(pnt,"ruleRef");o(mnt,"buildRuleHandle");o(Hi,"epsilon");o(Ca,"newState");o(h$,"addTransition");o(gnt,"removeState")});function f$(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var t4,Hy,hve=O(()=>{"use strict";M1();t4={},Hy=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=f$(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return lt(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(f$,"getATNConfigKey")});function ynt(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function dve(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function vnt(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nXh(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${knt(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function $tt(t){if(t instanceof Tn)return"SUBRULE";if(t instanceof wn)return"OPTION";if(t instanceof Fn)return"OR";if(t instanceof Wn)return"AT_LEAST_ONE";if(t instanceof Hn)return"AT_LEAST_ONE_SEP";if(t instanceof Bn)return"MANY_SEP";if(t instanceof Kr)return"MANY";if(t instanceof Pr)return"CONSUME";throw Error("non exhaustive match")}function ztt(t,e,r){let n=Ba(e.configs.elements,a=>a.state.transitions),i=Rue(n.filter(a=>a instanceof Iy).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Gtt(t,e){return t.edges[e.tokenTypeIdx]}function Vtt(t,e,r){let n=new Fy,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Py){i.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!Ytt(a))for(let s of i)a.add(s);return a}function qtt(t,e){if(t instanceof Iy&&A4(e,t.tokenType))return t.target}function Utt(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Lye(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Rye(t,e,r,n){return n=Nye(t,n),e.edges[r.tokenTypeIdx]=n,n}function Nye(t,e){if(e===q4)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Wtt(t){let e=new Fy,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};_6(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Ztt(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var A6,_ye,U4,Mye=I(()=>{"use strict";Vd();Cye();Aye();oI();tI();Lue();E1();pS();qS();jS();hI();o(Mtt,"createDFACache");A6=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=wye(e.rules),this.dfas=Itt(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=mm(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=it(a6({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>it(p,m=>m[0]));if(Dye(d,!1)&&!a){let p=un(d,(m,g,y)=>(Re(g,v=>{v&&(m[v.tokenTypeIdx]=y,Re(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new A6,g=p===void 0?0:p.length;for(let v=0;vit(p,m=>m[0]));if(Dye(d)&&d[0][0]&&!a){let p=d[0],m=ln(p);if(m.length===1&&Tr(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=un(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Re(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=QF.call(this,s,f,_ye,l);return typeof p=="object"?!1:p===0}}};o(Dye,"isLL1Sequence");o(Itt,"initATNSimulator");o(QF,"adaptivePredict");o(Ott,"performLookahead");o(Ptt,"computeLookaheadTarget");o(Btt,"reportLookaheadAmbiguity");o(Ftt,"buildAmbiguityError");o($tt,"getProductionDslName");o(ztt,"buildAdaptivePredictError");o(Gtt,"getExistingTargetState");o(Vtt,"computeReachSet");o(qtt,"getReachableTarget");o(Utt,"getUniqueAlt");o(Lye,"newDFAState");o(Rye,"addDFAEdge");o(Nye,"addDFAState");o(Wtt,"computeStartState");o(_6,"closure");o(Htt,"getEpsilonTarget");o(Ytt,"hasConfigInRuleStopState");o(jtt,"allConfigsInRuleStopStates");o(Xtt,"hasConflictTerminatingPrediction");o(Ktt,"getConflictingAltSets");o(Qtt,"hasConflictingAltSet");o(Ztt,"hasStateAssociatedWithOneAlt")});var Iye=I(()=>{"use strict";Mye()});var B6={};vr(B6,{AnnotatedTextEdit:()=>Yh,ChangeAnnotation:()=>ym,ChangeAnnotationIdentifier:()=>Va,CodeAction:()=>N$,CodeActionContext:()=>L$,CodeActionKind:()=>R$,CodeActionTriggerKind:()=>Q4,CodeDescription:()=>o$,CodeLens:()=>M$,Color:()=>R6,ColorInformation:()=>t$,ColorPresentation:()=>r$,Command:()=>vm,CompletionItem:()=>v$,CompletionItemKind:()=>f$,CompletionItemLabelDetails:()=>y$,CompletionItemTag:()=>p$,CompletionList:()=>x$,CreateFile:()=>zy,DeleteFile:()=>Vy,Diagnostic:()=>Y4,DiagnosticRelatedInformation:()=>L6,DiagnosticSeverity:()=>a$,DiagnosticTag:()=>s$,DocumentHighlight:()=>S$,DocumentHighlightKind:()=>k$,DocumentLink:()=>O$,DocumentSymbol:()=>D$,DocumentUri:()=>ZF,EOL:()=>Jtt,FoldingRange:()=>i$,FoldingRangeKind:()=>n$,FormattingOptions:()=>I$,Hover:()=>b$,InlayHint:()=>U$,InlayHintKind:()=>O6,InlayHintLabelPart:()=>P6,InlineCompletionContext:()=>K$,InlineCompletionItem:()=>H$,InlineCompletionList:()=>Y$,InlineCompletionTriggerKind:()=>j$,InlineValueContext:()=>q$,InlineValueEvaluatableExpression:()=>V$,InlineValueText:()=>z$,InlineValueVariableLookup:()=>G$,InsertReplaceEdit:()=>m$,InsertTextFormat:()=>d$,InsertTextMode:()=>g$,Location:()=>H4,LocationLink:()=>e$,MarkedString:()=>K4,MarkupContent:()=>qy,MarkupKind:()=>I6,OptionalVersionedTextDocumentIdentifier:()=>X4,ParameterInformation:()=>T$,Position:()=>nn,Range:()=>Yr,RenameFile:()=>Gy,SelectedCompletionInfo:()=>X$,SelectionRange:()=>P$,SemanticTokenModifiers:()=>F$,SemanticTokenTypes:()=>B$,SemanticTokens:()=>$$,SignatureInformation:()=>w$,StringValue:()=>W$,SymbolInformation:()=>A$,SymbolKind:()=>E$,SymbolTag:()=>C$,TextDocument:()=>Z$,TextDocumentEdit:()=>j4,TextDocumentIdentifier:()=>c$,TextDocumentItem:()=>h$,TextEdit:()=>Lu,URI:()=>D6,VersionedTextDocumentIdentifier:()=>u$,WorkspaceChange:()=>l$,WorkspaceEdit:()=>N6,WorkspaceFolder:()=>Q$,WorkspaceSymbol:()=>_$,integer:()=>JF,uinteger:()=>W4});var ZF,D6,JF,W4,nn,Yr,H4,e$,R6,t$,r$,n$,i$,L6,a$,s$,o$,Y4,vm,Lu,ym,Va,Yh,j4,zy,Gy,Vy,N6,$y,M6,l$,c$,u$,X4,h$,I6,qy,f$,d$,p$,m$,g$,y$,v$,x$,K4,b$,T$,w$,k$,S$,E$,C$,A$,_$,D$,R$,Q4,L$,N$,M$,I$,O$,P$,B$,F$,$$,z$,G$,V$,q$,O6,P6,U$,W$,H$,Y$,j$,X$,K$,Q$,Jtt,Z$,J$,qe,Uy=I(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(ZF||(ZF={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(D6||(D6={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(JF||(JF={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(W4||(W4={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=W4.MAX_VALUE),i===Number.MAX_VALUE&&(i=W4.MAX_VALUE),{line:n,character:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.uinteger(i.line)&&qe.uinteger(i.character)}o(r,"is"),t.is=r})(nn||(nn={}));(function(t){function e(n,i,a,s){if(qe.uinteger(n)&&qe.uinteger(i)&&qe.uinteger(a)&&qe.uinteger(s))return{start:nn.create(n,i),end:nn.create(a,s)};if(nn.is(n)&&nn.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&nn.is(i.start)&&nn.is(i.end)}o(r,"is"),t.is=r})(Yr||(Yr={}));(function(t){function e(n,i){return{uri:n,range:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&Yr.is(i.range)&&(qe.string(i.uri)||qe.undefined(i.uri))}o(r,"is"),t.is=r})(H4||(H4={}));(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&Yr.is(i.targetRange)&&qe.string(i.targetUri)&&Yr.is(i.targetSelectionRange)&&(Yr.is(i.originSelectionRange)||qe.undefined(i.originSelectionRange))}o(r,"is"),t.is=r})(e$||(e$={}));(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.numberRange(i.red,0,1)&&qe.numberRange(i.green,0,1)&&qe.numberRange(i.blue,0,1)&&qe.numberRange(i.alpha,0,1)}o(r,"is"),t.is=r})(R6||(R6={}));(function(t){function e(n,i){return{range:n,color:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&Yr.is(i.range)&&R6.is(i.color)}o(r,"is"),t.is=r})(t$||(t$={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.string(i.label)&&(qe.undefined(i.textEdit)||Lu.is(i))&&(qe.undefined(i.additionalTextEdits)||qe.typedArray(i.additionalTextEdits,Lu.is))}o(r,"is"),t.is=r})(r$||(r$={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(n$||(n$={}));(function(t){function e(n,i,a,s,l,u){let h={startLine:n,endLine:i};return qe.defined(a)&&(h.startCharacter=a),qe.defined(s)&&(h.endCharacter=s),qe.defined(l)&&(h.kind=l),qe.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.uinteger(i.startLine)&&qe.uinteger(i.startLine)&&(qe.undefined(i.startCharacter)||qe.uinteger(i.startCharacter))&&(qe.undefined(i.endCharacter)||qe.uinteger(i.endCharacter))&&(qe.undefined(i.kind)||qe.string(i.kind))}o(r,"is"),t.is=r})(i$||(i$={}));(function(t){function e(n,i){return{location:n,message:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&H4.is(i.location)&&qe.string(i.message)}o(r,"is"),t.is=r})(L6||(L6={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(a$||(a$={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(s$||(s$={}));(function(t){function e(r){let n=r;return qe.objectLiteral(n)&&qe.string(n.href)}o(e,"is"),t.is=e})(o$||(o$={}));(function(t){function e(n,i,a,s,l,u){let h={range:n,message:i};return qe.defined(a)&&(h.severity=a),qe.defined(s)&&(h.code=s),qe.defined(l)&&(h.source=l),qe.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(n){var i;let a=n;return qe.defined(a)&&Yr.is(a.range)&&qe.string(a.message)&&(qe.number(a.severity)||qe.undefined(a.severity))&&(qe.integer(a.code)||qe.string(a.code)||qe.undefined(a.code))&&(qe.undefined(a.codeDescription)||qe.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(qe.string(a.source)||qe.undefined(a.source))&&(qe.undefined(a.relatedInformation)||qe.typedArray(a.relatedInformation,L6.is))}o(r,"is"),t.is=r})(Y4||(Y4={}));(function(t){function e(n,i,...a){let s={title:n,command:i};return qe.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.title)&&qe.string(i.command)}o(r,"is"),t.is=r})(vm||(vm={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}o(n,"del"),t.del=n;function i(a){let s=a;return qe.objectLiteral(s)&&qe.string(s.newText)&&Yr.is(s.range)}o(i,"is"),t.is=i})(Lu||(Lu={}));(function(t){function e(n,i,a){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&qe.string(i.label)&&(qe.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(qe.string(i.description)||i.description===void 0)}o(r,"is"),t.is=r})(ym||(ym={}));(function(t){function e(r){let n=r;return qe.string(n)}o(e,"is"),t.is=e})(Va||(Va={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}o(n,"del"),t.del=n;function i(a){let s=a;return Lu.is(s)&&(ym.is(s.annotationId)||Va.is(s.annotationId))}o(i,"is"),t.is=i})(Yh||(Yh={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&X4.is(i.textDocument)&&Array.isArray(i.edits)}o(r,"is"),t.is=r})(j4||(j4={}));(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&qe.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||qe.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||qe.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Va.is(i.annotationId))}o(r,"is"),t.is=r})(zy||(zy={}));(function(t){function e(n,i,a,s){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&qe.string(i.oldUri)&&qe.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||qe.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||qe.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Va.is(i.annotationId))}o(r,"is"),t.is=r})(Gy||(Gy={}));(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&qe.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||qe.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||qe.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Va.is(i.annotationId))}o(r,"is"),t.is=r})(Vy||(Vy={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>qe.string(i.kind)?zy.is(i)||Gy.is(i)||Vy.is(i):j4.is(i)))}o(e,"is"),t.is=e})(N6||(N6={}));$y=class{static{o(this,"TextEditChangeImpl")}constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=Lu.insert(e,r):Va.is(n)?(a=n,i=Yh.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Yh.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=Lu.replace(e,r):Va.is(n)?(a=n,i=Yh.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Yh.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=Lu.del(e):Va.is(r)?(i=r,n=Yh.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Yh.del(e,i)),this.edits.push(n),i!==void 0)return i}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.")}},M6=class{static{o(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,r){let n;if(Va.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},l$=class{static{o(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new M6(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(j4.is(r)){let n=new $y(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new $y(e.changes[r]);this._textEditChanges[r]=n})):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(X4.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new $y(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new $y(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new M6,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,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ym.is(r)||Va.is(r)?i=r:n=r;let a,s;if(i===void 0?a=zy.create(e,n):(s=Va.is(i)?i:this._changeAnnotations.manage(i),a=zy.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;ym.is(n)||Va.is(n)?a=n:i=n;let s,l;if(a===void 0?s=Gy.create(e,r,i):(l=Va.is(a)?a:this._changeAnnotations.manage(a),s=Gy.create(e,r,i,l)),this._workspaceEdit.documentChanges.push(s),l!==void 0)return l}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ym.is(r)||Va.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Vy.create(e,n):(s=Va.is(i)?i:this._changeAnnotations.manage(i),a=Vy.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.uri)}o(r,"is"),t.is=r})(c$||(c$={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.uri)&&qe.integer(i.version)}o(r,"is"),t.is=r})(u$||(u$={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.uri)&&(i.version===null||qe.integer(i.version))}o(r,"is"),t.is=r})(X4||(X4={}));(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.string(i.uri)&&qe.string(i.languageId)&&qe.integer(i.version)&&qe.string(i.text)}o(r,"is"),t.is=r})(h$||(h$={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}o(e,"is"),t.is=e})(I6||(I6={}));(function(t){function e(r){let n=r;return qe.objectLiteral(r)&&I6.is(n.kind)&&qe.string(n.value)}o(e,"is"),t.is=e})(qy||(qy={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(f$||(f$={}));(function(t){t.PlainText=1,t.Snippet=2})(d$||(d$={}));(function(t){t.Deprecated=1})(p$||(p$={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i&&qe.string(i.newText)&&Yr.is(i.insert)&&Yr.is(i.replace)}o(r,"is"),t.is=r})(m$||(m$={}));(function(t){t.asIs=1,t.adjustIndentation=2})(g$||(g$={}));(function(t){function e(r){let n=r;return n&&(qe.string(n.detail)||n.detail===void 0)&&(qe.string(n.description)||n.description===void 0)}o(e,"is"),t.is=e})(y$||(y$={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(v$||(v$={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}o(e,"create"),t.create=e})(x$||(x$={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return qe.string(i)||qe.objectLiteral(i)&&qe.string(i.language)&&qe.string(i.value)}o(r,"is"),t.is=r})(K4||(K4={}));(function(t){function e(r){let n=r;return!!n&&qe.objectLiteral(n)&&(qy.is(n.contents)||K4.is(n.contents)||qe.typedArray(n.contents,K4.is))&&(r.range===void 0||Yr.is(r.range))}o(e,"is"),t.is=e})(b$||(b$={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}o(e,"create"),t.create=e})(T$||(T$={}));(function(t){function e(r,n,...i){let a={label:r};return qe.defined(n)&&(a.documentation=n),qe.defined(i)?a.parameters=i:a.parameters=[],a}o(e,"create"),t.create=e})(w$||(w$={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(k$||(k$={}));(function(t){function e(r,n){let i={range:r};return qe.number(n)&&(i.kind=n),i}o(e,"create"),t.create=e})(S$||(S$={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(E$||(E$={}));(function(t){t.Deprecated=1})(C$||(C$={}));(function(t){function e(r,n,i,a,s){let l={name:r,kind:n,location:{uri:a,range:i}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(A$||(A$={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}o(e,"create"),t.create=e})(_$||(_$={}));(function(t){function e(n,i,a,s,l,u){let h={name:n,detail:i,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return i&&qe.string(i.name)&&qe.number(i.kind)&&Yr.is(i.range)&&Yr.is(i.selectionRange)&&(i.detail===void 0||qe.string(i.detail))&&(i.deprecated===void 0||qe.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}o(r,"is"),t.is=r})(D$||(D$={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(R$||(R$={}));(function(t){t.Invoked=1,t.Automatic=2})(Q4||(Q4={}));(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.typedArray(i.diagnostics,Y4.is)&&(i.only===void 0||qe.typedArray(i.only,qe.string))&&(i.triggerKind===void 0||i.triggerKind===Q4.Invoked||i.triggerKind===Q4.Automatic)}o(r,"is"),t.is=r})(L$||(L$={}));(function(t){function e(n,i,a){let s={title:n},l=!0;return typeof i=="string"?(l=!1,s.kind=i):vm.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&qe.string(i.title)&&(i.diagnostics===void 0||qe.typedArray(i.diagnostics,Y4.is))&&(i.kind===void 0||qe.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||vm.is(i.command))&&(i.isPreferred===void 0||qe.boolean(i.isPreferred))&&(i.edit===void 0||N6.is(i.edit))}o(r,"is"),t.is=r})(N$||(N$={}));(function(t){function e(n,i){let a={range:n};return qe.defined(i)&&(a.data=i),a}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&Yr.is(i.range)&&(qe.undefined(i.command)||vm.is(i.command))}o(r,"is"),t.is=r})(M$||(M$={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&qe.uinteger(i.tabSize)&&qe.boolean(i.insertSpaces)}o(r,"is"),t.is=r})(I$||(I$={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&Yr.is(i.range)&&(qe.undefined(i.target)||qe.string(i.target))}o(r,"is"),t.is=r})(O$||(O$={}));(function(t){function e(n,i){return{range:n,parent:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&Yr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}o(r,"is"),t.is=r})(P$||(P$={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(B$||(B$={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(F$||(F$={}));(function(t){function e(r){let n=r;return qe.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}o(e,"is"),t.is=e})($$||($$={}));(function(t){function e(n,i){return{range:n,text:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Yr.is(i.range)&&qe.string(i.text)}o(r,"is"),t.is=r})(z$||(z$={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Yr.is(i.range)&&qe.boolean(i.caseSensitiveLookup)&&(qe.string(i.variableName)||i.variableName===void 0)}o(r,"is"),t.is=r})(G$||(G$={}));(function(t){function e(n,i){return{range:n,expression:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Yr.is(i.range)&&(qe.string(i.expression)||i.expression===void 0)}o(r,"is"),t.is=r})(V$||(V$={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.defined(i)&&Yr.is(n.stoppedLocation)}o(r,"is"),t.is=r})(q$||(q$={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(O6||(O6={}));(function(t){function e(n){return{value:n}}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&(i.tooltip===void 0||qe.string(i.tooltip)||qy.is(i.tooltip))&&(i.location===void 0||H4.is(i.location))&&(i.command===void 0||vm.is(i.command))}o(r,"is"),t.is=r})(P6||(P6={}));(function(t){function e(n,i,a){let s={position:n,label:i};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return qe.objectLiteral(i)&&nn.is(i.position)&&(qe.string(i.label)||qe.typedArray(i.label,P6.is))&&(i.kind===void 0||O6.is(i.kind))&&i.textEdits===void 0||qe.typedArray(i.textEdits,Lu.is)&&(i.tooltip===void 0||qe.string(i.tooltip)||qy.is(i.tooltip))&&(i.paddingLeft===void 0||qe.boolean(i.paddingLeft))&&(i.paddingRight===void 0||qe.boolean(i.paddingRight))}o(r,"is"),t.is=r})(U$||(U$={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(W$||(W$={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}o(e,"create"),t.create=e})(H$||(H$={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(Y$||(Y$={}));(function(t){t.Invoked=0,t.Automatic=1})(j$||(j$={}));(function(t){function e(r,n){return{range:r,text:n}}o(e,"create"),t.create=e})(X$||(X$={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}o(e,"create"),t.create=e})(K$||(K$={}));(function(t){function e(r){let n=r;return qe.objectLiteral(n)&&D6.is(n.uri)&&qe.string(n.name)}o(e,"is"),t.is=e})(Q$||(Q$={}));Jtt=[` +For Further details.`,n}function knt(t){if(t instanceof Sn)return"SUBRULE";if(t instanceof Cn)return"OPTION";if(t instanceof Gn)return"OR";if(t instanceof jn)return"AT_LEAST_ONE";if(t instanceof Xn)return"AT_LEAST_ONE_SEP";if(t instanceof zn)return"MANY_SEP";if(t instanceof Jr)return"MANY";if(t instanceof Yr)return"CONSUME";throw Error("non exhaustive match")}function Ent(t,e,r){let n=za(e.configs.elements,a=>a.state.transitions),i=phe(n.filter(a=>a instanceof Vy).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function Snt(t,e){return t.edges[e.tokenTypeIdx]}function Cnt(t,e,r){let n=new Hy,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Uy){i.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!Lnt(a))for(let s of i)a.add(s);return a}function Ant(t,e){if(t instanceof Vy&&$T(e,t.tokenType))return t.target}function _nt(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function mve(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function pve(t,e,r,n){return n=gve(t,n),e.edges[r.tokenTypeIdx]=n,n}function gve(t,e){if(e===t4)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Dnt(t){let e=new Hy,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};G6(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function Pnt(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var z6,fve,r4,yve=O(()=>{"use strict";Hd();uve();hve();kI();yI();mhe();M1();AE();rS();oS();AI();o(ynt,"createDFACache");z6=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n))}initialize(e){this.atn=sve(e.rules),this.dfas=vnt(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=vm(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=lt(v6({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>lt(p,m=>m[0]));if(dve(d,!1)&&!a){let p=pn(d,(m,g,y)=>(Oe(g,v=>{v&&(m[v.tokenTypeIdx]=y,Oe(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new z6,g=p===void 0?0:p.length;for(let v=0;vlt(p,m=>m[0]));if(dve(d)&&d[0][0]&&!a){let p=d[0],m=fn(p);if(m.length===1&&Er(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=pn(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Oe(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=d$.call(this,s,f,fve,l);return typeof p=="object"?!1:p===0}}};o(dve,"isLL1Sequence");o(vnt,"initATNSimulator");o(d$,"adaptivePredict");o(xnt,"performLookahead");o(bnt,"computeLookaheadTarget");o(Tnt,"reportLookaheadAmbiguity");o(wnt,"buildAmbiguityError");o(knt,"getProductionDslName");o(Ent,"buildAdaptivePredictError");o(Snt,"getExistingTargetState");o(Cnt,"computeReachSet");o(Ant,"getReachableTarget");o(_nt,"getUniqueAlt");o(mve,"newDFAState");o(pve,"addDFAEdge");o(gve,"addDFAState");o(Dnt,"computeStartState");o(G6,"closure");o(Rnt,"getEpsilonTarget");o(Lnt,"hasConfigInRuleStopState");o(Nnt,"allConfigsInRuleStopStates");o(Mnt,"hasConflictTerminatingPrediction");o(Int,"getConflictingAltSets");o(Ont,"hasConflictingAltSet");o(Pnt,"hasStateAssociatedWithOneAlt")});var vve=O(()=>{"use strict";yve()});var K6={};vr(K6,{AnnotatedTextEdit:()=>Jh,ChangeAnnotation:()=>bm,ChangeAnnotationIdentifier:()=>Wa,CodeAction:()=>j$,CodeActionContext:()=>Y$,CodeActionKind:()=>H$,CodeActionTriggerKind:()=>c4,CodeDescription:()=>k$,CodeLens:()=>X$,Color:()=>q6,ColorInformation:()=>y$,ColorPresentation:()=>v$,Command:()=>Tm,CompletionItem:()=>I$,CompletionItemKind:()=>_$,CompletionItemLabelDetails:()=>M$,CompletionItemTag:()=>R$,CompletionList:()=>O$,CreateFile:()=>jy,DeleteFile:()=>Ky,Diagnostic:()=>a4,DiagnosticRelatedInformation:()=>U6,DiagnosticSeverity:()=>T$,DiagnosticTag:()=>w$,DocumentHighlight:()=>z$,DocumentHighlightKind:()=>$$,DocumentLink:()=>Q$,DocumentSymbol:()=>W$,DocumentUri:()=>p$,EOL:()=>Bnt,FoldingRange:()=>b$,FoldingRangeKind:()=>x$,FormattingOptions:()=>K$,Hover:()=>P$,InlayHint:()=>sz,InlayHintKind:()=>j6,InlayHintLabelPart:()=>X6,InlineCompletionContext:()=>fz,InlineCompletionItem:()=>lz,InlineCompletionList:()=>cz,InlineCompletionTriggerKind:()=>uz,InlineValueContext:()=>az,InlineValueEvaluatableExpression:()=>iz,InlineValueText:()=>rz,InlineValueVariableLookup:()=>nz,InsertReplaceEdit:()=>L$,InsertTextFormat:()=>D$,InsertTextMode:()=>N$,Location:()=>i4,LocationLink:()=>g$,MarkedString:()=>l4,MarkupContent:()=>Qy,MarkupKind:()=>Y6,OptionalVersionedTextDocumentIdentifier:()=>o4,ParameterInformation:()=>B$,Position:()=>on,Range:()=>Kr,RenameFile:()=>Xy,SelectedCompletionInfo:()=>hz,SelectionRange:()=>Z$,SemanticTokenModifiers:()=>ez,SemanticTokenTypes:()=>J$,SemanticTokens:()=>tz,SignatureInformation:()=>F$,StringValue:()=>oz,SymbolInformation:()=>q$,SymbolKind:()=>G$,SymbolTag:()=>V$,TextDocument:()=>pz,TextDocumentEdit:()=>s4,TextDocumentIdentifier:()=>S$,TextDocumentItem:()=>A$,TextEdit:()=>Fu,URI:()=>V6,VersionedTextDocumentIdentifier:()=>C$,WorkspaceChange:()=>E$,WorkspaceEdit:()=>W6,WorkspaceFolder:()=>dz,WorkspaceSymbol:()=>U$,integer:()=>m$,uinteger:()=>n4});var p$,V6,m$,n4,on,Kr,i4,g$,q6,y$,v$,x$,b$,U6,T$,w$,k$,a4,Tm,Fu,bm,Wa,Jh,s4,jy,Xy,Ky,W6,Yy,H6,E$,S$,C$,o4,A$,Y6,Qy,_$,D$,R$,L$,N$,M$,I$,O$,l4,P$,B$,F$,$$,z$,G$,V$,q$,U$,W$,H$,c4,Y$,j$,X$,K$,Q$,Z$,J$,ez,tz,rz,nz,iz,az,j6,X6,sz,oz,lz,cz,uz,hz,fz,dz,Bnt,pz,mz,Ye,Zy=O(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(p$||(p$={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(V6||(V6={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(m$||(m$={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(n4||(n4={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=n4.MAX_VALUE),i===Number.MAX_VALUE&&(i=n4.MAX_VALUE),{line:n,character:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.uinteger(i.line)&&Ye.uinteger(i.character)}o(r,"is"),t.is=r})(on||(on={}));(function(t){function e(n,i,a,s){if(Ye.uinteger(n)&&Ye.uinteger(i)&&Ye.uinteger(a)&&Ye.uinteger(s))return{start:on.create(n,i),end:on.create(a,s)};if(on.is(n)&&on.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&on.is(i.start)&&on.is(i.end)}o(r,"is"),t.is=r})(Kr||(Kr={}));(function(t){function e(n,i){return{uri:n,range:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Kr.is(i.range)&&(Ye.string(i.uri)||Ye.undefined(i.uri))}o(r,"is"),t.is=r})(i4||(i4={}));(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Kr.is(i.targetRange)&&Ye.string(i.targetUri)&&Kr.is(i.targetSelectionRange)&&(Kr.is(i.originSelectionRange)||Ye.undefined(i.originSelectionRange))}o(r,"is"),t.is=r})(g$||(g$={}));(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.numberRange(i.red,0,1)&&Ye.numberRange(i.green,0,1)&&Ye.numberRange(i.blue,0,1)&&Ye.numberRange(i.alpha,0,1)}o(r,"is"),t.is=r})(q6||(q6={}));(function(t){function e(n,i){return{range:n,color:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Kr.is(i.range)&&q6.is(i.color)}o(r,"is"),t.is=r})(y$||(y$={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.string(i.label)&&(Ye.undefined(i.textEdit)||Fu.is(i))&&(Ye.undefined(i.additionalTextEdits)||Ye.typedArray(i.additionalTextEdits,Fu.is))}o(r,"is"),t.is=r})(v$||(v$={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(x$||(x$={}));(function(t){function e(n,i,a,s,l,u){let h={startLine:n,endLine:i};return Ye.defined(a)&&(h.startCharacter=a),Ye.defined(s)&&(h.endCharacter=s),Ye.defined(l)&&(h.kind=l),Ye.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.uinteger(i.startLine)&&Ye.uinteger(i.startLine)&&(Ye.undefined(i.startCharacter)||Ye.uinteger(i.startCharacter))&&(Ye.undefined(i.endCharacter)||Ye.uinteger(i.endCharacter))&&(Ye.undefined(i.kind)||Ye.string(i.kind))}o(r,"is"),t.is=r})(b$||(b$={}));(function(t){function e(n,i){return{location:n,message:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&i4.is(i.location)&&Ye.string(i.message)}o(r,"is"),t.is=r})(U6||(U6={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(T$||(T$={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(w$||(w$={}));(function(t){function e(r){let n=r;return Ye.objectLiteral(n)&&Ye.string(n.href)}o(e,"is"),t.is=e})(k$||(k$={}));(function(t){function e(n,i,a,s,l,u){let h={range:n,message:i};return Ye.defined(a)&&(h.severity=a),Ye.defined(s)&&(h.code=s),Ye.defined(l)&&(h.source=l),Ye.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(n){var i;let a=n;return Ye.defined(a)&&Kr.is(a.range)&&Ye.string(a.message)&&(Ye.number(a.severity)||Ye.undefined(a.severity))&&(Ye.integer(a.code)||Ye.string(a.code)||Ye.undefined(a.code))&&(Ye.undefined(a.codeDescription)||Ye.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(Ye.string(a.source)||Ye.undefined(a.source))&&(Ye.undefined(a.relatedInformation)||Ye.typedArray(a.relatedInformation,U6.is))}o(r,"is"),t.is=r})(a4||(a4={}));(function(t){function e(n,i,...a){let s={title:n,command:i};return Ye.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.title)&&Ye.string(i.command)}o(r,"is"),t.is=r})(Tm||(Tm={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}o(n,"del"),t.del=n;function i(a){let s=a;return Ye.objectLiteral(s)&&Ye.string(s.newText)&&Kr.is(s.range)}o(i,"is"),t.is=i})(Fu||(Fu={}));(function(t){function e(n,i,a){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Ye.string(i.label)&&(Ye.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(Ye.string(i.description)||i.description===void 0)}o(r,"is"),t.is=r})(bm||(bm={}));(function(t){function e(r){let n=r;return Ye.string(n)}o(e,"is"),t.is=e})(Wa||(Wa={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}o(n,"del"),t.del=n;function i(a){let s=a;return Fu.is(s)&&(bm.is(s.annotationId)||Wa.is(s.annotationId))}o(i,"is"),t.is=i})(Jh||(Jh={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&o4.is(i.textDocument)&&Array.isArray(i.edits)}o(r,"is"),t.is=r})(s4||(s4={}));(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&Ye.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||Ye.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Ye.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Wa.is(i.annotationId))}o(r,"is"),t.is=r})(jy||(jy={}));(function(t){function e(n,i,a,s){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&Ye.string(i.oldUri)&&Ye.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||Ye.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Ye.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Wa.is(i.annotationId))}o(r,"is"),t.is=r})(Xy||(Xy={}));(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&Ye.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||Ye.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||Ye.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Wa.is(i.annotationId))}o(r,"is"),t.is=r})(Ky||(Ky={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>Ye.string(i.kind)?jy.is(i)||Xy.is(i)||Ky.is(i):s4.is(i)))}o(e,"is"),t.is=e})(W6||(W6={}));Yy=class{static{o(this,"TextEditChangeImpl")}constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=Fu.insert(e,r):Wa.is(n)?(a=n,i=Jh.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Jh.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=Fu.replace(e,r):Wa.is(n)?(a=n,i=Jh.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Jh.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=Fu.del(e):Wa.is(r)?(i=r,n=Jh.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Jh.del(e,i)),this.edits.push(n),i!==void 0)return i}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.")}},H6=class{static{o(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,r){let n;if(Wa.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},E$=class{static{o(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new H6(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(s4.is(r)){let n=new Yy(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new Yy(e.changes[r]);this._textEditChanges[r]=n})):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(o4.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new Yy(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new Yy(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new H6,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,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;bm.is(r)||Wa.is(r)?i=r:n=r;let a,s;if(i===void 0?a=jy.create(e,n):(s=Wa.is(i)?i:this._changeAnnotations.manage(i),a=jy.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;bm.is(n)||Wa.is(n)?a=n:i=n;let s,l;if(a===void 0?s=Xy.create(e,r,i):(l=Wa.is(a)?a:this._changeAnnotations.manage(a),s=Xy.create(e,r,i,l)),this._workspaceEdit.documentChanges.push(s),l!==void 0)return l}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;bm.is(r)||Wa.is(r)?i=r:n=r;let a,s;if(i===void 0?a=Ky.create(e,n):(s=Wa.is(i)?i:this._changeAnnotations.manage(i),a=Ky.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.uri)}o(r,"is"),t.is=r})(S$||(S$={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.uri)&&Ye.integer(i.version)}o(r,"is"),t.is=r})(C$||(C$={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.uri)&&(i.version===null||Ye.integer(i.version))}o(r,"is"),t.is=r})(o4||(o4={}));(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.string(i.uri)&&Ye.string(i.languageId)&&Ye.integer(i.version)&&Ye.string(i.text)}o(r,"is"),t.is=r})(A$||(A$={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}o(e,"is"),t.is=e})(Y6||(Y6={}));(function(t){function e(r){let n=r;return Ye.objectLiteral(r)&&Y6.is(n.kind)&&Ye.string(n.value)}o(e,"is"),t.is=e})(Qy||(Qy={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(_$||(_$={}));(function(t){t.PlainText=1,t.Snippet=2})(D$||(D$={}));(function(t){t.Deprecated=1})(R$||(R$={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ye.string(i.newText)&&Kr.is(i.insert)&&Kr.is(i.replace)}o(r,"is"),t.is=r})(L$||(L$={}));(function(t){t.asIs=1,t.adjustIndentation=2})(N$||(N$={}));(function(t){function e(r){let n=r;return n&&(Ye.string(n.detail)||n.detail===void 0)&&(Ye.string(n.description)||n.description===void 0)}o(e,"is"),t.is=e})(M$||(M$={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(I$||(I$={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}o(e,"create"),t.create=e})(O$||(O$={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return Ye.string(i)||Ye.objectLiteral(i)&&Ye.string(i.language)&&Ye.string(i.value)}o(r,"is"),t.is=r})(l4||(l4={}));(function(t){function e(r){let n=r;return!!n&&Ye.objectLiteral(n)&&(Qy.is(n.contents)||l4.is(n.contents)||Ye.typedArray(n.contents,l4.is))&&(r.range===void 0||Kr.is(r.range))}o(e,"is"),t.is=e})(P$||(P$={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}o(e,"create"),t.create=e})(B$||(B$={}));(function(t){function e(r,n,...i){let a={label:r};return Ye.defined(n)&&(a.documentation=n),Ye.defined(i)?a.parameters=i:a.parameters=[],a}o(e,"create"),t.create=e})(F$||(F$={}));(function(t){t.Text=1,t.Read=2,t.Write=3})($$||($$={}));(function(t){function e(r,n){let i={range:r};return Ye.number(n)&&(i.kind=n),i}o(e,"create"),t.create=e})(z$||(z$={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(G$||(G$={}));(function(t){t.Deprecated=1})(V$||(V$={}));(function(t){function e(r,n,i,a,s){let l={name:r,kind:n,location:{uri:a,range:i}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(q$||(q$={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}o(e,"create"),t.create=e})(U$||(U$={}));(function(t){function e(n,i,a,s,l,u){let h={name:n,detail:i,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ye.string(i.name)&&Ye.number(i.kind)&&Kr.is(i.range)&&Kr.is(i.selectionRange)&&(i.detail===void 0||Ye.string(i.detail))&&(i.deprecated===void 0||Ye.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}o(r,"is"),t.is=r})(W$||(W$={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(H$||(H$={}));(function(t){t.Invoked=1,t.Automatic=2})(c4||(c4={}));(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.typedArray(i.diagnostics,a4.is)&&(i.only===void 0||Ye.typedArray(i.only,Ye.string))&&(i.triggerKind===void 0||i.triggerKind===c4.Invoked||i.triggerKind===c4.Automatic)}o(r,"is"),t.is=r})(Y$||(Y$={}));(function(t){function e(n,i,a){let s={title:n},l=!0;return typeof i=="string"?(l=!1,s.kind=i):Tm.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Ye.string(i.title)&&(i.diagnostics===void 0||Ye.typedArray(i.diagnostics,a4.is))&&(i.kind===void 0||Ye.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Tm.is(i.command))&&(i.isPreferred===void 0||Ye.boolean(i.isPreferred))&&(i.edit===void 0||W6.is(i.edit))}o(r,"is"),t.is=r})(j$||(j$={}));(function(t){function e(n,i){let a={range:n};return Ye.defined(i)&&(a.data=i),a}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Kr.is(i.range)&&(Ye.undefined(i.command)||Tm.is(i.command))}o(r,"is"),t.is=r})(X$||(X$={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Ye.uinteger(i.tabSize)&&Ye.boolean(i.insertSpaces)}o(r,"is"),t.is=r})(K$||(K$={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Kr.is(i.range)&&(Ye.undefined(i.target)||Ye.string(i.target))}o(r,"is"),t.is=r})(Q$||(Q$={}));(function(t){function e(n,i){return{range:n,parent:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&Kr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}o(r,"is"),t.is=r})(Z$||(Z$={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(J$||(J$={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(ez||(ez={}));(function(t){function e(r){let n=r;return Ye.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}o(e,"is"),t.is=e})(tz||(tz={}));(function(t){function e(n,i){return{range:n,text:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Kr.is(i.range)&&Ye.string(i.text)}o(r,"is"),t.is=r})(rz||(rz={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Kr.is(i.range)&&Ye.boolean(i.caseSensitiveLookup)&&(Ye.string(i.variableName)||i.variableName===void 0)}o(r,"is"),t.is=r})(nz||(nz={}));(function(t){function e(n,i){return{range:n,expression:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Kr.is(i.range)&&(Ye.string(i.expression)||i.expression===void 0)}o(r,"is"),t.is=r})(iz||(iz={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.defined(i)&&Kr.is(n.stoppedLocation)}o(r,"is"),t.is=r})(az||(az={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(j6||(j6={}));(function(t){function e(n){return{value:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&(i.tooltip===void 0||Ye.string(i.tooltip)||Qy.is(i.tooltip))&&(i.location===void 0||i4.is(i.location))&&(i.command===void 0||Tm.is(i.command))}o(r,"is"),t.is=r})(X6||(X6={}));(function(t){function e(n,i,a){let s={position:n,label:i};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Ye.objectLiteral(i)&&on.is(i.position)&&(Ye.string(i.label)||Ye.typedArray(i.label,X6.is))&&(i.kind===void 0||j6.is(i.kind))&&i.textEdits===void 0||Ye.typedArray(i.textEdits,Fu.is)&&(i.tooltip===void 0||Ye.string(i.tooltip)||Qy.is(i.tooltip))&&(i.paddingLeft===void 0||Ye.boolean(i.paddingLeft))&&(i.paddingRight===void 0||Ye.boolean(i.paddingRight))}o(r,"is"),t.is=r})(sz||(sz={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(oz||(oz={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}o(e,"create"),t.create=e})(lz||(lz={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(cz||(cz={}));(function(t){t.Invoked=0,t.Automatic=1})(uz||(uz={}));(function(t){function e(r,n){return{range:r,text:n}}o(e,"create"),t.create=e})(hz||(hz={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}o(e,"create"),t.create=e})(fz||(fz={}));(function(t){function e(r){let n=r;return Ye.objectLiteral(n)&&V6.is(n.uri)&&Ye.string(n.name)}o(e,"is"),t.is=e})(dz||(dz={}));Bnt=[` `,`\r -`,"\r"];(function(t){function e(a,s,l,u){return new J$(a,s,l,u)}o(e,"create"),t.create=e;function r(a){let s=a;return!!(qe.defined(s)&&qe.string(s.uri)&&(qe.undefined(s.languageId)||qe.string(s.languageId))&&qe.uinteger(s.lineCount)&&qe.func(s.getText)&&qe.func(s.positionAt)&&qe.func(s.offsetAt))}o(r,"is"),t.is=r;function n(a,s){let l=a.getText(),u=i(s,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(n,"applyEdits"),t.applyEdits=n;function i(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,s),i(h,s);let f=0,d=0,p=0;for(;f{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(n,"applyEdits"),t.applyEdits=n;function i(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,s),i(h,s);let f=0,d=0,p=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return nn.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return nn.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}o(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}o(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})(qe||(qe={}))});var Z4,J4,xm,bm,ez,Wy,F6=I(()=>{"use strict";Uy();yc();Z4=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Wy(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new bm;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new xm(e.startOffset,e.image.length,fy(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let a of e){let s=new xm(a.startOffset,a.image.length,fy(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},J4=class{static{o(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let 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)}},xm=class extends J4{static{o(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},bm=class extends J4{static{o(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new ez(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},ez=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},Wy=class extends bm{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function tz(t){return t.$type===$6}var $6,Oye,Pye,eT,tT,z6,Hy,rT,ert,G6,rz,nT=I(()=>{"use strict";Uo();Vd();Iye();Uo();wc();ls();F6();$6=Symbol("Datatype");o(tz,"isDataTypeNode");Oye="\u200B",Pye=o(t=>t.endsWith(Oye)?t:t+Oye,"withRuleSuffix"),eT=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new rz(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new G6(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},tT=class extends eT{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Z4,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;Bd(e)&&(i=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(Pye(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),wa(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let a=!this.isRecording()&&e!==void 0;if(a){let s={$type:e};this.stack.push(s),e===$6?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,crossRef:u}=this.getAssignment(n),h=this.current;if(l){let f=Dl(n)?i.image:this.converter.convert(i.image,s);this.assign(l.operator,l.feature,f,s,u)}else if(tz(h)){let f=i.image;Dl(n)||(f=this.converter.convert(f,s).toString()),h.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let l;try{l=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(l===void 0&&!n&&(l=this.construct()),l!==void 0&&s&&s.length>0&&this.performSubruleAssignment(l,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let s=this.current;if(tz(s))s.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):tz(e)?this.converter.convert(e.value,e.$cstNode):(kB(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let y=0;ys?(s=x.precedence,a=y):x.precedence===s&&(x.rightAssoc||(a=y))}let l=i.slice(0,a),u=i.slice(a+1),h=n.slice(0,a+1),f=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:u},m=this.constructInfix(d,r),g=this.constructInfix(p,r);return{$type:e.$type,$cstNode:e.$cstNode,left:m,operator:i[a],right:g}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Ih(e,xc);this.assignmentMap.set(e,{assignment:r,crossRef:r&&bc(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let s=this.current,l;switch(a==="single"&&typeof n=="string"?l=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?l=this.linker.buildMultiReference(s,r,i,n):l=n,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[i,a]of Object.entries(r)){let s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},z6=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Wh.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Wh.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Wh.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Wh.buildEarlyExitMessage(e)}},Hy=class extends z6{static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},rT=class extends eT{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Pye(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},ert={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Hy},G6=class extends z4{static{o(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...ert,lookaheadStrategy:n?new Hh({maxLookahead:r.maxLookahead}):new U4({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},rz=class extends G6{static{o(this,"ProfilerWrapper")}constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}});function iT(t,e,r){return trt({parser:e,tokens:r,ruleNames:new Map},t),e}function trt(t,e){let r=v4(e,!1),n=Or(e.rules).filter(wa).filter(a=>r.has(a));for(let a of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,Tm(s,a.definition))}let i=Or(e.rules).filter(Bd).filter(a=>r.has(a));for(let a of i)t.parser.rule(a,rrt(t,a))}function rrt(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Os(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(m=>m.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);let u={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},h={...a,$container:s};s.elements.push(u,h);let d=n.map(m=>t.tokens[m.value]).map((m,g)=>({ALT:o(()=>t.parser.consume(g,m,u),"ALT")})),p;return m=>{p??(p=iz(t,r)),t.parser.subrule(0,p,!1,a,m),t.parser.many(0,{DEF:o(()=>{t.parser.alternatives(0,d),t.parser.subrule(1,p,!1,h,m)},"DEF")})}}function Tm(t,e,r=!1){let n;if(Dl(e))n=crt(t,e);else if(Fh(e))n=nrt(t,e);else if(xc(e))n=Tm(t,e.terminal);else if(bc(e))n=Bye(t,e);else if(Tc(e))n=irt(t,e);else if(DC(e))n=srt(t,e);else if(MC(e))n=ort(t,e);else if(Pd(e))n=lrt(t,e);else if(RB(e)){let i=t.consume++;n=o(()=>t.parser.consume(i,Ho,e),"method")}else throw new am(e.$cstNode,`Unexpected element type: ${e.$type}`);return Fye(t,r?void 0:V6(e),n,e.cardinality)}function nrt(t,e){let r=$d(e);return()=>t.parser.action(r,e)}function irt(t,e){let r=e.rule.ref;if(Bh(r)){let n=t.subrule++,i=wa(r)&&r.fragment,a=e.arguments.length>0?art(r,e.arguments):()=>({}),s;return l=>{s??(s=iz(t,r)),t.parser.subrule(n,s,i,e,a(l))}}else if(Os(r)){let n=t.consume++,i=nz(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)_u(r);else throw new am(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function art(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Nu(i.value)}));return i=>{let a={};for(let{parameterName:s,predicate:l}of n)s&&(a[s]=l(i));return a}}else{let n=e.map(i=>Nu(i.value));return i=>{let a={};for(let s=0;se(n)||r(n)}else if(_B(t)){let e=Nu(t.left),r=Nu(t.right);return n=>e(n)&&r(n)}else if(MB(t)){let e=Nu(t.value);return r=>!e(r)}else if(IB(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(CB(t)){let e=!!t.true;return()=>e}_u(t)}function srt(t,e){if(e.elements.length===1)return Tm(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:Tm(t,i,!0)},s=V6(i);s&&(a.GATE=Nu(s)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let s={ALT:o(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(i)),s}))}}function ort(t,e){if(e.elements.length===1)return Tm(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:Tm(t,l,!0)},h=V6(l);h&&(u.GATE=Nu(h)),r.push(u)}let n=t.or++,i=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[h],f})),"alternatives"),s=Fye(t,V6(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function lrt(t,e){let r=e.elements.map(n=>Tm(t,n));return n=>r.forEach(i=>i(n))}function V6(t){if(Pd(t))return t.guardCondition}function Bye(t,e,r=e.terminal){if(r)if(Tc(r)&&wa(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,a;return s=>{a??(a=iz(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(Tc(r)&&Os(r.rule.ref)){let n=t.consume++,i=nz(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Dl(r)){let n=t.consume++,i=nz(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=zC(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+$d(e.type.ref));return Bye(t,e,i)}}function crt(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Fye(t,e,r,n){let i=e&&Nu(e);if(!n)if(i){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>i(s),"GATE")},{ALT:C6(),GATE:o(()=>!i(s),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){let a=t.many++;if(i){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>i(l),"GATE")},{ALT:C6(),GATE:o(()=>!i(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(n==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else _u(n)}function iz(t,e){let r=urt(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function urt(t,e){if(Bh(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!wa(n);)(Pd(n)||DC(n)||MC(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function nz(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var q6=I(()=>{"use strict";Vd();Uo();PC();Ms();wc();o(iT,"createParser");o(trt,"buildRules");o(rrt,"buildInfixRule");o(Tm,"buildElement");o(nrt,"buildAction");o(irt,"buildRuleCall");o(art,"buildRuleCallPredicate");o(Nu,"buildPredicate");o(srt,"buildAlternatives");o(ort,"buildUnorderedGroup");o(lrt,"buildGroup");o(V6,"getGuardCondition");o(Bye,"buildCrossReference");o(crt,"buildKeyword");o(Fye,"wrap");o(iz,"getRule");o(urt,"getRuleName");o(nz,"getToken")});function az(t){let e=t.Grammar,r=t.parser.Lexer,n=new rT(t);return iT(e,n,r.definition),n.finalize(),n}var sz=I(()=>{"use strict";nT();q6();o(az,"createCompletionParser")});function oz(t){let e=$ye(t);return e.finalize(),e}function $ye(t){let e=t.Grammar,r=t.parser.Lexer,n=new tT(t);return iT(e,n,r.definition)}var lz=I(()=>{"use strict";nT();q6();o(oz,"createLangiumParser");o($ye,"prepareLangiumParser")});var jh,U6=I(()=>{"use strict";Vd();Uo();ls();wc();py();Ms();jh=class{static{o(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=Or(v4(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Os).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=my(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=y4(r)?li.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Bh).flatMap(i=>gc(i).filter(Dl)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(Fd(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&JB("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var wm,Mu,cz=I(()=>{"use strict";Uo();wc();wm=class{static{o(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(bc(n)&&(n=rF(n)),Tc(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return Mu.convertInt(r);case"STRING":return Mu.convertString(r);case"ID":return Mu.convertID(r)}switch(cF(e)?.toLowerCase()){case"number":return Mu.convertNumber(r);case"boolean":return Mu.convertBoolean(r);case"bigint":return Mu.convertBigint(r);case"date":return Mu.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(fz,"__esModule",{value:!0});var uz;function hz(){if(uz===void 0)throw new Error("No runtime abstraction layer installed");return uz}o(hz,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");uz=r}o(e,"install"),t.install=e})(hz||(hz={}));fz.default=hz});var Yy=Jt(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.stringArray=cs.array=cs.func=cs.error=cs.number=cs.string=cs.boolean=void 0;function hrt(t){return t===!0||t===!1}o(hrt,"boolean");cs.boolean=hrt;function zye(t){return typeof t=="string"||t instanceof String}o(zye,"string");cs.string=zye;function frt(t){return typeof t=="number"||t instanceof Number}o(frt,"number");cs.number=frt;function drt(t){return t instanceof Error}o(drt,"error");cs.error=drt;function prt(t){return typeof t=="function"}o(prt,"func");cs.func=prt;function Gye(t){return Array.isArray(t)}o(Gye,"array");cs.array=Gye;function mrt(t){return Gye(t)&&t.every(e=>zye(e))}o(mrt,"stringArray");cs.stringArray=mrt});var km=Jt(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});jy.Emitter=jy.Event=void 0;var grt=Wd(),Vye;(function(t){let e={dispose(){}};t.None=function(){return e}})(Vye||(jy.Event=Vye={}));var dz=class{static{o(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new dz),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};jy.Emitter=W6;W6._noop=function(){}});var aT=Jt(Xy=>{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.CancellationTokenSource=Xy.CancellationToken=void 0;var yrt=Wd(),vrt=Yy(),pz=km(),H6;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:pz.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:pz.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||vrt.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}o(e,"is"),t.is=e})(H6||(Xy.CancellationToken=H6={}));var xrt=Object.freeze(function(t,e){let r=(0,yrt.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Y6=class{static{o(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?xrt:(this._emitter||(this._emitter=new pz.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},mz=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new Y6),this._token}cancel(){this._token?this._token.cancel():this._token=H6.Cancelled}dispose(){this._token?this._token instanceof Y6&&this._token.dispose():this._token=H6.None}};Xy.CancellationTokenSource=mz});var Ar={};var Rl=I(()=>{"use strict";$r(Ar,Aa(aT(),1))});function gz(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function X6(){return j6=performance.now(),new Ar.CancellationTokenSource}function Uye(t){qye=t}function Iu(t){return t===Ll}async function Ti(t){if(t===Ar.CancellationToken.None)return;let e=performance.now();if(e-j6>=qye&&(j6=e,await gz(),j6=performance.now()),t.isCancellationRequested)throw Ll}var j6,qye,Ll,zs,Nl=I(()=>{"use strict";Rl();o(gz,"delayNextTick");j6=0,qye=10;o(X6,"startCancelableOperation");o(Uye,"setInterruptionPeriod");Ll=Symbol("OperationCancelled");o(Iu,"isOperationCancelled");o(Ti,"interruptAndCheck");zs=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function yz(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);yz(n,e),yz(i,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function brt(t){let e=Yye(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var K6,Ky,jye=I(()=>{"use strict";K6=class t{static{o(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=Yye(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=Wye(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=s:n=s+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&Hye(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,s,l){return new K6(i,a,s,l)}o(e,"create"),t.create=e;function r(i,a,s){if(i instanceof K6)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function n(i,a){let s=i.getText(),l=yz(a.map(brt),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(n,"applyEdits"),t.applyEdits=n})(Ky||(Ky={}));o(yz,"mergeSort");o(Wye,"computeLineOffsets");o(Hye,"isEOL");o(Yye,"getWellformedRange");o(brt,"getWellformedEdit")});var Xye,ia,Qy,vz=I(()=>{"use strict";(()=>{"use strict";var t={975:L=>{function S(N){if(typeof N!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(N))}o(S,"e");function A(N,M){for(var P,B="",F=0,G=-1,$=0,V=0;V<=N.length;++V){if(V2){var K=B.lastIndexOf("/");if(K!==B.length-1){K===-1?(B="",F=0):F=(B=B.slice(0,K)).length-1-B.lastIndexOf("/"),G=V,$=0;continue}}else if(B.length===2||B.length===1){B="",F=0,G=V,$=0;continue}}M&&(B.length>0?B+="/..":B="..",F=2)}else B.length>0?B+="/"+N.slice(G+1,V):B=N.slice(G+1,V),F=V-G-1;G=V,$=0}else P===46&&$!==-1?++$:$=-1}return B}o(A,"r");var _={resolve:o(function(){for(var N,M="",P=!1,B=arguments.length-1;B>=-1&&!P;B--){var F;B>=0?F=arguments[B]:(N===void 0&&(N=process.cwd()),F=N),S(F),F.length!==0&&(M=F+"/"+M,P=F.charCodeAt(0)===47)}return M=A(M,!P),P?M.length>0?"/"+M:"/":M.length>0?M:"."},"resolve"),normalize:o(function(N){if(S(N),N.length===0)return".";var M=N.charCodeAt(0)===47,P=N.charCodeAt(N.length-1)===47;return(N=A(N,!M)).length!==0||M||(N="."),N.length>0&&P&&(N+="/"),M?"/"+N:N},"normalize"),isAbsolute:o(function(N){return S(N),N.length>0&&N.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var N,M=0;M0&&(N===void 0?N=P:N+="/"+P)}return N===void 0?".":_.normalize(N)},"join"),relative:o(function(N,M){if(S(N),S(M),N===M||(N=_.resolve(N))===(M=_.resolve(M)))return"";for(var P=1;PV){if(M.charCodeAt(G+ee)===47)return M.slice(G+ee+1);if(ee===0)return M.slice(G+ee)}else F>V&&(N.charCodeAt(P+ee)===47?K=ee:ee===0&&(K=0));break}var H=N.charCodeAt(P+ee);if(H!==M.charCodeAt(G+ee))break;H===47&&(K=ee)}var he="";for(ee=P+K+1;ee<=B;++ee)ee!==B&&N.charCodeAt(ee)!==47||(he.length===0?he+="..":he+="/..");return he.length>0?he+M.slice(G+K):(G+=K,M.charCodeAt(G)===47&&++G,M.slice(G))},"relative"),_makeLong:o(function(N){return N},"_makeLong"),dirname:o(function(N){if(S(N),N.length===0)return".";for(var M=N.charCodeAt(0),P=M===47,B=-1,F=!0,G=N.length-1;G>=1;--G)if((M=N.charCodeAt(G))===47){if(!F){B=G;break}}else F=!1;return B===-1?P?"/":".":P&&B===1?"//":N.slice(0,B)},"dirname"),basename:o(function(N,M){if(M!==void 0&&typeof M!="string")throw new TypeError('"ext" argument must be a string');S(N);var P,B=0,F=-1,G=!0;if(M!==void 0&&M.length>0&&M.length<=N.length){if(M.length===N.length&&M===N)return"";var $=M.length-1,V=-1;for(P=N.length-1;P>=0;--P){var K=N.charCodeAt(P);if(K===47){if(!G){B=P+1;break}}else V===-1&&(G=!1,V=P+1),$>=0&&(K===M.charCodeAt($)?--$==-1&&(F=P):($=-1,F=V))}return B===F?F=V:F===-1&&(F=N.length),N.slice(B,F)}for(P=N.length-1;P>=0;--P)if(N.charCodeAt(P)===47){if(!G){B=P+1;break}}else F===-1&&(G=!1,F=P+1);return F===-1?"":N.slice(B,F)},"basename"),extname:o(function(N){S(N);for(var M=-1,P=0,B=-1,F=!0,G=0,$=N.length-1;$>=0;--$){var V=N.charCodeAt($);if(V!==47)B===-1&&(F=!1,B=$+1),V===46?M===-1?M=$:G!==1&&(G=1):M!==-1&&(G=-1);else if(!F){P=$+1;break}}return M===-1||B===-1||G===0||G===1&&M===B-1&&M===P+1?"":N.slice(M,B)},"extname"),format:o(function(N){if(N===null||typeof N!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof N);return(function(M,P){var B=P.dir||P.root,F=P.base||(P.name||"")+(P.ext||"");return B?B===P.root?B+F:B+"/"+F:F})(0,N)},"format"),parse:o(function(N){S(N);var M={root:"",dir:"",base:"",ext:"",name:""};if(N.length===0)return M;var P,B=N.charCodeAt(0),F=B===47;F?(M.root="/",P=1):P=0;for(var G=-1,$=0,V=-1,K=!0,ee=N.length-1,H=0;ee>=P;--ee)if((B=N.charCodeAt(ee))!==47)V===-1&&(K=!1,V=ee+1),B===46?G===-1?G=ee:H!==1&&(H=1):G!==-1&&(H=-1);else if(!K){$=ee+1;break}return G===-1||V===-1||H===0||H===1&&G===V-1&&G===$+1?V!==-1&&(M.base=M.name=$===0&&F?N.slice(1,V):N.slice($,V)):($===0&&F?(M.name=N.slice(1,G),M.base=N.slice(1,V)):(M.name=N.slice($,G),M.base=N.slice($,V)),M.ext=N.slice(G,V)),$>0?M.dir=N.slice(0,$-1):F&&(M.dir="/"),M},"parse"),sep:"/",delimiter:":",win32:null,posix:null};_.posix=_,L.exports=_}},e={};function r(L){var S=e[L];if(S!==void 0)return S.exports;var A=e[L]={exports:{}};return t[L](A,A.exports,r),A.exports}o(r,"r"),r.d=(L,S)=>{for(var A in S)r.o(S,A)&&!r.o(L,A)&&Object.defineProperty(L,A,{enumerable:!0,get:S[A]})},r.o=(L,S)=>Object.prototype.hasOwnProperty.call(L,S),r.r=L=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(L,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(L,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:o(()=>p,"URI"),Utils:o(()=>O,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(L,S){if(!L.scheme&&S)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!a.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!s.test(L.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(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"a");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"l")}static isUri(S){return S instanceof p||!!S&&typeof S.authority=="string"&&typeof S.fragment=="string"&&typeof S.path=="string"&&typeof S.query=="string"&&typeof S.scheme=="string"&&typeof S.fsPath=="string"&&typeof S.with=="function"&&typeof S.toString=="function"}scheme;authority;path;query;fragment;constructor(S,A,_,N,M,P=!1){typeof S=="object"?(this.scheme=S.scheme||h,this.authority=S.authority||h,this.path=S.path||h,this.query=S.query||h,this.fragment=S.fragment||h):(this.scheme=(function(B,F){return B||F?B:"file"})(S,P),this.authority=A||h,this.path=(function(B,F){switch(B){case"https":case"http":case"file":F?F[0]!==f&&(F=f+F):F=f}return F})(this.scheme,_||h),this.query=N||h,this.fragment=M||h,u(this,P))}get fsPath(){return b(this,!1)}with(S){if(!S)return this;let{scheme:A,authority:_,path:N,query:M,fragment:P}=S;return A===void 0?A=this.scheme:A===null&&(A=h),_===void 0?_=this.authority:_===null&&(_=h),N===void 0?N=this.path:N===null&&(N=h),M===void 0?M=this.query:M===null&&(M=h),P===void 0?P=this.fragment:P===null&&(P=h),A===this.scheme&&_===this.authority&&N===this.path&&M===this.query&&P===this.fragment?this:new g(A,_,N,M,P)}static parse(S,A=!1){let _=d.exec(S);return _?new g(_[2]||h,k(_[4]||h),k(_[5]||h),k(_[7]||h),k(_[9]||h),A):new g(h,h,h,h,h)}static file(S){let A=h;if(i&&(S=S.replace(/\\/g,f)),S[0]===f&&S[1]===f){let _=S.indexOf(f,2);_===-1?(A=S.substring(2),S=f):(A=S.substring(2,_),S=S.substring(_)||f)}return new g("file",A,S,h,h)}static from(S){let A=new g(S.scheme,S.authority,S.path,S.query,S.fragment);return u(A,!0),A}toString(S=!1){return T(this,S)}toJSON(){return this}static revive(S){if(S){if(S instanceof p)return S;{let A=new g(S);return A._formatted=S.external,A._fsPath=S._sep===m?S.fsPath:null,A}}return S}}let m=i?1:void 0;class g extends p{static{o(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(S=!1){return S?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let S={$mid:1};return this._fsPath&&(S.fsPath=this._fsPath,S._sep=m),this._formatted&&(S.external=this._formatted),this.path&&(S.path=this.path),this.scheme&&(S.scheme=this.scheme),this.authority&&(S.authority=this.authority),this.query&&(S.query=this.query),this.fragment&&(S.fragment=this.fragment),S}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(L,S,A){let _,N=-1;for(let M=0;M=97&&P<=122||P>=65&&P<=90||P>=48&&P<=57||P===45||P===46||P===95||P===126||S&&P===47||A&&P===91||A&&P===93||A&&P===58)N!==-1&&(_+=encodeURIComponent(L.substring(N,M)),N=-1),_!==void 0&&(_+=L.charAt(M));else{_===void 0&&(_=L.substr(0,M));let B=y[P];B!==void 0?(N!==-1&&(_+=encodeURIComponent(L.substring(N,M)),N=-1),_+=B):N===-1&&(N=M)}}return N!==-1&&(_+=encodeURIComponent(L.substring(N))),_!==void 0?_:L}o(v,"m");function x(L){let S;for(let A=0;A1&&L.scheme==="file"?`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?S?L.path.substr(1):L.path[1].toLowerCase()+L.path.substr(2):L.path,i&&(A=A.replace(/\//g,"\\")),A}o(b,"v");function T(L,S){let A=S?x:v,_="",{scheme:N,authority:M,path:P,query:B,fragment:F}=L;if(N&&(_+=N,_+=":"),(M||N==="file")&&(_+=f,_+=f),M){let G=M.indexOf("@");if(G!==-1){let $=M.substr(0,G);M=M.substr(G+1),G=$.lastIndexOf(":"),G===-1?_+=A($,!1,!1):(_+=A($.substr(0,G),!1,!1),_+=":",_+=A($.substr(G+1),!1,!0)),_+="@"}M=M.toLowerCase(),G=M.lastIndexOf(":"),G===-1?_+=A(M,!1,!0):(_+=A(M.substr(0,G),!1,!0),_+=M.substr(G))}if(P){if(P.length>=3&&P.charCodeAt(0)===47&&P.charCodeAt(2)===58){let G=P.charCodeAt(1);G>=65&&G<=90&&(P=`/${String.fromCharCode(G+32)}:${P.substr(3)}`)}else if(P.length>=2&&P.charCodeAt(1)===58){let G=P.charCodeAt(0);G>=65&&G<=90&&(P=`${String.fromCharCode(G+32)}:${P.substr(2)}`)}_+=A(P,!0,!1)}return B&&(_+="?",_+=A(B,!1,!1)),F&&(_+="#",_+=S?F:v(F,!1,!1)),_}o(T,"b");function E(L){try{return decodeURIComponent(L)}catch{return L.length>3?L.substr(0,3)+E(L.substr(3)):L}}o(E,"C");let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(L){return L.match(w)?L.replace(w,(S=>E(S))):L}o(k,"w");var C=r(975);let D=C.posix||C,R="/";var O;(function(L){L.joinPath=function(S,...A){return S.with({path:D.join(S.path,...A)})},L.resolvePath=function(S,...A){let _=S.path,N=!1;_[0]!==R&&(_=R+_,N=!0);let M=D.resolve(_,...A);return N&&M[0]===R&&!S.authority&&(M=M.substring(1)),S.with({path:M})},L.dirname=function(S){if(S.path.length===0||S.path===R)return S;let A=D.dirname(S.path);return A.length===1&&A.charCodeAt(0)===46&&(A=""),S.with({path:A})},L.basename=function(S){return D.basename(S.path)},L.extname=function(S){return D.extname(S.path)}})(O||(O={})),Xye=n})();({URI:ia,Utils:Qy}=Xye)});var Ii,Zy,Sc=I(()=>{"use strict";vz();(function(t){t.basename=Qy.basename,t.dirname=Qy.dirname,t.extname=Qy.extname,t.joinPath=Qy.joinPath,t.resolvePath=Qy.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,l){return s?.toString()===l?.toString()}o(r,"equals"),t.equals=r;function n(s,l){let u=typeof s=="string"?ia.parse(s).path:s.path,h=typeof l=="string"?ia.parse(l).path:l.path,f=u.split("/").filter(y=>y.length>0),d=h.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),d[0]&&y.test(d[0])&&(d[0]=d[0].toLowerCase()),f[0]!==d[0])return h.substring(1)}let p=0;for(;p({name:i.name,uri:Ii.joinPath(ia.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Ii.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}}});var Nr,sT,oT,Jy=I(()=>{"use strict";jye();Jy();Rl();Ms();Sc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(Nr||(Nr={}));sT=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=Ar.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ia.parse(e.uri),Ar.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return Ar.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:Nr.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:Nr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=Nr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=Ky.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},oT=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new Zy,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return Or(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,Nr.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=Nr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=Nr.Changed;return this.documentTrie.delete(r),n}}});var Sm,lT,xz=I(()=>{"use strict";Rl();mc();ls();Nl();Jy();Sm=Symbol("RefResolving"),lT=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=Ar.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Is(e.parseResult.value))await Ti(r),Rd(i).forEach(a=>{let s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of Is(e.parseResult.value))await Ti(r),Rd(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Sm;try{let i=this.getCandidate(e);if(W0(i))n._ref=i;else{n._nodeDescription=i;let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Sm;try{let i=this.getCandidates(e),a=[];if(W0(i))n._linkingError=i;else for(let s of i){let l=this.loadAstNode(s);l&&a.push({ref:l,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(bi(this._ref))return this._ref;if(bB(this._nodeDescription)){let l=a.loadAstNode(this._nodeDescription);this._ref=l??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Sm;let l=ny(e).$document,u=a.getLinkedNode({reference:s,container:e,property:r});if(u.error&&l&&l.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(W0(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ny(e.container).$document;n&&n.state{"use strict";wc();o(Kye,"isNamed");cT=class{static{o(this,"DefaultNameProvider")}getName(e){if(Kye(e))return e.name}getNameNode(e){return x4(e.$cstNode,"name")}}});var uT,Tz=I(()=>{"use strict";wc();mc();ls();yc();Ms();Sc();Uo();uT=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Is(e.Grammar).some(r=>bc(r)&&r.isMulti)}findDeclarations(e){if(e){let r=lF(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(ra(i)||Go(i))return pC(i);if(Array.isArray(i)){for(let a of i)if((ra(a)||Go(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return pC(a)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||UB(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of Rd(n))if(Go(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>Ii.equals(a.sourceUri,r.documentUri))),n.push(...i),Or(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i);if(a){let s=os(i),l=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:l,targetUri:s.uri,targetPath:l,segment:im(a),local:!0})}}return n}}});var us,Em,Hd=I(()=>{"use strict";Ms();us=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return ty.sum(Or(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?Or(r):Dd}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Or(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Or(this.map.keys())}values(){return Or(this.map.values()).flat()}entriesGroupedByKey(){return Or(this.map.entries())}},Em=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var hT,wz=I(()=>{"use strict";ls();Rl();Hd();Nl();hT=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=Ar.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=t4,i=Ar.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,r);for(let s of n(e))await Ti(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=Ar.CancellationToken.None){let n=e.parseResult.value,i=new us;for(let a of gc(n))await Ti(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var ev,kz,fT,Trt,Sz=I(()=>{"use strict";Hd();Ms();ev=class{static{o(this,"StreamScope")}constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},kz=class{static{o(this,"MapScope")}constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?Or(i).concat(this.outerScope.getElements(e)):Or(i)}getAllElements(){let e=Or(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},fT=class{static{o(this,"MultiMapScope")}constructor(e,r,n){this.elements=new us,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?Or(n).concat(this.outerScope.getElements(e)):Or(n)}getAllElements(){let e=Or(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Trt={getElement(){},getElements(){return Dd},getAllElements(){return Dd}}});var tv,dT,Cm,Q6,rv,Z6=I(()=>{"use strict";tv=class{static{o(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},dT=class extends tv{static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Cm=class extends tv{static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},Q6=class extends Cm{static{o(this,"DocumentCache")}constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let s of a)this.clear(s)}))}},rv=class extends dT{static{o(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var pT,Ez=I(()=>{"use strict";Sz();ls();Ms();Z6();pT=class{static{o(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new rv(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=os(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(l=>this.reflection.isSubtype(l.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new ev(Or(e),r,n)}createScopeForNodes(e,r,n){let i=Or(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new ev(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new fT(this.indexManager.allElements(e)))}}});function Cz(t){return typeof t.$comment=="string"}function Qye(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var mT,J6=I(()=>{"use strict";vz();mc();ls();wc();o(Cz,"isAstNodeWithComment");o(Qye,"isIntermediateReference");mT=class{static{o(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,a=o((l,u)=>this.replacer(l,u,n),"defaultReplacer"),s=i?(l,u)=>i(l,u,a):a;try{return this.currentDocument=os(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:l}){if(!this.ignoreProperties.has(e))if(ra(r)){let u=r.ref,h=n?r.$refText:void 0;if(u){let f=os(u),d="";this.currentDocument&&this.currentDocument!==f&&(l?d=l(f.uri,u):d=f.uri.toString());let p=this.astNodeLocator.getAstNodePath(u);return{$ref:`${d}#${p}`,$refText:h}}else return{$error:r.error?.message??"Could not resolve reference",$refText:h}}else if(Go(r)){let u=n?r.$refText:void 0,h=[];for(let f of r.items){let d=f.ref,p=os(f.ref),m="";this.currentDocument&&this.currentDocument!==p&&(l?m=l(p.uri,d):m=p.uri.toString());let g=this.astNodeLocator.getAstNodePath(d);h.push(`${m}#${g}`)}return{$refs:h,$refText:u}}else if(bi(r)){let u;if(a&&(u=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(u??(u={...r}),u.$sourceText=r.$cstNode?.text),s){u??(u={...r});let h=this.commentProvider.getComment(r);h&&(u.$comment=h.replace(/\r/g,""))}return u??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=iF(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Sc();gT=class{static{o(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=Ii.extname(e),i=Ii.basename(e),a=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!a)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}});function Am(t){return{code:t}}var eA,yT,tA=I(()=>{"use strict";Yo();Hd();Nl();Ms();o(Am,"diagnosticData");(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(eA||(eA={}));yT=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new us,this.knownCategories=new Set(eA.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,l)}else _u(s)}}wrapValidationException(e,r){return async(n,i,a)=>{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(Iu(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Or(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,l)=>{await this.handleException(()=>e.call(n,i,a,s,l),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}});function Jye(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=x4(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=sF(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function rA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function eve(t){switch(t){case"error":return Am(Ml.LexingError);case"warning":return Am(Ml.LexingWarning);case"info":return Am(Ml.LexingInfo);case"hint":return Am(Ml.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Zye,vT,Ml,_z=I(()=>{"use strict";Rl();wc();ls();yc();Nl();tA();Zye=Object.freeze({validateNode:!0,validateChildren:!0}),vT=class{static{o(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,r={},n=Ar.CancellationToken.None){let i=e.parseResult,a=[];if(await Ti(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===Ml.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===Ml.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===Ml.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(Iu(s))throw s;console.error("An error occurred during validation:",s)}return await Ti(n),a}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of i){let s=a.severity??"error",l={severity:rA(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:eve(s),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=fy(i.token);if(a){let s={severity:rA("error"),range:a,message:i.message,data:Am(Ml.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Ml.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=Ar.CancellationToken.None){let i=[],a=o((s,l,u)=>{i.push(this.toDiagnostic(s,l,u))},"acceptor");return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=Ar.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let s of a)await Ti(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=Ar.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let s=Is(e).iterator();for(let l of s){a.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{let h=this.validationRegistry.getChecks(l.$type,r.categories);for(let f of h)await f(l,n,i)}finally{a.stopSubTask(l.$type)}u.validateChildren||s.prune()}}finally{a.stop()}}else{let a=Is(e).iterator();for(let s of a){await Ti(i);let l=this.validateSingleNodeOptions(s,r);if(l.validateNode){let u=this.validationRegistry.getChecks(s.$type,r.categories);for(let h of u)await h(s,n,i)}l.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return Zye}async validateAstAfter(e,r,n,i=Ar.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let s of a)await Ti(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:Jye(n),severity:rA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(Jye,"getDiagnosticRange");o(rA,"toDiagnosticSeverity");o(eve,"toDiagnosticData");(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ml||(Ml={}))});var xT,bT,Dz=I(()=>{"use strict";Rl();mc();ls();yc();Nl();Sc();xT=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??os(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s,l=o(()=>s??(s=im(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:im(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},bT=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=Ar.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Is(i))await Ti(r),Rd(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ra(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Go(r)&&(n=r.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let i=os(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],l=im(r.$refNode);for(let u of n)s.push({sourceUri:i,sourcePath:a,targetUri:u.documentUri,targetPath:u.path,segment:l,local:Ii.equals(u.documentUri,i)});return s}}});var TT,Rz=I(()=>{"use strict";TT=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1));return i[l]?.[u]}return i[a]},e)}}});var ui={};var nA=I(()=>{"use strict";$r(ui,Aa(km(),1))});var wT,Lz=I(()=>{"use strict";nA();Nl();wT=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new zs,this.onConfigurationSectionUpdateEmitter=new ui.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){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}});var rG=Jt(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.Message=ir.NotificationType9=ir.NotificationType8=ir.NotificationType7=ir.NotificationType6=ir.NotificationType5=ir.NotificationType4=ir.NotificationType3=ir.NotificationType2=ir.NotificationType1=ir.NotificationType0=ir.NotificationType=ir.RequestType9=ir.RequestType8=ir.RequestType7=ir.RequestType6=ir.RequestType5=ir.RequestType4=ir.RequestType3=ir.RequestType2=ir.RequestType1=ir.RequestType=ir.RequestType0=ir.AbstractMessageSignature=ir.ParameterStructures=ir.ResponseError=ir.ErrorCodes=void 0;var _m=Yy(),Nz;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(Nz||(ir.ErrorCodes=Nz={}));var Mz=class t extends Error{static{o(this,"ResponseError")}constructor(e,r,n){super(r),this.code=_m.number(e)?e:Nz.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ir.ResponseError=Mz;var bo=class t{static{o(this,"ParameterStructures")}constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ir.ParameterStructures=bo;bo.auto=new bo("auto");bo.byPosition=new bo("byPosition");bo.byName=new bo("byName");var Jn=class{static{o(this,"AbstractMessageSignature")}constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return bo.auto}};ir.AbstractMessageSignature=Jn;var Iz=class extends Jn{static{o(this,"RequestType0")}constructor(e){super(e,0)}};ir.RequestType0=Iz;var Oz=class extends Jn{static{o(this,"RequestType")}constructor(e,r=bo.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ir.RequestType=Oz;var Pz=class extends Jn{static{o(this,"RequestType1")}constructor(e,r=bo.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ir.RequestType1=Pz;var Bz=class extends Jn{static{o(this,"RequestType2")}constructor(e){super(e,2)}};ir.RequestType2=Bz;var Fz=class extends Jn{static{o(this,"RequestType3")}constructor(e){super(e,3)}};ir.RequestType3=Fz;var $z=class extends Jn{static{o(this,"RequestType4")}constructor(e){super(e,4)}};ir.RequestType4=$z;var zz=class extends Jn{static{o(this,"RequestType5")}constructor(e){super(e,5)}};ir.RequestType5=zz;var Gz=class extends Jn{static{o(this,"RequestType6")}constructor(e){super(e,6)}};ir.RequestType6=Gz;var Vz=class extends Jn{static{o(this,"RequestType7")}constructor(e){super(e,7)}};ir.RequestType7=Vz;var qz=class extends Jn{static{o(this,"RequestType8")}constructor(e){super(e,8)}};ir.RequestType8=qz;var Uz=class extends Jn{static{o(this,"RequestType9")}constructor(e){super(e,9)}};ir.RequestType9=Uz;var Wz=class extends Jn{static{o(this,"NotificationType")}constructor(e,r=bo.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ir.NotificationType=Wz;var Hz=class extends Jn{static{o(this,"NotificationType0")}constructor(e){super(e,0)}};ir.NotificationType0=Hz;var Yz=class extends Jn{static{o(this,"NotificationType1")}constructor(e,r=bo.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ir.NotificationType1=Yz;var jz=class extends Jn{static{o(this,"NotificationType2")}constructor(e){super(e,2)}};ir.NotificationType2=jz;var Xz=class extends Jn{static{o(this,"NotificationType3")}constructor(e){super(e,3)}};ir.NotificationType3=Xz;var Kz=class extends Jn{static{o(this,"NotificationType4")}constructor(e){super(e,4)}};ir.NotificationType4=Kz;var Qz=class extends Jn{static{o(this,"NotificationType5")}constructor(e){super(e,5)}};ir.NotificationType5=Qz;var Zz=class extends Jn{static{o(this,"NotificationType6")}constructor(e){super(e,6)}};ir.NotificationType6=Zz;var Jz=class extends Jn{static{o(this,"NotificationType7")}constructor(e){super(e,7)}};ir.NotificationType7=Jz;var eG=class extends Jn{static{o(this,"NotificationType8")}constructor(e){super(e,8)}};ir.NotificationType8=eG;var tG=class extends Jn{static{o(this,"NotificationType9")}constructor(e){super(e,9)}};ir.NotificationType9=tG;var tve;(function(t){function e(i){let a=i;return a&&_m.string(a.method)&&(_m.string(a.id)||_m.number(a.id))}o(e,"isRequest"),t.isRequest=e;function r(i){let a=i;return a&&_m.string(a.method)&&i.id===void 0}o(r,"isNotification"),t.isNotification=r;function n(i){let a=i;return a&&(a.result!==void 0||!!a.error)&&(_m.string(a.id)||_m.number(a.id)||a.id===null)}o(n,"isResponse"),t.isResponse=n})(tve||(ir.Message=tve={}))});var iG=Jt(Yd=>{"use strict";var rve;Object.defineProperty(Yd,"__esModule",{value:!0});Yd.LRUCache=Yd.LinkedMap=Yd.Touch=void 0;var hs;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(hs||(Yd.Touch=hs={}));var iA=class{static{o(this,"LinkedMap")}constructor(){this[rve]="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(e){return this._map.has(e)}get(e,r=hs.None){let n=this._map.get(e);if(n)return r!==hs.None&&this.touch(n,r),n.value}set(e,r,n=hs.None){let i=this._map.get(e);if(i)i.value=r,n!==hs.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case hs.None:this.addItemLast(i);break;case hs.First:this.addItemFirst(i);break;case hs.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}[(rve=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==hs.First&&r!==hs.Last)){if(r===hs.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===hs.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Yd.LinkedMap=iA;var nG=class extends iA{static{o(this,"LRUCache")}constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=hs.AsNew){return super.get(e,r)}peek(e){return super.get(e,hs.None)}set(e,r){return super.set(e,r,hs.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Yd.LRUCache=nG});var ive=Jt(aA=>{"use strict";Object.defineProperty(aA,"__esModule",{value:!0});aA.Disposable=void 0;var nve;(function(t){function e(r){return{dispose:r}}o(e,"create"),t.create=e})(nve||(aA.Disposable=nve={}))});var ave=Jt(nv=>{"use strict";Object.defineProperty(nv,"__esModule",{value:!0});nv.SharedArrayReceiverStrategy=nv.SharedArraySenderStrategy=void 0;var wrt=aT(),kT;(function(t){t.Continue=0,t.Cancelled=1})(kT||(kT={}));var aG=class{static{o(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=kT.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,kT.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};nv.SharedArraySenderStrategy=aG;var sG=class{static{o(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===kT.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},oG=class{static{o(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new sG(e)}cancel(){}dispose(){}},lG=class{static{o(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new wrt.CancellationTokenSource:new oG(r)}};nv.SharedArrayReceiverStrategy=lG});var uG=Jt(sA=>{"use strict";Object.defineProperty(sA,"__esModule",{value:!0});sA.Semaphore=void 0;var krt=Wd(),cG=class{static{o(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,krt.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};sA.Semaphore=cG});var ove=Jt(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});jd.ReadableStreamMessageReader=jd.AbstractMessageReader=jd.MessageReader=void 0;var fG=Wd(),iv=Yy(),hG=km(),Srt=uG(),sve;(function(t){function e(r){let n=r;return n&&iv.func(n.listen)&&iv.func(n.dispose)&&iv.func(n.onError)&&iv.func(n.onClose)&&iv.func(n.onPartialMessage)}o(e,"is"),t.is=e})(sve||(jd.MessageReader=sve={}));var oA=class{static{o(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new hG.Emitter,this.closeEmitter=new hG.Emitter,this.partialMessageEmitter=new hG.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${iv.string(e.message)?e.message:"unknown"}`)}};jd.AbstractMessageReader=oA;var dG;(function(t){function e(r){let n,i,a,s=new Map,l,u=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(a=r.contentDecoder,s.set(a.name,a)),r.contentDecoders!==void 0)for(let h of r.contentDecoders)s.set(h.name,h);if(r.contentTypeDecoder!==void 0&&(l=r.contentTypeDecoder,u.set(l.name,l)),r.contentTypeDecoders!==void 0)for(let h of r.contentTypeDecoders)u.set(h.name,h)}return l===void 0&&(l=(0,fG.default)().applicationJson.decoder,u.set(l.name,l)),{charset:n,contentDecoder:a,contentDecoders:s,contentTypeDecoder:l,contentTypeDecoders:u}}o(e,"fromOptions"),t.fromOptions=e})(dG||(dG={}));var pG=class extends oA{static{o(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=dG.fromOptions(r),this.buffer=(0,fG.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new Srt.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property. -${JSON.stringify(Object.fromEntries(n))}`));return}let a=parseInt(i);if(isNaN(a)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=a}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,fG.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};jd.ReadableStreamMessageReader=pG});var fve=Jt(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.WriteableStreamMessageWriter=Xd.AbstractMessageWriter=Xd.MessageWriter=void 0;var lve=Wd(),ST=Yy(),Ert=uG(),cve=km(),Crt="Content-Length: ",uve=`\r -`,hve;(function(t){function e(r){let n=r;return n&&ST.func(n.dispose)&&ST.func(n.onClose)&&ST.func(n.onError)&&ST.func(n.write)}o(e,"is"),t.is=e})(hve||(Xd.MessageWriter=hve={}));var lA=class{static{o(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new cve.Emitter,this.closeEmitter=new cve.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${ST.string(e.message)?e.message:"unknown"}`)}};Xd.AbstractMessageWriter=lA;var mG;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,lve.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,lve.default)().applicationJson.encoder}}o(e,"fromOptions"),t.fromOptions=e})(mG||(mG={}));var gG=class extends lA{static{o(this,"WriteableStreamMessageWriter")}constructor(e,r){super(),this.writable=e,this.options=mG.fromOptions(r),this.errorCount=0,this.writeSemaphore=new Ert.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(Crt,n.byteLength.toString(),uve),i.push(uve),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Xd.WriteableStreamMessageWriter=gG});var dve=Jt(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.AbstractMessageBuffer=void 0;var Art=13,_rt=10,Drt=`\r -`,yG=class{static{o(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,a=0;e:for(;nthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let a=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(a)}if(this._chunks[0].byteLength>e){let a=this._chunks[0],s=this.asNative(a,e);return this._chunks[0]=a.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let a=this._chunks[i];if(a.byteLength>e){let s=a.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=a.slice(e),this._totalLength-=e,e-=e}else r.set(a,n),n+=a.byteLength,this._chunks.shift(),this._totalLength-=a.byteLength,e-=a.byteLength}return r}};cA.AbstractMessageBuffer=yG});var vve=Jt(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.createMessageConnection=Cr.ConnectionOptions=Cr.MessageStrategy=Cr.CancellationStrategy=Cr.CancellationSenderStrategy=Cr.CancellationReceiverStrategy=Cr.RequestCancellationReceiverStrategy=Cr.IdCancellationReceiverStrategy=Cr.ConnectionStrategy=Cr.ConnectionError=Cr.ConnectionErrors=Cr.LogTraceNotification=Cr.SetTraceNotification=Cr.TraceFormat=Cr.TraceValues=Cr.Trace=Cr.NullLogger=Cr.ProgressType=Cr.ProgressToken=void 0;var pve=Wd(),wi=Yy(),yr=rG(),mve=iG(),ET=km(),vG=aT(),_T;(function(t){t.type=new yr.NotificationType("$/cancelRequest")})(_T||(_T={}));var xG;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}o(e,"is"),t.is=e})(xG||(Cr.ProgressToken=xG={}));var CT;(function(t){t.type=new yr.NotificationType("$/progress")})(CT||(CT={}));var bG=class{static{o(this,"ProgressType")}constructor(){}};Cr.ProgressType=bG;var TG;(function(t){function e(r){return wi.func(r)}o(e,"is"),t.is=e})(TG||(TG={}));Cr.NullLogger=Object.freeze({error:o(()=>{},"error"),warn:o(()=>{},"warn"),info:o(()=>{},"info"),log:o(()=>{},"log")});var pn;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(pn||(Cr.Trace=pn={}));var gve;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(gve||(Cr.TraceValues=gve={}));(function(t){function e(n){if(!wi.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}o(e,"fromString"),t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}o(r,"toString"),t.toString=r})(pn||(Cr.Trace=pn={}));var jo;(function(t){t.Text="text",t.JSON="json"})(jo||(Cr.TraceFormat=jo={}));(function(t){function e(r){return wi.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}o(e,"fromString"),t.fromString=e})(jo||(Cr.TraceFormat=jo={}));var wG;(function(t){t.type=new yr.NotificationType("$/setTrace")})(wG||(Cr.SetTraceNotification=wG={}));var uA;(function(t){t.type=new yr.NotificationType("$/logTrace")})(uA||(Cr.LogTraceNotification=uA={}));var AT;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(AT||(Cr.ConnectionErrors=AT={}));var av=class t extends Error{static{o(this,"ConnectionError")}constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Cr.ConnectionError=av;var kG;(function(t){function e(r){let n=r;return n&&wi.func(n.cancelUndispatched)}o(e,"is"),t.is=e})(kG||(Cr.ConnectionStrategy=kG={}));var hA;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&wi.func(n.createCancellationTokenSource)&&(n.dispose===void 0||wi.func(n.dispose))}o(e,"is"),t.is=e})(hA||(Cr.IdCancellationReceiverStrategy=hA={}));var SG;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&wi.func(n.createCancellationTokenSource)&&(n.dispose===void 0||wi.func(n.dispose))}o(e,"is"),t.is=e})(SG||(Cr.RequestCancellationReceiverStrategy=SG={}));var fA;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new vG.CancellationTokenSource}});function e(r){return hA.is(r)||SG.is(r)}o(e,"is"),t.is=e})(fA||(Cr.CancellationReceiverStrategy=fA={}));var dA;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(_T.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&wi.func(n.sendCancellation)&&wi.func(n.cleanup)}o(e,"is"),t.is=e})(dA||(Cr.CancellationSenderStrategy=dA={}));var pA;(function(t){t.Message=Object.freeze({receiver:fA.Message,sender:dA.Message});function e(r){let n=r;return n&&fA.is(n.receiver)&&dA.is(n.sender)}o(e,"is"),t.is=e})(pA||(Cr.CancellationStrategy=pA={}));var mA;(function(t){function e(r){let n=r;return n&&wi.func(n.handleMessage)}o(e,"is"),t.is=e})(mA||(Cr.MessageStrategy=mA={}));var yve;(function(t){function e(r){let n=r;return n&&(pA.is(n.cancellationStrategy)||kG.is(n.connectionStrategy)||mA.is(n.messageStrategy))}o(e,"is"),t.is=e})(yve||(Cr.ConnectionOptions=yve={}));var Ec;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Ec||(Ec={}));function Rrt(t,e,r,n){let i=r!==void 0?r:Cr.NullLogger,a=0,s=0,l=0,u="2.0",h,f=new Map,d,p=new Map,m=new Map,g,y=new mve.LinkedMap,v=new Map,x=new Set,b=new Map,T=pn.Off,E=jo.Text,w,k=Ec.New,C=new ET.Emitter,D=new ET.Emitter,R=new ET.Emitter,O=new ET.Emitter,L=new ET.Emitter,S=n&&n.cancellationStrategy?n.cancellationStrategy:pA.Message;function A(Y){if(Y===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Y.toString()}o(A,"createRequestQueueKey");function _(Y){return Y===null?"res-unknown-"+(++l).toString():"res-"+Y.toString()}o(_,"createResponseQueueKey");function N(){return"not-"+(++s).toString()}o(N,"createNotificationQueueKey");function M(Y,ce){yr.Message.isRequest(ce)?Y.set(A(ce.id),ce):yr.Message.isResponse(ce)?Y.set(_(ce.id),ce):Y.set(N(),ce)}o(M,"addMessageToQueue");function P(Y){}o(P,"cancelUndispatched");function B(){return k===Ec.Listening}o(B,"isListening");function F(){return k===Ec.Closed}o(F,"isClosed");function G(){return k===Ec.Disposed}o(G,"isDisposed");function $(){(k===Ec.New||k===Ec.Listening)&&(k=Ec.Closed,D.fire(void 0))}o($,"closeHandler");function V(Y){C.fire([Y,void 0,void 0])}o(V,"readErrorHandler");function K(Y){C.fire(Y)}o(K,"writeErrorHandler"),t.onClose($),t.onError(V),e.onClose($),e.onError(K);function ee(){g||y.size===0||(g=(0,pve.default)().timer.setImmediate(()=>{g=void 0,he()}))}o(ee,"triggerMessageQueue");function H(Y){yr.Message.isRequest(Y)?de(Y):yr.Message.isNotification(Y)?ne(Y):yr.Message.isResponse(Y)?re(Y):te(Y)}o(H,"handleMessage");function he(){if(y.size===0)return;let Y=y.shift();try{let ce=n?.messageStrategy;mA.is(ce)?ce.handleMessage(Y,H):H(Y)}finally{ee()}}o(he,"processMessageQueue");let Z=o(Y=>{try{if(yr.Message.isNotification(Y)&&Y.method===_T.type.method){let ce=Y.params.id,U=A(ce),ue=y.get(U);if(yr.Message.isRequest(ue)){let se=n?.connectionStrategy,oe=se&&se.cancelUndispatched?se.cancelUndispatched(ue,P):void 0;if(oe&&(oe.error!==void 0||oe.result!==void 0)){y.delete(U),b.delete(ce),oe.id=ue.id,ge(oe,Y.method,Date.now()),e.write(oe).catch(()=>i.error("Sending response for canceled message failed."));return}}let z=b.get(ce);if(z!==void 0){z.cancel(),Te(Y);return}else x.add(ce)}M(y,Y)}finally{ee()}},"callback");function de(Y){if(G())return;function ce(pe,me,De){let Ce={jsonrpc:u,id:Y.id};pe instanceof yr.ResponseError?Ce.error=pe.toJson():Ce.result=pe===void 0?null:pe,ge(Ce,me,De),e.write(Ce).catch(()=>i.error("Sending response failed."))}o(ce,"reply");function U(pe,me,De){let Ce={jsonrpc:u,id:Y.id,error:pe.toJson()};ge(Ce,me,De),e.write(Ce).catch(()=>i.error("Sending response failed."))}o(U,"replyError");function ue(pe,me,De){pe===void 0&&(pe=null);let Ce={jsonrpc:u,id:Y.id,result:pe};ge(Ce,me,De),e.write(Ce).catch(()=>i.error("Sending response failed."))}o(ue,"replySuccess"),ie(Y);let z=f.get(Y.method),se,oe;z&&(se=z.type,oe=z.handler);let be=Date.now();if(oe||h){let pe=Y.id??String(Date.now()),me=hA.is(S.receiver)?S.receiver.createCancellationTokenSource(pe):S.receiver.createCancellationTokenSource(Y);Y.id!==null&&x.has(Y.id)&&me.cancel(),Y.id!==null&&b.set(pe,me);try{let De;if(oe)if(Y.params===void 0){if(se!==void 0&&se.numberOfParams!==0){U(new yr.ResponseError(yr.ErrorCodes.InvalidParams,`Request ${Y.method} defines ${se.numberOfParams} params but received none.`),Y.method,be);return}De=oe(me.token)}else if(Array.isArray(Y.params)){if(se!==void 0&&se.parameterStructures===yr.ParameterStructures.byName){U(new yr.ResponseError(yr.ErrorCodes.InvalidParams,`Request ${Y.method} defines parameters by name but received parameters by position`),Y.method,be);return}De=oe(...Y.params,me.token)}else{if(se!==void 0&&se.parameterStructures===yr.ParameterStructures.byPosition){U(new yr.ResponseError(yr.ErrorCodes.InvalidParams,`Request ${Y.method} defines parameters by position but received parameters by name`),Y.method,be);return}De=oe(Y.params,me.token)}else h&&(De=h(Y.method,Y.params,me.token));let Ce=De;De?Ce.then?Ce.then(Fe=>{b.delete(pe),ce(Fe,Y.method,be)},Fe=>{b.delete(pe),Fe instanceof yr.ResponseError?U(Fe,Y.method,be):Fe&&wi.string(Fe.message)?U(new yr.ResponseError(yr.ErrorCodes.InternalError,`Request ${Y.method} failed with message: ${Fe.message}`),Y.method,be):U(new yr.ResponseError(yr.ErrorCodes.InternalError,`Request ${Y.method} failed unexpectedly without providing any details.`),Y.method,be)}):(b.delete(pe),ce(De,Y.method,be)):(b.delete(pe),ue(De,Y.method,be))}catch(De){b.delete(pe),De instanceof yr.ResponseError?ce(De,Y.method,be):De&&wi.string(De.message)?U(new yr.ResponseError(yr.ErrorCodes.InternalError,`Request ${Y.method} failed with message: ${De.message}`),Y.method,be):U(new yr.ResponseError(yr.ErrorCodes.InternalError,`Request ${Y.method} failed unexpectedly without providing any details.`),Y.method,be)}}else U(new yr.ResponseError(yr.ErrorCodes.MethodNotFound,`Unhandled method ${Y.method}`),Y.method,be)}o(de,"handleRequest");function re(Y){if(!G())if(Y.id===null)Y.error?i.error(`Received response message without id: Error is: -${JSON.stringify(Y.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let ce=Y.id,U=v.get(ce);if(j(Y,U),U!==void 0){v.delete(ce);try{if(Y.error){let ue=Y.error;U.reject(new yr.ResponseError(ue.code,ue.message,ue.data))}else if(Y.result!==void 0)U.resolve(Y.result);else throw new Error("Should never happen.")}catch(ue){ue.message?i.error(`Response handler '${U.method}' failed with message: ${ue.message}`):i.error(`Response handler '${U.method}' failed unexpectedly.`)}}}}o(re,"handleResponse");function ne(Y){if(G())return;let ce,U;if(Y.method===_T.type.method){let ue=Y.params.id;x.delete(ue),Te(Y);return}else{let ue=p.get(Y.method);ue&&(U=ue.handler,ce=ue.type)}if(U||d)try{if(Te(Y),U)if(Y.params===void 0)ce!==void 0&&ce.numberOfParams!==0&&ce.parameterStructures!==yr.ParameterStructures.byName&&i.error(`Notification ${Y.method} defines ${ce.numberOfParams} params but received none.`),U();else if(Array.isArray(Y.params)){let ue=Y.params;Y.method===CT.type.method&&ue.length===2&&xG.is(ue[0])?U({token:ue[0],value:ue[1]}):(ce!==void 0&&(ce.parameterStructures===yr.ParameterStructures.byName&&i.error(`Notification ${Y.method} defines parameters by name but received parameters by position`),ce.numberOfParams!==Y.params.length&&i.error(`Notification ${Y.method} defines ${ce.numberOfParams} params but received ${ue.length} arguments`)),U(...ue))}else ce!==void 0&&ce.parameterStructures===yr.ParameterStructures.byPosition&&i.error(`Notification ${Y.method} defines parameters by position but received parameters by name`),U(Y.params);else d&&d(Y.method,Y.params)}catch(ue){ue.message?i.error(`Notification handler '${Y.method}' failed with message: ${ue.message}`):i.error(`Notification handler '${Y.method}' failed unexpectedly.`)}else R.fire(Y)}o(ne,"handleNotification");function te(Y){if(!Y){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message: -${JSON.stringify(Y,null,4)}`);let ce=Y;if(wi.string(ce.id)||wi.number(ce.id)){let U=ce.id,ue=v.get(U);ue&&ue.reject(new Error("The received response has neither a result nor an error property."))}}o(te,"handleInvalidMessage");function Q(Y){if(Y!=null)switch(T){case pn.Verbose:return JSON.stringify(Y,null,4);case pn.Compact:return JSON.stringify(Y);default:return}}o(Q,"stringifyTrace");function le(Y){if(!(T===pn.Off||!w))if(E===jo.Text){let ce;(T===pn.Verbose||T===pn.Compact)&&Y.params&&(ce=`Params: ${Q(Y.params)} +`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return on.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return on.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}o(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}o(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})(Ye||(Ye={}))});var u4,h4,wm,km,gz,Jy,Q6=O(()=>{"use strict";Zy();Sc();u4=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Jy(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new km;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new wm(e.startOffset,e.image.length,by(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let a of e){let s=new wm(a.startOffset,a.image.length,by(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},h4=class{static{o(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let 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)}},wm=class extends h4{static{o(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},km=class extends h4{static{o(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new gz(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},gz=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},Jy=class extends km{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function yz(t){return t.$type===Z6}var Z6,xve,bve,f4,d4,J6,ev,p4,Fnt,eA,vz,m4=O(()=>{"use strict";Zo();Hd();vve();Zo();Rc();us();Q6();Z6=Symbol("Datatype");o(yz,"isDataTypeNode");xve="\u200B",bve=o(t=>t.endsWith(xve)?t:t+xve,"withRuleSuffix"),f4=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new vz(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new eA(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},d4=class extends f4{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new u4,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;Gd(e)&&(i=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(bve(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Sa(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let a=!this.isRecording()&&e!==void 0;if(a){let s={$type:e};this.stack.push(s),e===Z6?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,crossRef:u}=this.getAssignment(n),h=this.current;if(l){let f=Pl(n)?i.image:this.converter.convert(i.image,s);this.assign(l.operator,l.feature,f,s,u)}else if(yz(h)){let f=i.image;Pl(n)||(f=this.converter.convert(f,s).toString()),h.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let l;try{l=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(l===void 0&&!n&&(l=this.construct()),l!==void 0&&s&&s.length>0&&this.performSubruleAssignment(l,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let s=this.current;if(yz(s))s.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):yz(e)?this.converter.convert(e.value,e.$cstNode):($B(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let y=0;ys?(s=x.precedence,a=y):x.precedence===s&&(x.rightAssoc||(a=y))}let l=i.slice(0,a),u=i.slice(a+1),h=n.slice(0,a+1),f=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:h,operators:l},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:u},m=this.constructInfix(d,r),g=this.constructInfix(p,r);return{$type:e.$type,$cstNode:e.$cstNode,left:m,operator:i[a],right:g}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=zh(e,Ac);this.assignmentMap.set(e,{assignment:r,crossRef:r&&_c(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let s=this.current,l;switch(a==="single"&&typeof n=="string"?l=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?l=this.linker.buildMultiReference(s,r,i,n):l=n,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[i,a]of Object.entries(r)){let s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},J6=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Qh.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Qh.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Qh.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Qh.buildEarlyExitMessage(e)}},ev=class extends J6{static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},p4=class extends f4{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(bve(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},Fnt={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new ev},eA=class extends ZT{static{o(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...Fnt,lookaheadStrategy:n?new Zh({maxLookahead:r.maxLookahead}):new r4({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},vz=class extends eA{static{o(this,"ProfilerWrapper")}constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}});function g4(t,e,r){return $nt({parser:e,tokens:r,ruleNames:new Map},t),e}function $nt(t,e){let r=RT(e,!1),n=Hr(e.rules).filter(Sa).filter(a=>r.has(a));for(let a of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,Em(s,a.definition))}let i=Hr(e.rules).filter(Gd).filter(a=>r.has(a));for(let a of i)t.parser.rule(a,znt(t,a))}function znt(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Bs(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(m=>m.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);let u={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},h={...a,$container:s};s.elements.push(u,h);let d=n.map(m=>t.tokens[m.value]).map((m,g)=>({ALT:o(()=>t.parser.consume(g,m,u),"ALT")})),p;return m=>{p??(p=bz(t,r)),t.parser.subrule(0,p,!1,a,m),t.parser.many(0,{DEF:o(()=>{t.parser.alternatives(0,d),t.parser.subrule(1,p,!1,h,m)},"DEF")})}}function Em(t,e,r=!1){let n;if(Pl(e))n=Ynt(t,e);else if(Uh(e))n=Gnt(t,e);else if(Ac(e))n=Em(t,e.terminal);else if(_c(e))n=Tve(t,e);else if(Dc(e))n=Vnt(t,e);else if(VC(e))n=Unt(t,e);else if(HC(e))n=Wnt(t,e);else if(zd(e))n=Hnt(t,e);else if(HB(e)){let i=t.consume++;n=o(()=>t.parser.consume(i,el,e),"method")}else throw new lm(e.$cstNode,`Unexpected element type: ${e.$type}`);return wve(t,r?void 0:tA(e),n,e.cardinality)}function Gnt(t,e){let r=qd(e);return()=>t.parser.action(r,e)}function Vnt(t,e){let r=e.rule.ref;if(qh(r)){let n=t.subrule++,i=Sa(r)&&r.fragment,a=e.arguments.length>0?qnt(r,e.arguments):()=>({}),s;return l=>{s??(s=bz(t,r)),t.parser.subrule(n,s,i,e,a(l))}}else if(Bs(r)){let n=t.consume++,i=xz(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Ou(r);else throw new lm(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function qnt(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:$u(i.value)}));return i=>{let a={};for(let{parameterName:s,predicate:l}of n)s&&(a[s]=l(i));return a}}else{let n=e.map(i=>$u(i.value));return i=>{let a={};for(let s=0;se(n)||r(n)}else if(UB(t)){let e=$u(t.left),r=$u(t.right);return n=>e(n)&&r(n)}else if(XB(t)){let e=$u(t.value);return r=>!e(r)}else if(KB(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(VB(t)){let e=!!t.true;return()=>e}Ou(t)}function Unt(t,e){if(e.elements.length===1)return Em(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:Em(t,i,!0)},s=tA(i);s&&(a.GATE=$u(s)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let s={ALT:o(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(i)),s}))}}function Wnt(t,e){if(e.elements.length===1)return Em(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:Em(t,l,!0)},h=tA(l);h&&(u.GATE=$u(h)),r.push(u)}let n=t.or++,i=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[h],f})),"alternatives"),s=wve(t,tA(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function Hnt(t,e){let r=e.elements.map(n=>Em(t,n));return n=>r.forEach(i=>i(n))}function tA(t){if(zd(t))return t.guardCondition}function Tve(t,e,r=e.terminal){if(r)if(Dc(r)&&Sa(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,a;return s=>{a??(a=bz(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(Dc(r)&&Bs(r.rule.ref)){let n=t.consume++,i=xz(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Pl(r)){let n=t.consume++,i=xz(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=JC(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+qd(e.type.ref));return Tve(t,e,i)}}function Ynt(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function wve(t,e,r,n){let i=e&&$u(e);if(!n)if(i){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>i(s),"GATE")},{ALT:$6(),GATE:o(()=>!i(s),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){let a=t.many++;if(i){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>i(l),"GATE")},{ALT:$6(),GATE:o(()=>!i(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(n==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else Ou(n)}function bz(t,e){let r=jnt(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function jnt(t,e){if(qh(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Sa(n);)(zd(n)||VC(n)||HC(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function xz(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var rA=O(()=>{"use strict";Hd();Zo();XC();Os();Rc();o(g4,"createParser");o($nt,"buildRules");o(znt,"buildInfixRule");o(Em,"buildElement");o(Gnt,"buildAction");o(Vnt,"buildRuleCall");o(qnt,"buildRuleCallPredicate");o($u,"buildPredicate");o(Unt,"buildAlternatives");o(Wnt,"buildUnorderedGroup");o(Hnt,"buildGroup");o(tA,"getGuardCondition");o(Tve,"buildCrossReference");o(Ynt,"buildKeyword");o(wve,"wrap");o(bz,"getRule");o(jnt,"getRuleName");o(xz,"getToken")});function Tz(t){let e=t.Grammar,r=t.parser.Lexer,n=new p4(t);return g4(e,n,r.definition),n.finalize(),n}var wz=O(()=>{"use strict";m4();rA();o(Tz,"createCompletionParser")});function kz(t){let e=kve(t);return e.finalize(),e}function kve(t){let e=t.Grammar,r=t.parser.Lexer,n=new d4(t);return g4(e,n,r.definition)}var Ez=O(()=>{"use strict";m4();rA();o(kz,"createLangiumParser");o(kve,"prepareLangiumParser")});var ef,nA=O(()=>{"use strict";Hd();Zo();us();Rc();wy();Os();ef=class{static{o(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=Hr(RT(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Bs).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=ky(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=DT(r)?fi.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(qh).flatMap(i=>Ec(i).filter(Pl)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(Vd(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&mF("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var Sm,zu,Sz=O(()=>{"use strict";Zo();Rc();Sm=class{static{o(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(_c(n)&&(n=vF(n)),Dc(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return zu.convertInt(r);case"STRING":return zu.convertString(r);case"ID":return zu.convertID(r)}switch(SF(e)?.toLowerCase()){case"number":return zu.convertNumber(r);case"boolean":return zu.convertBoolean(r);case"bigint":return zu.convertBigint(r);case"date":return zu.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(_z,"__esModule",{value:!0});var Cz;function Az(){if(Cz===void 0)throw new Error("No runtime abstraction layer installed");return Cz}o(Az,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Cz=r}o(e,"install"),t.install=e})(Az||(Az={}));_z.default=Az});var tv=nr(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.stringArray=hs.array=hs.func=hs.error=hs.number=hs.string=hs.boolean=void 0;function Xnt(t){return t===!0||t===!1}o(Xnt,"boolean");hs.boolean=Xnt;function Eve(t){return typeof t=="string"||t instanceof String}o(Eve,"string");hs.string=Eve;function Knt(t){return typeof t=="number"||t instanceof Number}o(Knt,"number");hs.number=Knt;function Qnt(t){return t instanceof Error}o(Qnt,"error");hs.error=Qnt;function Znt(t){return typeof t=="function"}o(Znt,"func");hs.func=Znt;function Sve(t){return Array.isArray(t)}o(Sve,"array");hs.array=Sve;function Jnt(t){return Sve(t)&&t.every(e=>Eve(e))}o(Jnt,"stringArray");hs.stringArray=Jnt});var Cm=nr(rv=>{"use strict";Object.defineProperty(rv,"__esModule",{value:!0});rv.Emitter=rv.Event=void 0;var eit=Xd(),Cve;(function(t){let e={dispose(){}};t.None=function(){return e}})(Cve||(rv.Event=Cve={}));var Dz=class{static{o(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new Dz),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};rv.Emitter=iA;iA._noop=function(){}});var y4=nr(nv=>{"use strict";Object.defineProperty(nv,"__esModule",{value:!0});nv.CancellationTokenSource=nv.CancellationToken=void 0;var tit=Xd(),rit=tv(),Rz=Cm(),aA;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Rz.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Rz.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||rit.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}o(e,"is"),t.is=e})(aA||(nv.CancellationToken=aA={}));var nit=Object.freeze(function(t,e){let r=(0,tit.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),sA=class{static{o(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?nit:(this._emitter||(this._emitter=new Rz.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Lz=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new sA),this._token}cancel(){this._token?this._token.cancel():this._token=aA.Cancelled}dispose(){this._token?this._token instanceof sA&&this._token.dispose():this._token=aA.None}};nv.CancellationTokenSource=Lz});var Nr={};var Bl=O(()=>{"use strict";jr(Nr,Ra(y4(),1))});function Nz(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function lA(){return oA=performance.now(),new Nr.CancellationTokenSource}function _ve(t){Ave=t}function Gu(t){return t===Fl}async function Ci(t){if(t===Nr.CancellationToken.None)return;let e=performance.now();if(e-oA>=Ave&&(oA=e,await Nz(),oA=performance.now()),t.isCancellationRequested)throw Fl}var oA,Ave,Fl,Vs,$l=O(()=>{"use strict";Bl();o(Nz,"delayNextTick");oA=0,Ave=10;o(lA,"startCancelableOperation");o(_ve,"setInterruptionPeriod");Fl=Symbol("OperationCancelled");o(Gu,"isOperationCancelled");o(Ci,"interruptAndCheck");Vs=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function Mz(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Mz(n,e),Mz(i,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function iit(t){let e=Lve(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var cA,iv,Nve=O(()=>{"use strict";cA=class t{static{o(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=Lve(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=Dve(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=s:n=s+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&Rve(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,s,l){return new cA(i,a,s,l)}o(e,"create"),t.create=e;function r(i,a,s){if(i instanceof cA)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function n(i,a){let s=i.getText(),l=Mz(a.map(iit),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(n,"applyEdits"),t.applyEdits=n})(iv||(iv={}));o(Mz,"mergeSort");o(Dve,"computeLineOffsets");o(Rve,"isEOL");o(Lve,"getWellformedRange");o(iit,"getWellformedEdit")});var Mve,ca,av,Iz=O(()=>{"use strict";(()=>{"use strict";var t={975:N=>{function C(M){if(typeof M!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(M))}o(C,"e");function _(M,R){for(var P,B="",F=0,G=-1,$=0,V=0;V<=M.length;++V){if(V2){var X=B.lastIndexOf("/");if(X!==B.length-1){X===-1?(B="",F=0):F=(B=B.slice(0,X)).length-1-B.lastIndexOf("/"),G=V,$=0;continue}}else if(B.length===2||B.length===1){B="",F=0,G=V,$=0;continue}}R&&(B.length>0?B+="/..":B="..",F=2)}else B.length>0?B+="/"+M.slice(G+1,V):B=M.slice(G+1,V),F=V-G-1;G=V,$=0}else P===46&&$!==-1?++$:$=-1}return B}o(_,"r");var D={resolve:o(function(){for(var M,R="",P=!1,B=arguments.length-1;B>=-1&&!P;B--){var F;B>=0?F=arguments[B]:(M===void 0&&(M=process.cwd()),F=M),C(F),F.length!==0&&(R=F+"/"+R,P=F.charCodeAt(0)===47)}return R=_(R,!P),P?R.length>0?"/"+R:"/":R.length>0?R:"."},"resolve"),normalize:o(function(M){if(C(M),M.length===0)return".";var R=M.charCodeAt(0)===47,P=M.charCodeAt(M.length-1)===47;return(M=_(M,!R)).length!==0||R||(M="."),M.length>0&&P&&(M+="/"),R?"/"+M:M},"normalize"),isAbsolute:o(function(M){return C(M),M.length>0&&M.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var M,R=0;R0&&(M===void 0?M=P:M+="/"+P)}return M===void 0?".":D.normalize(M)},"join"),relative:o(function(M,R){if(C(M),C(R),M===R||(M=D.resolve(M))===(R=D.resolve(R)))return"";for(var P=1;PV){if(R.charCodeAt(G+Q)===47)return R.slice(G+Q+1);if(Q===0)return R.slice(G+Q)}else F>V&&(M.charCodeAt(P+Q)===47?X=Q:Q===0&&(X=0));break}var H=M.charCodeAt(P+Q);if(H!==R.charCodeAt(G+Q))break;H===47&&(X=Q)}var ie="";for(Q=P+X+1;Q<=B;++Q)Q!==B&&M.charCodeAt(Q)!==47||(ie.length===0?ie+="..":ie+="/..");return ie.length>0?ie+R.slice(G+X):(G+=X,R.charCodeAt(G)===47&&++G,R.slice(G))},"relative"),_makeLong:o(function(M){return M},"_makeLong"),dirname:o(function(M){if(C(M),M.length===0)return".";for(var R=M.charCodeAt(0),P=R===47,B=-1,F=!0,G=M.length-1;G>=1;--G)if((R=M.charCodeAt(G))===47){if(!F){B=G;break}}else F=!1;return B===-1?P?"/":".":P&&B===1?"//":M.slice(0,B)},"dirname"),basename:o(function(M,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');C(M);var P,B=0,F=-1,G=!0;if(R!==void 0&&R.length>0&&R.length<=M.length){if(R.length===M.length&&R===M)return"";var $=R.length-1,V=-1;for(P=M.length-1;P>=0;--P){var X=M.charCodeAt(P);if(X===47){if(!G){B=P+1;break}}else V===-1&&(G=!1,V=P+1),$>=0&&(X===R.charCodeAt($)?--$==-1&&(F=P):($=-1,F=V))}return B===F?F=V:F===-1&&(F=M.length),M.slice(B,F)}for(P=M.length-1;P>=0;--P)if(M.charCodeAt(P)===47){if(!G){B=P+1;break}}else F===-1&&(G=!1,F=P+1);return F===-1?"":M.slice(B,F)},"basename"),extname:o(function(M){C(M);for(var R=-1,P=0,B=-1,F=!0,G=0,$=M.length-1;$>=0;--$){var V=M.charCodeAt($);if(V!==47)B===-1&&(F=!1,B=$+1),V===46?R===-1?R=$:G!==1&&(G=1):R!==-1&&(G=-1);else if(!F){P=$+1;break}}return R===-1||B===-1||G===0||G===1&&R===B-1&&R===P+1?"":M.slice(R,B)},"extname"),format:o(function(M){if(M===null||typeof M!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof M);return(function(R,P){var B=P.dir||P.root,F=P.base||(P.name||"")+(P.ext||"");return B?B===P.root?B+F:B+"/"+F:F})(0,M)},"format"),parse:o(function(M){C(M);var R={root:"",dir:"",base:"",ext:"",name:""};if(M.length===0)return R;var P,B=M.charCodeAt(0),F=B===47;F?(R.root="/",P=1):P=0;for(var G=-1,$=0,V=-1,X=!0,Q=M.length-1,H=0;Q>=P;--Q)if((B=M.charCodeAt(Q))!==47)V===-1&&(X=!1,V=Q+1),B===46?G===-1?G=Q:H!==1&&(H=1):G!==-1&&(H=-1);else if(!X){$=Q+1;break}return G===-1||V===-1||H===0||H===1&&G===V-1&&G===$+1?V!==-1&&(R.base=R.name=$===0&&F?M.slice(1,V):M.slice($,V)):($===0&&F?(R.name=M.slice(1,G),R.base=M.slice(1,V)):(R.name=M.slice($,G),R.base=M.slice($,V)),R.ext=M.slice(G,V)),$>0?R.dir=M.slice(0,$-1):F&&(R.dir="/"),R},"parse"),sep:"/",delimiter:":",win32:null,posix:null};D.posix=D,N.exports=D}},e={};function r(N){var C=e[N];if(C!==void 0)return C.exports;var _=e[N]={exports:{}};return t[N](_,_.exports,r),_.exports}o(r,"r"),r.d=(N,C)=>{for(var _ in C)r.o(C,_)&&!r.o(N,_)&&Object.defineProperty(N,_,{enumerable:!0,get:C[_]})},r.o=(N,C)=>Object.prototype.hasOwnProperty.call(N,C),r.r=N=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(N,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:o(()=>p,"URI"),Utils:o(()=>I,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(N,C){if(!N.scheme&&C)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`);if(N.scheme&&!a.test(N.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(N.path){if(N.authority){if(!s.test(N.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"a");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"l")}static isUri(C){return C instanceof p||!!C&&typeof C.authority=="string"&&typeof C.fragment=="string"&&typeof C.path=="string"&&typeof C.query=="string"&&typeof C.scheme=="string"&&typeof C.fsPath=="string"&&typeof C.with=="function"&&typeof C.toString=="function"}scheme;authority;path;query;fragment;constructor(C,_,D,M,R,P=!1){typeof C=="object"?(this.scheme=C.scheme||h,this.authority=C.authority||h,this.path=C.path||h,this.query=C.query||h,this.fragment=C.fragment||h):(this.scheme=(function(B,F){return B||F?B:"file"})(C,P),this.authority=_||h,this.path=(function(B,F){switch(B){case"https":case"http":case"file":F?F[0]!==f&&(F=f+F):F=f}return F})(this.scheme,D||h),this.query=M||h,this.fragment=R||h,u(this,P))}get fsPath(){return b(this,!1)}with(C){if(!C)return this;let{scheme:_,authority:D,path:M,query:R,fragment:P}=C;return _===void 0?_=this.scheme:_===null&&(_=h),D===void 0?D=this.authority:D===null&&(D=h),M===void 0?M=this.path:M===null&&(M=h),R===void 0?R=this.query:R===null&&(R=h),P===void 0?P=this.fragment:P===null&&(P=h),_===this.scheme&&D===this.authority&&M===this.path&&R===this.query&&P===this.fragment?this:new g(_,D,M,R,P)}static parse(C,_=!1){let D=d.exec(C);return D?new g(D[2]||h,k(D[4]||h),k(D[5]||h),k(D[7]||h),k(D[9]||h),_):new g(h,h,h,h,h)}static file(C){let _=h;if(i&&(C=C.replace(/\\/g,f)),C[0]===f&&C[1]===f){let D=C.indexOf(f,2);D===-1?(_=C.substring(2),C=f):(_=C.substring(2,D),C=C.substring(D)||f)}return new g("file",_,C,h,h)}static from(C){let _=new g(C.scheme,C.authority,C.path,C.query,C.fragment);return u(_,!0),_}toString(C=!1){return T(this,C)}toJSON(){return this}static revive(C){if(C){if(C instanceof p)return C;{let _=new g(C);return _._formatted=C.external,_._fsPath=C._sep===m?C.fsPath:null,_}}return C}}let m=i?1:void 0;class g extends p{static{o(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(C=!1){return C?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let C={$mid:1};return this._fsPath&&(C.fsPath=this._fsPath,C._sep=m),this._formatted&&(C.external=this._formatted),this.path&&(C.path=this.path),this.scheme&&(C.scheme=this.scheme),this.authority&&(C.authority=this.authority),this.query&&(C.query=this.query),this.fragment&&(C.fragment=this.fragment),C}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(N,C,_){let D,M=-1;for(let R=0;R=97&&P<=122||P>=65&&P<=90||P>=48&&P<=57||P===45||P===46||P===95||P===126||C&&P===47||_&&P===91||_&&P===93||_&&P===58)M!==-1&&(D+=encodeURIComponent(N.substring(M,R)),M=-1),D!==void 0&&(D+=N.charAt(R));else{D===void 0&&(D=N.substr(0,R));let B=y[P];B!==void 0?(M!==-1&&(D+=encodeURIComponent(N.substring(M,R)),M=-1),D+=B):M===-1&&(M=R)}}return M!==-1&&(D+=encodeURIComponent(N.substring(M))),D!==void 0?D:N}o(v,"m");function x(N){let C;for(let _=0;_1&&N.scheme==="file"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?C?N.path.substr(1):N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(_=_.replace(/\//g,"\\")),_}o(b,"v");function T(N,C){let _=C?x:v,D="",{scheme:M,authority:R,path:P,query:B,fragment:F}=N;if(M&&(D+=M,D+=":"),(R||M==="file")&&(D+=f,D+=f),R){let G=R.indexOf("@");if(G!==-1){let $=R.substr(0,G);R=R.substr(G+1),G=$.lastIndexOf(":"),G===-1?D+=_($,!1,!1):(D+=_($.substr(0,G),!1,!1),D+=":",D+=_($.substr(G+1),!1,!0)),D+="@"}R=R.toLowerCase(),G=R.lastIndexOf(":"),G===-1?D+=_(R,!1,!0):(D+=_(R.substr(0,G),!1,!0),D+=R.substr(G))}if(P){if(P.length>=3&&P.charCodeAt(0)===47&&P.charCodeAt(2)===58){let G=P.charCodeAt(1);G>=65&&G<=90&&(P=`/${String.fromCharCode(G+32)}:${P.substr(3)}`)}else if(P.length>=2&&P.charCodeAt(1)===58){let G=P.charCodeAt(0);G>=65&&G<=90&&(P=`${String.fromCharCode(G+32)}:${P.substr(2)}`)}D+=_(P,!0,!1)}return B&&(D+="?",D+=_(B,!1,!1)),F&&(D+="#",D+=C?F:v(F,!1,!1)),D}o(T,"b");function E(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+E(N.substr(3)):N}}o(E,"C");let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(N){return N.match(w)?N.replace(w,(C=>E(C))):N}o(k,"w");var S=r(975);let A=S.posix||S,L="/";var I;(function(N){N.joinPath=function(C,..._){return C.with({path:A.join(C.path,..._)})},N.resolvePath=function(C,..._){let D=C.path,M=!1;D[0]!==L&&(D=L+D,M=!0);let R=A.resolve(D,..._);return M&&R[0]===L&&!C.authority&&(R=R.substring(1)),C.with({path:R})},N.dirname=function(C){if(C.path.length===0||C.path===L)return C;let _=A.dirname(C.path);return _.length===1&&_.charCodeAt(0)===46&&(_=""),C.with({path:_})},N.basename=function(C){return A.basename(C.path)},N.extname=function(C){return A.extname(C.path)}})(I||(I={})),Mve=n})();({URI:ca,Utils:av}=Mve)});var Fi,sv,Nc=O(()=>{"use strict";Iz();(function(t){t.basename=av.basename,t.dirname=av.dirname,t.extname=av.extname,t.joinPath=av.joinPath,t.resolvePath=av.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,l){return s?.toString()===l?.toString()}o(r,"equals"),t.equals=r;function n(s,l){let u=typeof s=="string"?ca.parse(s).path:s.path,h=typeof l=="string"?ca.parse(l).path:l.path,f=u.split("/").filter(y=>y.length>0),d=h.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),d[0]&&y.test(d[0])&&(d[0]=d[0].toLowerCase()),f[0]!==d[0])return h.substring(1)}let p=0;for(;p({name:i.name,uri:Fi.joinPath(ca.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Fi.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}}});var qr,v4,x4,ov=O(()=>{"use strict";Nve();ov();Bl();Os();Nc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(qr||(qr={}));v4=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=Nr.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ca.parse(e.uri),Nr.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return Nr.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:qr.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:qr.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=qr.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=iv.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},x4=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new sv,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return Hr(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,qr.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=qr.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=qr.Changed;return this.documentTrie.delete(r),n}}});var Am,b4,Oz=O(()=>{"use strict";Bl();kc();us();$l();ov();Am=Symbol("RefResolving"),b4=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=Nr.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Ps(e.parseResult.value))await Ci(r),Id(i).forEach(a=>{let s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of Ps(e.parseResult.value))await Ci(r),Id(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Am;try{let i=this.getCandidate(e);if(j0(i))n._ref=i;else{n._nodeDescription=i;let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Am;try{let i=this.getCandidates(e),a=[];if(j0(i))n._linkingError=i;else for(let s of i){let l=this.loadAstNode(s);l&&a.push({ref:l,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(Si(this._ref))return this._ref;if(PB(this._nodeDescription)){let l=a.loadAstNode(this._nodeDescription);this._ref=l??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Am;let l=hy(e).$document,u=a.getLinkedNode({reference:s,container:e,property:r});if(u.error&&l&&l.state0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(j0(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=hy(e.container).$document;n&&n.state{"use strict";Rc();o(Ive,"isNamed");T4=class{static{o(this,"DefaultNameProvider")}getName(e){if(Ive(e))return e.name}getNameNode(e){return LT(e.$cstNode,"name")}}});var w4,Bz=O(()=>{"use strict";Rc();kc();us();Sc();Os();Nc();Zo();w4=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Ps(e.Grammar).some(r=>_c(r)&&r.isMulti)}findDeclarations(e){if(e){let r=EF(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(oa(i)||Xo(i))return AC(i);if(Array.isArray(i)){for(let a of i)if((oa(a)||Xo(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return AC(a)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||sF(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of Id(n))if(Xo(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>Fi.equals(a.sourceUri,r.documentUri))),n.push(...i),Hr(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let a=this.nameProvider.getNameNode(i);if(a){let s=cs(i),l=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:l,targetUri:s.uri,targetPath:l,segment:om(a),local:!0})}}return n}}});var fs,_m,Kd=O(()=>{"use strict";Os();fs=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return cy.sum(Hr(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?Hr(r):Md}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Hr(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Hr(this.map.keys())}values(){return Hr(this.map.values()).flat()}entriesGroupedByKey(){return Hr(this.map.entries())}},_m=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var k4,Fz=O(()=>{"use strict";us();Bl();Kd();$l();k4=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=Nr.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=dT,i=Nr.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,r);for(let s of n(e))await Ci(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=Nr.CancellationToken.None){let n=e.parseResult.value,i=new fs;for(let a of Ec(n))await Ci(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var lv,$z,E4,ait,zz=O(()=>{"use strict";Kd();Os();lv=class{static{o(this,"StreamScope")}constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},$z=class{static{o(this,"MapScope")}constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?Hr(i).concat(this.outerScope.getElements(e)):Hr(i)}getAllElements(){let e=Hr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},E4=class{static{o(this,"MultiMapScope")}constructor(e,r,n){this.elements=new fs,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?Hr(n).concat(this.outerScope.getElements(e)):Hr(n)}getAllElements(){let e=Hr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},ait={getElement(){},getElements(){return Md},getAllElements(){return Md}}});var cv,S4,Dm,uA,uv,hA=O(()=>{"use strict";cv=class{static{o(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},S4=class extends cv{static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Dm=class extends cv{static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},uA=class extends Dm{static{o(this,"DocumentCache")}constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let s of a)this.clear(s)}))}},uv=class extends S4{static{o(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var C4,Gz=O(()=>{"use strict";zz();us();Os();hA();C4=class{static{o(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new uv(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=cs(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(l=>this.reflection.isSubtype(l.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new lv(Hr(e),r,n)}createScopeForNodes(e,r,n){let i=Hr(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new lv(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new E4(this.indexManager.allElements(e)))}}});function Vz(t){return typeof t.$comment=="string"}function Ove(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var A4,fA=O(()=>{"use strict";Iz();kc();us();Rc();o(Vz,"isAstNodeWithComment");o(Ove,"isIntermediateReference");A4=class{static{o(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,a=o((l,u)=>this.replacer(l,u,n),"defaultReplacer"),s=i?(l,u)=>i(l,u,a):a;try{return this.currentDocument=cs(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:l}){if(!this.ignoreProperties.has(e))if(oa(r)){let u=r.ref,h=n?r.$refText:void 0;if(u){let f=cs(u),d="";this.currentDocument&&this.currentDocument!==f&&(l?d=l(f.uri,u):d=f.uri.toString());let p=this.astNodeLocator.getAstNodePath(u);return{$ref:`${d}#${p}`,$refText:h}}else return{$error:r.error?.message??"Could not resolve reference",$refText:h}}else if(Xo(r)){let u=n?r.$refText:void 0,h=[];for(let f of r.items){let d=f.ref,p=cs(f.ref),m="";this.currentDocument&&this.currentDocument!==p&&(l?m=l(p.uri,d):m=p.uri.toString());let g=this.astNodeLocator.getAstNodePath(d);h.push(`${m}#${g}`)}return{$refs:h,$refText:u}}else if(Si(r)){let u;if(a&&(u=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(u??(u={...r}),u.$sourceText=r.$cstNode?.text),s){u??(u={...r});let h=this.commentProvider.getComment(r);h&&(u.$comment=h.replace(/\r/g,""))}return u??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=bF(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Nc();_4=class{static{o(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=Fi.extname(e),i=Fi.basename(e),a=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!a)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}});function Rm(t){return{code:t}}var dA,D4,pA=O(()=>{"use strict";tl();Kd();$l();Os();o(Rm,"diagnosticData");(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(dA||(dA={}));D4=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new fs,this.knownCategories=new Set(dA.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,l)}else Ou(s)}}wrapValidationException(e,r){return async(n,i,a)=>{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(Gu(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Hr(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,l)=>{await this.handleException(()=>e.call(n,i,a,s,l),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}});function Bve(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=LT(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=wF(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function mA(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function Fve(t){switch(t){case"error":return Rm(zl.LexingError);case"warning":return Rm(zl.LexingWarning);case"info":return Rm(zl.LexingInfo);case"hint":return Rm(zl.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Pve,R4,zl,Uz=O(()=>{"use strict";Bl();Rc();us();Sc();$l();pA();Pve=Object.freeze({validateNode:!0,validateChildren:!0}),R4=class{static{o(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,r={},n=Nr.CancellationToken.None){let i=e.parseResult,a=[];if(await Ci(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===zl.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===zl.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===zl.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(Gu(s))throw s;console.error("An error occurred during validation:",s)}return await Ci(n),a}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of i){let s=a.severity??"error",l={severity:mA(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:Fve(s),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=by(i.token);if(a){let s={severity:mA("error"),range:a,message:i.message,data:Rm(zl.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:zl.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=Nr.CancellationToken.None){let i=[],a=o((s,l,u)=>{i.push(this.toDiagnostic(s,l,u))},"acceptor");return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=Nr.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let s of a)await Ci(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=Nr.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let s=Ps(e).iterator();for(let l of s){a.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{let h=this.validationRegistry.getChecks(l.$type,r.categories);for(let f of h)await f(l,n,i)}finally{a.stopSubTask(l.$type)}u.validateChildren||s.prune()}}finally{a.stop()}}else{let a=Ps(e).iterator();for(let s of a){await Ci(i);let l=this.validateSingleNodeOptions(s,r);if(l.validateNode){let u=this.validationRegistry.getChecks(s.$type,r.categories);for(let h of u)await h(s,n,i)}l.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return Pve}async validateAstAfter(e,r,n,i=Nr.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let s of a)await Ci(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:Bve(n),severity:mA(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(Bve,"getDiagnosticRange");o(mA,"toDiagnosticSeverity");o(Fve,"toDiagnosticData");(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(zl||(zl={}))});var L4,N4,Wz=O(()=>{"use strict";Bl();kc();us();Sc();$l();Nc();L4=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??cs(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s,l=o(()=>s??(s=om(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:om(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},N4=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=Nr.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Ps(i))await Ci(r),Id(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];oa(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Xo(r)&&(n=r.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let i=cs(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],l=om(r.$refNode);for(let u of n)s.push({sourceUri:i,sourcePath:a,targetUri:u.documentUri,targetPath:u.path,segment:l,local:Fi.equals(u.documentUri,i)});return s}}});var M4,Hz=O(()=>{"use strict";M4=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1));return i[l]?.[u]}return i[a]},e)}}});var pi={};var gA=O(()=>{"use strict";jr(pi,Ra(Cm(),1))});var I4,Yz=O(()=>{"use strict";gA();$l();I4=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new Vs,this.onConfigurationSectionUpdateEmitter=new pi.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){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}});var vG=nr(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.Message=lr.NotificationType9=lr.NotificationType8=lr.NotificationType7=lr.NotificationType6=lr.NotificationType5=lr.NotificationType4=lr.NotificationType3=lr.NotificationType2=lr.NotificationType1=lr.NotificationType0=lr.NotificationType=lr.RequestType9=lr.RequestType8=lr.RequestType7=lr.RequestType6=lr.RequestType5=lr.RequestType4=lr.RequestType3=lr.RequestType2=lr.RequestType1=lr.RequestType=lr.RequestType0=lr.AbstractMessageSignature=lr.ParameterStructures=lr.ResponseError=lr.ErrorCodes=void 0;var Lm=tv(),jz;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(jz||(lr.ErrorCodes=jz={}));var Xz=class t extends Error{static{o(this,"ResponseError")}constructor(e,r,n){super(r),this.code=Lm.number(e)?e:jz.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};lr.ResponseError=Xz;var So=class t{static{o(this,"ParameterStructures")}constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};lr.ParameterStructures=So;So.auto=new So("auto");So.byPosition=new So("byPosition");So.byName=new So("byName");var ni=class{static{o(this,"AbstractMessageSignature")}constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return So.auto}};lr.AbstractMessageSignature=ni;var Kz=class extends ni{static{o(this,"RequestType0")}constructor(e){super(e,0)}};lr.RequestType0=Kz;var Qz=class extends ni{static{o(this,"RequestType")}constructor(e,r=So.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};lr.RequestType=Qz;var Zz=class extends ni{static{o(this,"RequestType1")}constructor(e,r=So.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};lr.RequestType1=Zz;var Jz=class extends ni{static{o(this,"RequestType2")}constructor(e){super(e,2)}};lr.RequestType2=Jz;var eG=class extends ni{static{o(this,"RequestType3")}constructor(e){super(e,3)}};lr.RequestType3=eG;var tG=class extends ni{static{o(this,"RequestType4")}constructor(e){super(e,4)}};lr.RequestType4=tG;var rG=class extends ni{static{o(this,"RequestType5")}constructor(e){super(e,5)}};lr.RequestType5=rG;var nG=class extends ni{static{o(this,"RequestType6")}constructor(e){super(e,6)}};lr.RequestType6=nG;var iG=class extends ni{static{o(this,"RequestType7")}constructor(e){super(e,7)}};lr.RequestType7=iG;var aG=class extends ni{static{o(this,"RequestType8")}constructor(e){super(e,8)}};lr.RequestType8=aG;var sG=class extends ni{static{o(this,"RequestType9")}constructor(e){super(e,9)}};lr.RequestType9=sG;var oG=class extends ni{static{o(this,"NotificationType")}constructor(e,r=So.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};lr.NotificationType=oG;var lG=class extends ni{static{o(this,"NotificationType0")}constructor(e){super(e,0)}};lr.NotificationType0=lG;var cG=class extends ni{static{o(this,"NotificationType1")}constructor(e,r=So.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};lr.NotificationType1=cG;var uG=class extends ni{static{o(this,"NotificationType2")}constructor(e){super(e,2)}};lr.NotificationType2=uG;var hG=class extends ni{static{o(this,"NotificationType3")}constructor(e){super(e,3)}};lr.NotificationType3=hG;var fG=class extends ni{static{o(this,"NotificationType4")}constructor(e){super(e,4)}};lr.NotificationType4=fG;var dG=class extends ni{static{o(this,"NotificationType5")}constructor(e){super(e,5)}};lr.NotificationType5=dG;var pG=class extends ni{static{o(this,"NotificationType6")}constructor(e){super(e,6)}};lr.NotificationType6=pG;var mG=class extends ni{static{o(this,"NotificationType7")}constructor(e){super(e,7)}};lr.NotificationType7=mG;var gG=class extends ni{static{o(this,"NotificationType8")}constructor(e){super(e,8)}};lr.NotificationType8=gG;var yG=class extends ni{static{o(this,"NotificationType9")}constructor(e){super(e,9)}};lr.NotificationType9=yG;var $ve;(function(t){function e(i){let a=i;return a&&Lm.string(a.method)&&(Lm.string(a.id)||Lm.number(a.id))}o(e,"isRequest"),t.isRequest=e;function r(i){let a=i;return a&&Lm.string(a.method)&&i.id===void 0}o(r,"isNotification"),t.isNotification=r;function n(i){let a=i;return a&&(a.result!==void 0||!!a.error)&&(Lm.string(a.id)||Lm.number(a.id)||a.id===null)}o(n,"isResponse"),t.isResponse=n})($ve||(lr.Message=$ve={}))});var bG=nr(Qd=>{"use strict";var zve;Object.defineProperty(Qd,"__esModule",{value:!0});Qd.LRUCache=Qd.LinkedMap=Qd.Touch=void 0;var ds;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(ds||(Qd.Touch=ds={}));var yA=class{static{o(this,"LinkedMap")}constructor(){this[zve]="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(e){return this._map.has(e)}get(e,r=ds.None){let n=this._map.get(e);if(n)return r!==ds.None&&this.touch(n,r),n.value}set(e,r,n=ds.None){let i=this._map.get(e);if(i)i.value=r,n!==ds.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case ds.None:this.addItemLast(i);break;case ds.First:this.addItemFirst(i);break;case ds.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:o(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}[(zve=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==ds.First&&r!==ds.Last)){if(r===ds.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===ds.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Qd.LinkedMap=yA;var xG=class extends yA{static{o(this,"LRUCache")}constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=ds.AsNew){return super.get(e,r)}peek(e){return super.get(e,ds.None)}set(e,r){return super.set(e,r,ds.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Qd.LRUCache=xG});var Vve=nr(vA=>{"use strict";Object.defineProperty(vA,"__esModule",{value:!0});vA.Disposable=void 0;var Gve;(function(t){function e(r){return{dispose:r}}o(e,"create"),t.create=e})(Gve||(vA.Disposable=Gve={}))});var qve=nr(hv=>{"use strict";Object.defineProperty(hv,"__esModule",{value:!0});hv.SharedArrayReceiverStrategy=hv.SharedArraySenderStrategy=void 0;var sit=y4(),O4;(function(t){t.Continue=0,t.Cancelled=1})(O4||(O4={}));var TG=class{static{o(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=O4.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,O4.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};hv.SharedArraySenderStrategy=TG;var wG=class{static{o(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===O4.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},kG=class{static{o(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new wG(e)}cancel(){}dispose(){}},EG=class{static{o(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new sit.CancellationTokenSource:new kG(r)}};hv.SharedArrayReceiverStrategy=EG});var CG=nr(xA=>{"use strict";Object.defineProperty(xA,"__esModule",{value:!0});xA.Semaphore=void 0;var oit=Xd(),SG=class{static{o(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,oit.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};xA.Semaphore=SG});var Wve=nr(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.ReadableStreamMessageReader=Zd.AbstractMessageReader=Zd.MessageReader=void 0;var _G=Xd(),fv=tv(),AG=Cm(),lit=CG(),Uve;(function(t){function e(r){let n=r;return n&&fv.func(n.listen)&&fv.func(n.dispose)&&fv.func(n.onError)&&fv.func(n.onClose)&&fv.func(n.onPartialMessage)}o(e,"is"),t.is=e})(Uve||(Zd.MessageReader=Uve={}));var bA=class{static{o(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new AG.Emitter,this.closeEmitter=new AG.Emitter,this.partialMessageEmitter=new AG.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${fv.string(e.message)?e.message:"unknown"}`)}};Zd.AbstractMessageReader=bA;var DG;(function(t){function e(r){let n,i,a,s=new Map,l,u=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(a=r.contentDecoder,s.set(a.name,a)),r.contentDecoders!==void 0)for(let h of r.contentDecoders)s.set(h.name,h);if(r.contentTypeDecoder!==void 0&&(l=r.contentTypeDecoder,u.set(l.name,l)),r.contentTypeDecoders!==void 0)for(let h of r.contentTypeDecoders)u.set(h.name,h)}return l===void 0&&(l=(0,_G.default)().applicationJson.decoder,u.set(l.name,l)),{charset:n,contentDecoder:a,contentDecoders:s,contentTypeDecoder:l,contentTypeDecoders:u}}o(e,"fromOptions"),t.fromOptions=e})(DG||(DG={}));var RG=class extends bA{static{o(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=DG.fromOptions(r),this.buffer=(0,_G.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new lit.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(n))}`));return}let a=parseInt(i);if(isNaN(a)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=a}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,_G.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Zd.ReadableStreamMessageReader=RG});var Kve=nr(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.WriteableStreamMessageWriter=Jd.AbstractMessageWriter=Jd.MessageWriter=void 0;var Hve=Xd(),P4=tv(),cit=CG(),Yve=Cm(),uit="Content-Length: ",jve=`\r +`,Xve;(function(t){function e(r){let n=r;return n&&P4.func(n.dispose)&&P4.func(n.onClose)&&P4.func(n.onError)&&P4.func(n.write)}o(e,"is"),t.is=e})(Xve||(Jd.MessageWriter=Xve={}));var TA=class{static{o(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new Yve.Emitter,this.closeEmitter=new Yve.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${P4.string(e.message)?e.message:"unknown"}`)}};Jd.AbstractMessageWriter=TA;var LG;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,Hve.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,Hve.default)().applicationJson.encoder}}o(e,"fromOptions"),t.fromOptions=e})(LG||(LG={}));var NG=class extends TA{static{o(this,"WriteableStreamMessageWriter")}constructor(e,r){super(),this.writable=e,this.options=LG.fromOptions(r),this.errorCount=0,this.writeSemaphore=new cit.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(uit,n.byteLength.toString(),jve),i.push(jve),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Jd.WriteableStreamMessageWriter=NG});var Qve=nr(wA=>{"use strict";Object.defineProperty(wA,"__esModule",{value:!0});wA.AbstractMessageBuffer=void 0;var hit=13,fit=10,dit=`\r +`,MG=class{static{o(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,a=0;e:for(;nthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let a=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(a)}if(this._chunks[0].byteLength>e){let a=this._chunks[0],s=this.asNative(a,e);return this._chunks[0]=a.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let a=this._chunks[i];if(a.byteLength>e){let s=a.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=a.slice(e),this._totalLength-=e,e-=e}else r.set(a,n),n+=a.byteLength,this._chunks.shift(),this._totalLength-=a.byteLength,e-=a.byteLength}return r}};wA.AbstractMessageBuffer=MG});var r2e=nr(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.createMessageConnection=Rr.ConnectionOptions=Rr.MessageStrategy=Rr.CancellationStrategy=Rr.CancellationSenderStrategy=Rr.CancellationReceiverStrategy=Rr.RequestCancellationReceiverStrategy=Rr.IdCancellationReceiverStrategy=Rr.ConnectionStrategy=Rr.ConnectionError=Rr.ConnectionErrors=Rr.LogTraceNotification=Rr.SetTraceNotification=Rr.TraceFormat=Rr.TraceValues=Rr.Trace=Rr.NullLogger=Rr.ProgressType=Rr.ProgressToken=void 0;var Zve=Xd(),Ai=tv(),br=vG(),Jve=bG(),B4=Cm(),IG=y4(),z4;(function(t){t.type=new br.NotificationType("$/cancelRequest")})(z4||(z4={}));var OG;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}o(e,"is"),t.is=e})(OG||(Rr.ProgressToken=OG={}));var F4;(function(t){t.type=new br.NotificationType("$/progress")})(F4||(F4={}));var PG=class{static{o(this,"ProgressType")}constructor(){}};Rr.ProgressType=PG;var BG;(function(t){function e(r){return Ai.func(r)}o(e,"is"),t.is=e})(BG||(BG={}));Rr.NullLogger=Object.freeze({error:o(()=>{},"error"),warn:o(()=>{},"warn"),info:o(()=>{},"info"),log:o(()=>{},"log")});var vn;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(vn||(Rr.Trace=vn={}));var e2e;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(e2e||(Rr.TraceValues=e2e={}));(function(t){function e(n){if(!Ai.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}o(e,"fromString"),t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}o(r,"toString"),t.toString=r})(vn||(Rr.Trace=vn={}));var rl;(function(t){t.Text="text",t.JSON="json"})(rl||(Rr.TraceFormat=rl={}));(function(t){function e(r){return Ai.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}o(e,"fromString"),t.fromString=e})(rl||(Rr.TraceFormat=rl={}));var FG;(function(t){t.type=new br.NotificationType("$/setTrace")})(FG||(Rr.SetTraceNotification=FG={}));var kA;(function(t){t.type=new br.NotificationType("$/logTrace")})(kA||(Rr.LogTraceNotification=kA={}));var $4;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})($4||(Rr.ConnectionErrors=$4={}));var dv=class t extends Error{static{o(this,"ConnectionError")}constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Rr.ConnectionError=dv;var $G;(function(t){function e(r){let n=r;return n&&Ai.func(n.cancelUndispatched)}o(e,"is"),t.is=e})($G||(Rr.ConnectionStrategy=$G={}));var EA;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&Ai.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ai.func(n.dispose))}o(e,"is"),t.is=e})(EA||(Rr.IdCancellationReceiverStrategy=EA={}));var zG;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&Ai.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ai.func(n.dispose))}o(e,"is"),t.is=e})(zG||(Rr.RequestCancellationReceiverStrategy=zG={}));var SA;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new IG.CancellationTokenSource}});function e(r){return EA.is(r)||zG.is(r)}o(e,"is"),t.is=e})(SA||(Rr.CancellationReceiverStrategy=SA={}));var CA;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(z4.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&Ai.func(n.sendCancellation)&&Ai.func(n.cleanup)}o(e,"is"),t.is=e})(CA||(Rr.CancellationSenderStrategy=CA={}));var AA;(function(t){t.Message=Object.freeze({receiver:SA.Message,sender:CA.Message});function e(r){let n=r;return n&&SA.is(n.receiver)&&CA.is(n.sender)}o(e,"is"),t.is=e})(AA||(Rr.CancellationStrategy=AA={}));var _A;(function(t){function e(r){let n=r;return n&&Ai.func(n.handleMessage)}o(e,"is"),t.is=e})(_A||(Rr.MessageStrategy=_A={}));var t2e;(function(t){function e(r){let n=r;return n&&(AA.is(n.cancellationStrategy)||$G.is(n.connectionStrategy)||_A.is(n.messageStrategy))}o(e,"is"),t.is=e})(t2e||(Rr.ConnectionOptions=t2e={}));var Mc;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Mc||(Mc={}));function pit(t,e,r,n){let i=r!==void 0?r:Rr.NullLogger,a=0,s=0,l=0,u="2.0",h,f=new Map,d,p=new Map,m=new Map,g,y=new Jve.LinkedMap,v=new Map,x=new Set,b=new Map,T=vn.Off,E=rl.Text,w,k=Mc.New,S=new B4.Emitter,A=new B4.Emitter,L=new B4.Emitter,I=new B4.Emitter,N=new B4.Emitter,C=n&&n.cancellationStrategy?n.cancellationStrategy:AA.Message;function _(j){if(j===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+j.toString()}o(_,"createRequestQueueKey");function D(j){return j===null?"res-unknown-"+(++l).toString():"res-"+j.toString()}o(D,"createResponseQueueKey");function M(){return"not-"+(++s).toString()}o(M,"createNotificationQueueKey");function R(j,ae){br.Message.isRequest(ae)?j.set(_(ae.id),ae):br.Message.isResponse(ae)?j.set(D(ae.id),ae):j.set(M(),ae)}o(R,"addMessageToQueue");function P(j){}o(P,"cancelUndispatched");function B(){return k===Mc.Listening}o(B,"isListening");function F(){return k===Mc.Closed}o(F,"isClosed");function G(){return k===Mc.Disposed}o(G,"isDisposed");function $(){(k===Mc.New||k===Mc.Listening)&&(k=Mc.Closed,A.fire(void 0))}o($,"closeHandler");function V(j){S.fire([j,void 0,void 0])}o(V,"readErrorHandler");function X(j){S.fire(j)}o(X,"writeErrorHandler"),t.onClose($),t.onError(V),e.onClose($),e.onError(X);function Q(){g||y.size===0||(g=(0,Zve.default)().timer.setImmediate(()=>{g=void 0,ie()}))}o(Q,"triggerMessageQueue");function H(j){br.Message.isRequest(j)?le(j):br.Message.isNotification(j)?J(j):br.Message.isResponse(j)?ee(j):te(j)}o(H,"handleMessage");function ie(){if(y.size===0)return;let j=y.shift();try{let ae=n?.messageStrategy;_A.is(ae)?ae.handleMessage(j,H):H(j)}finally{Q()}}o(ie,"processMessageQueue");let Y=o(j=>{try{if(br.Message.isNotification(j)&&j.method===z4.type.method){let ae=j.params.id,U=_(ae),ce=y.get(U);if(br.Message.isRequest(ce)){let ne=n?.connectionStrategy,se=ne&&ne.cancelUndispatched?ne.cancelUndispatched(ce,P):void 0;if(se&&(se.error!==void 0||se.result!==void 0)){y.delete(U),b.delete(ae),se.id=ce.id,Se(se,j.method,Date.now()),e.write(se).catch(()=>i.error("Sending response for canceled message failed."));return}}let z=b.get(ae);if(z!==void 0){z.cancel(),ke(j);return}else x.add(ae)}R(y,j)}finally{Q()}},"callback");function le(j){if(G())return;function ae(pe,me,Re){let ge={jsonrpc:u,id:j.id};pe instanceof br.ResponseError?ge.error=pe.toJson():ge.result=pe===void 0?null:pe,Se(ge,me,Re),e.write(ge).catch(()=>i.error("Sending response failed."))}o(ae,"reply");function U(pe,me,Re){let ge={jsonrpc:u,id:j.id,error:pe.toJson()};Se(ge,me,Re),e.write(ge).catch(()=>i.error("Sending response failed."))}o(U,"replyError");function ce(pe,me,Re){pe===void 0&&(pe=null);let ge={jsonrpc:u,id:j.id,result:pe};Se(ge,me,Re),e.write(ge).catch(()=>i.error("Sending response failed."))}o(ce,"replySuccess"),Me(j);let z=f.get(j.method),ne,se;z&&(ne=z.type,se=z.handler);let be=Date.now();if(se||h){let pe=j.id??String(Date.now()),me=EA.is(C.receiver)?C.receiver.createCancellationTokenSource(pe):C.receiver.createCancellationTokenSource(j);j.id!==null&&x.has(j.id)&&me.cancel(),j.id!==null&&b.set(pe,me);try{let Re;if(se)if(j.params===void 0){if(ne!==void 0&&ne.numberOfParams!==0){U(new br.ResponseError(br.ErrorCodes.InvalidParams,`Request ${j.method} defines ${ne.numberOfParams} params but received none.`),j.method,be);return}Re=se(me.token)}else if(Array.isArray(j.params)){if(ne!==void 0&&ne.parameterStructures===br.ParameterStructures.byName){U(new br.ResponseError(br.ErrorCodes.InvalidParams,`Request ${j.method} defines parameters by name but received parameters by position`),j.method,be);return}Re=se(...j.params,me.token)}else{if(ne!==void 0&&ne.parameterStructures===br.ParameterStructures.byPosition){U(new br.ResponseError(br.ErrorCodes.InvalidParams,`Request ${j.method} defines parameters by position but received parameters by name`),j.method,be);return}Re=se(j.params,me.token)}else h&&(Re=h(j.method,j.params,me.token));let ge=Re;Re?ge.then?ge.then(Ie=>{b.delete(pe),ae(Ie,j.method,be)},Ie=>{b.delete(pe),Ie instanceof br.ResponseError?U(Ie,j.method,be):Ie&&Ai.string(Ie.message)?U(new br.ResponseError(br.ErrorCodes.InternalError,`Request ${j.method} failed with message: ${Ie.message}`),j.method,be):U(new br.ResponseError(br.ErrorCodes.InternalError,`Request ${j.method} failed unexpectedly without providing any details.`),j.method,be)}):(b.delete(pe),ae(Re,j.method,be)):(b.delete(pe),ce(Re,j.method,be))}catch(Re){b.delete(pe),Re instanceof br.ResponseError?ae(Re,j.method,be):Re&&Ai.string(Re.message)?U(new br.ResponseError(br.ErrorCodes.InternalError,`Request ${j.method} failed with message: ${Re.message}`),j.method,be):U(new br.ResponseError(br.ErrorCodes.InternalError,`Request ${j.method} failed unexpectedly without providing any details.`),j.method,be)}}else U(new br.ResponseError(br.ErrorCodes.MethodNotFound,`Unhandled method ${j.method}`),j.method,be)}o(le,"handleRequest");function ee(j){if(!G())if(j.id===null)j.error?i.error(`Received response message without id: Error is: +${JSON.stringify(j.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let ae=j.id,U=v.get(ae);if(we(j,U),U!==void 0){v.delete(ae);try{if(j.error){let ce=j.error;U.reject(new br.ResponseError(ce.code,ce.message,ce.data))}else if(j.result!==void 0)U.resolve(j.result);else throw new Error("Should never happen.")}catch(ce){ce.message?i.error(`Response handler '${U.method}' failed with message: ${ce.message}`):i.error(`Response handler '${U.method}' failed unexpectedly.`)}}}}o(ee,"handleResponse");function J(j){if(G())return;let ae,U;if(j.method===z4.type.method){let ce=j.params.id;x.delete(ce),ke(j);return}else{let ce=p.get(j.method);ce&&(U=ce.handler,ae=ce.type)}if(U||d)try{if(ke(j),U)if(j.params===void 0)ae!==void 0&&ae.numberOfParams!==0&&ae.parameterStructures!==br.ParameterStructures.byName&&i.error(`Notification ${j.method} defines ${ae.numberOfParams} params but received none.`),U();else if(Array.isArray(j.params)){let ce=j.params;j.method===F4.type.method&&ce.length===2&&OG.is(ce[0])?U({token:ce[0],value:ce[1]}):(ae!==void 0&&(ae.parameterStructures===br.ParameterStructures.byName&&i.error(`Notification ${j.method} defines parameters by name but received parameters by position`),ae.numberOfParams!==j.params.length&&i.error(`Notification ${j.method} defines ${ae.numberOfParams} params but received ${ce.length} arguments`)),U(...ce))}else ae!==void 0&&ae.parameterStructures===br.ParameterStructures.byPosition&&i.error(`Notification ${j.method} defines parameters by position but received parameters by name`),U(j.params);else d&&d(j.method,j.params)}catch(ce){ce.message?i.error(`Notification handler '${j.method}' failed with message: ${ce.message}`):i.error(`Notification handler '${j.method}' failed unexpectedly.`)}else L.fire(j)}o(J,"handleNotification");function te(j){if(!j){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message: +${JSON.stringify(j,null,4)}`);let ae=j;if(Ai.string(ae.id)||Ai.number(ae.id)){let U=ae.id,ce=v.get(U);ce&&ce.reject(new Error("The received response has neither a result nor an error property."))}}o(te,"handleInvalidMessage");function Z(j){if(j!=null)switch(T){case vn.Verbose:return JSON.stringify(j,null,4);case vn.Compact:return JSON.stringify(j);default:return}}o(Z,"stringifyTrace");function xe(j){if(!(T===vn.Off||!w))if(E===rl.Text){let ae;(T===vn.Verbose||T===vn.Compact)&&j.params&&(ae=`Params: ${Z(j.params)} -`),w.log(`Sending request '${Y.method} - (${Y.id})'.`,ce)}else Ge("send-request",Y)}o(le,"traceSendingRequest");function J(Y){if(!(T===pn.Off||!w))if(E===jo.Text){let ce;(T===pn.Verbose||T===pn.Compact)&&(Y.params?ce=`Params: ${Q(Y.params)} +`),w.log(`Sending request '${j.method} - (${j.id})'.`,ae)}else _e("send-request",j)}o(xe,"traceSendingRequest");function de(j){if(!(T===vn.Off||!w))if(E===rl.Text){let ae;(T===vn.Verbose||T===vn.Compact)&&(j.params?ae=`Params: ${Z(j.params)} -`:ce=`No parameters provided. +`:ae=`No parameters provided. -`),w.log(`Sending notification '${Y.method}'.`,ce)}else Ge("send-notification",Y)}o(J,"traceSendingNotification");function ge(Y,ce,U){if(!(T===pn.Off||!w))if(E===jo.Text){let ue;(T===pn.Verbose||T===pn.Compact)&&(Y.error&&Y.error.data?ue=`Error data: ${Q(Y.error.data)} +`),w.log(`Sending notification '${j.method}'.`,ae)}else _e("send-notification",j)}o(de,"traceSendingNotification");function Se(j,ae,U){if(!(T===vn.Off||!w))if(E===rl.Text){let ce;(T===vn.Verbose||T===vn.Compact)&&(j.error&&j.error.data?ce=`Error data: ${Z(j.error.data)} -`:Y.result?ue=`Result: ${Q(Y.result)} +`:j.result?ce=`Result: ${Z(j.result)} -`:Y.error===void 0&&(ue=`No result returned. +`:j.error===void 0&&(ce=`No result returned. -`)),w.log(`Sending response '${ce} - (${Y.id})'. Processing request took ${Date.now()-U}ms`,ue)}else Ge("send-response",Y)}o(ge,"traceSendingResponse");function ie(Y){if(!(T===pn.Off||!w))if(E===jo.Text){let ce;(T===pn.Verbose||T===pn.Compact)&&Y.params&&(ce=`Params: ${Q(Y.params)} +`)),w.log(`Sending response '${ae} - (${j.id})'. Processing request took ${Date.now()-U}ms`,ce)}else _e("send-response",j)}o(Se,"traceSendingResponse");function Me(j){if(!(T===vn.Off||!w))if(E===rl.Text){let ae;(T===vn.Verbose||T===vn.Compact)&&j.params&&(ae=`Params: ${Z(j.params)} -`),w.log(`Received request '${Y.method} - (${Y.id})'.`,ce)}else Ge("receive-request",Y)}o(ie,"traceReceivedRequest");function Te(Y){if(!(T===pn.Off||!w||Y.method===uA.type.method))if(E===jo.Text){let ce;(T===pn.Verbose||T===pn.Compact)&&(Y.params?ce=`Params: ${Q(Y.params)} +`),w.log(`Received request '${j.method} - (${j.id})'.`,ae)}else _e("receive-request",j)}o(Me,"traceReceivedRequest");function ke(j){if(!(T===vn.Off||!w||j.method===kA.type.method))if(E===rl.Text){let ae;(T===vn.Verbose||T===vn.Compact)&&(j.params?ae=`Params: ${Z(j.params)} -`:ce=`No parameters provided. +`:ae=`No parameters provided. -`),w.log(`Received notification '${Y.method}'.`,ce)}else Ge("receive-notification",Y)}o(Te,"traceReceivedNotification");function j(Y,ce){if(!(T===pn.Off||!w))if(E===jo.Text){let U;if((T===pn.Verbose||T===pn.Compact)&&(Y.error&&Y.error.data?U=`Error data: ${Q(Y.error.data)} +`),w.log(`Received notification '${j.method}'.`,ae)}else _e("receive-notification",j)}o(ke,"traceReceivedNotification");function we(j,ae){if(!(T===vn.Off||!w))if(E===rl.Text){let U;if((T===vn.Verbose||T===vn.Compact)&&(j.error&&j.error.data?U=`Error data: ${Z(j.error.data)} -`:Y.result?U=`Result: ${Q(Y.result)} +`:j.result?U=`Result: ${Z(j.result)} -`:Y.error===void 0&&(U=`No result returned. +`:j.error===void 0&&(U=`No result returned. -`)),ce){let ue=Y.error?` Request failed: ${Y.error.message} (${Y.error.code}).`:"";w.log(`Received response '${ce.method} - (${Y.id})' in ${Date.now()-ce.timerStart}ms.${ue}`,U)}else w.log(`Received response ${Y.id} without active response promise.`,U)}else Ge("receive-response",Y)}o(j,"traceReceivedResponse");function Ge(Y,ce){if(!w||T===pn.Off)return;let U={isLSPMessage:!0,type:Y,message:ce,timestamp:Date.now()};w.log(U)}o(Ge,"logLSPMessage");function ye(){if(F())throw new av(AT.Closed,"Connection is closed.");if(G())throw new av(AT.Disposed,"Connection is disposed.")}o(ye,"throwIfClosedOrDisposed");function $e(){if(B())throw new av(AT.AlreadyListening,"Connection is already listening")}o($e,"throwIfListening");function Xe(){if(!B())throw new Error("Call listen() first.")}o(Xe,"throwIfNotListening");function Ue(Y){return Y===void 0?null:Y}o(Ue,"undefinedToNull");function Le(Y){if(Y!==null)return Y}o(Le,"nullToUndefined");function Ie(Y){return Y!=null&&!Array.isArray(Y)&&typeof Y=="object"}o(Ie,"isNamedParam");function Me(Y,ce){switch(Y){case yr.ParameterStructures.auto:return Ie(ce)?Le(ce):[Ue(ce)];case yr.ParameterStructures.byName:if(!Ie(ce))throw new Error("Received parameters by name but param is not an object literal.");return Le(ce);case yr.ParameterStructures.byPosition:return[Ue(ce)];default:throw new Error(`Unknown parameter structure ${Y.toString()}`)}}o(Me,"computeSingleParam");function Ae(Y,ce){let U,ue=Y.numberOfParams;switch(ue){case 0:U=void 0;break;case 1:U=Me(Y.parameterStructures,ce[0]);break;default:U=[];for(let z=0;z{ye();let U,ue;if(wi.string(Y)){U=Y;let se=ce[0],oe=0,be=yr.ParameterStructures.auto;yr.ParameterStructures.is(se)&&(oe=1,be=se);let pe=ce.length,me=pe-oe;switch(me){case 0:ue=void 0;break;case 1:ue=Me(be,ce[oe]);break;default:if(be===yr.ParameterStructures.byName)throw new Error(`Received ${me} parameters for 'by Name' notification parameter structure.`);ue=ce.slice(oe,pe).map(De=>Ue(De));break}}else{let se=ce;U=Y.method,ue=Ae(Y,se)}let z={jsonrpc:u,method:U,params:ue};return J(z),e.write(z).catch(se=>{throw i.error("Sending notification failed."),se})},"sendNotification"),onNotification:o((Y,ce)=>{ye();let U;return wi.func(Y)?d=Y:ce&&(wi.string(Y)?(U=Y,p.set(Y,{type:void 0,handler:ce})):(U=Y.method,p.set(Y.method,{type:Y,handler:ce}))),{dispose:o(()=>{U!==void 0?p.delete(U):d=void 0},"dispose")}},"onNotification"),onProgress:o((Y,ce,U)=>{if(m.has(ce))throw new Error(`Progress handler for token ${ce} already registered`);return m.set(ce,U),{dispose:o(()=>{m.delete(ce)},"dispose")}},"onProgress"),sendProgress:o((Y,ce,U)=>ze.sendNotification(CT.type,{token:ce,value:U}),"sendProgress"),onUnhandledProgress:O.event,sendRequest:o((Y,...ce)=>{ye(),Xe();let U,ue,z;if(wi.string(Y)){U=Y;let pe=ce[0],me=ce[ce.length-1],De=0,Ce=yr.ParameterStructures.auto;yr.ParameterStructures.is(pe)&&(De=1,Ce=pe);let Fe=ce.length;vG.CancellationToken.is(me)&&(Fe=Fe-1,z=me);let Ye=Fe-De;switch(Ye){case 0:ue=void 0;break;case 1:ue=Me(Ce,ce[De]);break;default:if(Ce===yr.ParameterStructures.byName)throw new Error(`Received ${Ye} parameters for 'by Name' request parameter structure.`);ue=ce.slice(De,Fe).map(xt=>Ue(xt));break}}else{let pe=ce;U=Y.method,ue=Ae(Y,pe);let me=Y.numberOfParams;z=vG.CancellationToken.is(pe[me])?pe[me]:void 0}let se=a++,oe;z&&(oe=z.onCancellationRequested(()=>{let pe=S.sender.sendCancellation(ze,se);return pe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${se}`),Promise.resolve()):pe.catch(()=>{i.log(`Sending cancellation messages for id ${se} failed`)})}));let be={jsonrpc:u,id:se,method:U,params:ue};return le(be),typeof S.sender.enableCancellation=="function"&&S.sender.enableCancellation(be),new Promise(async(pe,me)=>{let De=o(Ye=>{pe(Ye),S.sender.cleanup(se),oe?.dispose()},"resolveWithCleanup"),Ce=o(Ye=>{me(Ye),S.sender.cleanup(se),oe?.dispose()},"rejectWithCleanup"),Fe={method:U,timerStart:Date.now(),resolve:De,reject:Ce};try{await e.write(be),v.set(se,Fe)}catch(Ye){throw i.error("Sending request failed."),Fe.reject(new yr.ResponseError(yr.ErrorCodes.MessageWriteError,Ye.message?Ye.message:"Unknown reason")),Ye}})},"sendRequest"),onRequest:o((Y,ce)=>{ye();let U=null;return TG.is(Y)?(U=void 0,h=Y):wi.string(Y)?(U=null,ce!==void 0&&(U=Y,f.set(Y,{handler:ce,type:void 0}))):ce!==void 0&&(U=Y.method,f.set(Y.method,{type:Y,handler:ce})),{dispose:o(()=>{U!==null&&(U!==void 0?f.delete(U):h=void 0)},"dispose")}},"onRequest"),hasPendingResponse:o(()=>v.size>0,"hasPendingResponse"),trace:o(async(Y,ce,U)=>{let ue=!1,z=jo.Text;U!==void 0&&(wi.boolean(U)?ue=U:(ue=U.sendNotification||!1,z=U.traceFormat||jo.Text)),T=Y,E=z,T===pn.Off?w=void 0:w=ce,ue&&!F()&&!G()&&await ze.sendNotification(wG.type,{value:pn.toString(Y)})},"trace"),onError:C.event,onClose:D.event,onUnhandledNotification:R.event,onDispose:L.event,end:o(()=>{e.end()},"end"),dispose:o(()=>{if(G())return;k=Ec.Disposed,L.fire(void 0);let Y=new yr.ResponseError(yr.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let ce of v.values())ce.reject(Y);v=new Map,b=new Map,x=new Set,y=new mve.LinkedMap,wi.func(e.dispose)&&e.dispose(),wi.func(t.dispose)&&t.dispose()},"dispose"),listen:o(()=>{ye(),$e(),k=Ec.Listening,t.listen(Z)},"listen"),inspect:o(()=>{(0,pve.default)().console.log("inspect")},"inspect")};return ze.onNotification(uA.type,Y=>{if(T===pn.Off||!w)return;let ce=T===pn.Verbose||T===pn.Compact;w.log(Y.message,ce?Y.verbose:void 0)}),ze.onNotification(CT.type,Y=>{let ce=m.get(Y.token);ce?ce(Y.value):O.fire(Y)}),ze}o(Rrt,"createMessageConnection");Cr.createMessageConnection=Rrt});var gA=Jt(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.ProgressType=et.ProgressToken=et.createMessageConnection=et.NullLogger=et.ConnectionOptions=et.ConnectionStrategy=et.AbstractMessageBuffer=et.WriteableStreamMessageWriter=et.AbstractMessageWriter=et.MessageWriter=et.ReadableStreamMessageReader=et.AbstractMessageReader=et.MessageReader=et.SharedArrayReceiverStrategy=et.SharedArraySenderStrategy=et.CancellationToken=et.CancellationTokenSource=et.Emitter=et.Event=et.Disposable=et.LRUCache=et.Touch=et.LinkedMap=et.ParameterStructures=et.NotificationType9=et.NotificationType8=et.NotificationType7=et.NotificationType6=et.NotificationType5=et.NotificationType4=et.NotificationType3=et.NotificationType2=et.NotificationType1=et.NotificationType0=et.NotificationType=et.ErrorCodes=et.ResponseError=et.RequestType9=et.RequestType8=et.RequestType7=et.RequestType6=et.RequestType5=et.RequestType4=et.RequestType3=et.RequestType2=et.RequestType1=et.RequestType0=et.RequestType=et.Message=et.RAL=void 0;et.MessageStrategy=et.CancellationStrategy=et.CancellationSenderStrategy=et.CancellationReceiverStrategy=et.ConnectionError=et.ConnectionErrors=et.LogTraceNotification=et.SetTraceNotification=et.TraceFormat=et.TraceValues=et.Trace=void 0;var Yn=rG();Object.defineProperty(et,"Message",{enumerable:!0,get:o(function(){return Yn.Message},"get")});Object.defineProperty(et,"RequestType",{enumerable:!0,get:o(function(){return Yn.RequestType},"get")});Object.defineProperty(et,"RequestType0",{enumerable:!0,get:o(function(){return Yn.RequestType0},"get")});Object.defineProperty(et,"RequestType1",{enumerable:!0,get:o(function(){return Yn.RequestType1},"get")});Object.defineProperty(et,"RequestType2",{enumerable:!0,get:o(function(){return Yn.RequestType2},"get")});Object.defineProperty(et,"RequestType3",{enumerable:!0,get:o(function(){return Yn.RequestType3},"get")});Object.defineProperty(et,"RequestType4",{enumerable:!0,get:o(function(){return Yn.RequestType4},"get")});Object.defineProperty(et,"RequestType5",{enumerable:!0,get:o(function(){return Yn.RequestType5},"get")});Object.defineProperty(et,"RequestType6",{enumerable:!0,get:o(function(){return Yn.RequestType6},"get")});Object.defineProperty(et,"RequestType7",{enumerable:!0,get:o(function(){return Yn.RequestType7},"get")});Object.defineProperty(et,"RequestType8",{enumerable:!0,get:o(function(){return Yn.RequestType8},"get")});Object.defineProperty(et,"RequestType9",{enumerable:!0,get:o(function(){return Yn.RequestType9},"get")});Object.defineProperty(et,"ResponseError",{enumerable:!0,get:o(function(){return Yn.ResponseError},"get")});Object.defineProperty(et,"ErrorCodes",{enumerable:!0,get:o(function(){return Yn.ErrorCodes},"get")});Object.defineProperty(et,"NotificationType",{enumerable:!0,get:o(function(){return Yn.NotificationType},"get")});Object.defineProperty(et,"NotificationType0",{enumerable:!0,get:o(function(){return Yn.NotificationType0},"get")});Object.defineProperty(et,"NotificationType1",{enumerable:!0,get:o(function(){return Yn.NotificationType1},"get")});Object.defineProperty(et,"NotificationType2",{enumerable:!0,get:o(function(){return Yn.NotificationType2},"get")});Object.defineProperty(et,"NotificationType3",{enumerable:!0,get:o(function(){return Yn.NotificationType3},"get")});Object.defineProperty(et,"NotificationType4",{enumerable:!0,get:o(function(){return Yn.NotificationType4},"get")});Object.defineProperty(et,"NotificationType5",{enumerable:!0,get:o(function(){return Yn.NotificationType5},"get")});Object.defineProperty(et,"NotificationType6",{enumerable:!0,get:o(function(){return Yn.NotificationType6},"get")});Object.defineProperty(et,"NotificationType7",{enumerable:!0,get:o(function(){return Yn.NotificationType7},"get")});Object.defineProperty(et,"NotificationType8",{enumerable:!0,get:o(function(){return Yn.NotificationType8},"get")});Object.defineProperty(et,"NotificationType9",{enumerable:!0,get:o(function(){return Yn.NotificationType9},"get")});Object.defineProperty(et,"ParameterStructures",{enumerable:!0,get:o(function(){return Yn.ParameterStructures},"get")});var EG=iG();Object.defineProperty(et,"LinkedMap",{enumerable:!0,get:o(function(){return EG.LinkedMap},"get")});Object.defineProperty(et,"LRUCache",{enumerable:!0,get:o(function(){return EG.LRUCache},"get")});Object.defineProperty(et,"Touch",{enumerable:!0,get:o(function(){return EG.Touch},"get")});var Lrt=ive();Object.defineProperty(et,"Disposable",{enumerable:!0,get:o(function(){return Lrt.Disposable},"get")});var xve=km();Object.defineProperty(et,"Event",{enumerable:!0,get:o(function(){return xve.Event},"get")});Object.defineProperty(et,"Emitter",{enumerable:!0,get:o(function(){return xve.Emitter},"get")});var bve=aT();Object.defineProperty(et,"CancellationTokenSource",{enumerable:!0,get:o(function(){return bve.CancellationTokenSource},"get")});Object.defineProperty(et,"CancellationToken",{enumerable:!0,get:o(function(){return bve.CancellationToken},"get")});var Tve=ave();Object.defineProperty(et,"SharedArraySenderStrategy",{enumerable:!0,get:o(function(){return Tve.SharedArraySenderStrategy},"get")});Object.defineProperty(et,"SharedArrayReceiverStrategy",{enumerable:!0,get:o(function(){return Tve.SharedArrayReceiverStrategy},"get")});var CG=ove();Object.defineProperty(et,"MessageReader",{enumerable:!0,get:o(function(){return CG.MessageReader},"get")});Object.defineProperty(et,"AbstractMessageReader",{enumerable:!0,get:o(function(){return CG.AbstractMessageReader},"get")});Object.defineProperty(et,"ReadableStreamMessageReader",{enumerable:!0,get:o(function(){return CG.ReadableStreamMessageReader},"get")});var AG=fve();Object.defineProperty(et,"MessageWriter",{enumerable:!0,get:o(function(){return AG.MessageWriter},"get")});Object.defineProperty(et,"AbstractMessageWriter",{enumerable:!0,get:o(function(){return AG.AbstractMessageWriter},"get")});Object.defineProperty(et,"WriteableStreamMessageWriter",{enumerable:!0,get:o(function(){return AG.WriteableStreamMessageWriter},"get")});var Nrt=dve();Object.defineProperty(et,"AbstractMessageBuffer",{enumerable:!0,get:o(function(){return Nrt.AbstractMessageBuffer},"get")});var qa=vve();Object.defineProperty(et,"ConnectionStrategy",{enumerable:!0,get:o(function(){return qa.ConnectionStrategy},"get")});Object.defineProperty(et,"ConnectionOptions",{enumerable:!0,get:o(function(){return qa.ConnectionOptions},"get")});Object.defineProperty(et,"NullLogger",{enumerable:!0,get:o(function(){return qa.NullLogger},"get")});Object.defineProperty(et,"createMessageConnection",{enumerable:!0,get:o(function(){return qa.createMessageConnection},"get")});Object.defineProperty(et,"ProgressToken",{enumerable:!0,get:o(function(){return qa.ProgressToken},"get")});Object.defineProperty(et,"ProgressType",{enumerable:!0,get:o(function(){return qa.ProgressType},"get")});Object.defineProperty(et,"Trace",{enumerable:!0,get:o(function(){return qa.Trace},"get")});Object.defineProperty(et,"TraceValues",{enumerable:!0,get:o(function(){return qa.TraceValues},"get")});Object.defineProperty(et,"TraceFormat",{enumerable:!0,get:o(function(){return qa.TraceFormat},"get")});Object.defineProperty(et,"SetTraceNotification",{enumerable:!0,get:o(function(){return qa.SetTraceNotification},"get")});Object.defineProperty(et,"LogTraceNotification",{enumerable:!0,get:o(function(){return qa.LogTraceNotification},"get")});Object.defineProperty(et,"ConnectionErrors",{enumerable:!0,get:o(function(){return qa.ConnectionErrors},"get")});Object.defineProperty(et,"ConnectionError",{enumerable:!0,get:o(function(){return qa.ConnectionError},"get")});Object.defineProperty(et,"CancellationReceiverStrategy",{enumerable:!0,get:o(function(){return qa.CancellationReceiverStrategy},"get")});Object.defineProperty(et,"CancellationSenderStrategy",{enumerable:!0,get:o(function(){return qa.CancellationSenderStrategy},"get")});Object.defineProperty(et,"CancellationStrategy",{enumerable:!0,get:o(function(){return qa.CancellationStrategy},"get")});Object.defineProperty(et,"MessageStrategy",{enumerable:!0,get:o(function(){return qa.MessageStrategy},"get")});var Mrt=Wd();et.RAL=Mrt.default});var kve=Jt(LG=>{"use strict";Object.defineProperty(LG,"__esModule",{value:!0});var Ou=gA(),yA=class t extends Ou.AbstractMessageBuffer{static{o(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};yA.emptyBuffer=new Uint8Array(0);var _G=class{static{o(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new Ou.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Ou.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Ou.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Ou.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Ou.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},DG=class{static{o(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Ou.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Ou.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Ou.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},Irt=new TextEncoder,wve=Object.freeze({messageBuffer:Object.freeze({create:o(t=>new yA(t),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:o((t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(Irt.encode(JSON.stringify(t,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:o((t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))},"decode")})}),stream:Object.freeze({asReadableStream:o(t=>new _G(t),"asReadableStream"),asWritableStream:o(t=>new DG(t),"asWritableStream")}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:o(()=>clearTimeout(n),"dispose")}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:o(()=>clearTimeout(r),"dispose")}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:o(()=>clearInterval(n),"dispose")}}})});function RG(){return wve}o(RG,"RIL");(function(t){function e(){Ou.RAL.install(wve)}o(e,"install"),t.install=e})(RG||(RG={}));LG.default=RG});var Dm=Jt(Xo=>{"use strict";var Ort=Xo&&Xo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Prt=Xo&&Xo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ort(e,t,r)};Object.defineProperty(Xo,"__esModule",{value:!0});Xo.createMessageConnection=Xo.BrowserMessageWriter=Xo.BrowserMessageReader=void 0;var Brt=kve();Brt.default.install();var sv=gA();Prt(gA(),Xo);var NG=class extends sv.AbstractMessageReader{static{o(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new sv.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};Xo.BrowserMessageReader=NG;var MG=class extends sv.AbstractMessageWriter{static{o(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};Xo.BrowserMessageWriter=MG;function Frt(t,e,r,n){return r===void 0&&(r=sv.NullLogger),sv.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,sv.createMessageConnection)(t,e,r,n)}o(Frt,"createMessageConnection");Xo.createMessageConnection=Frt});var IG=Jt((J0r,Sve)=>{"use strict";Sve.exports=Dm()});var hi=Jt(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.ProtocolNotificationType=To.ProtocolNotificationType0=To.ProtocolRequestType=To.ProtocolRequestType0=To.RegistrationType=To.MessageDirection=void 0;var ov=Dm(),Eve;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Eve||(To.MessageDirection=Eve={}));var OG=class{static{o(this,"RegistrationType")}constructor(e){this.method=e}};To.RegistrationType=OG;var PG=class extends ov.RequestType0{static{o(this,"ProtocolRequestType0")}constructor(e){super(e)}};To.ProtocolRequestType0=PG;var BG=class extends ov.RequestType{static{o(this,"ProtocolRequestType")}constructor(e){super(e,ov.ParameterStructures.byName)}};To.ProtocolRequestType=BG;var FG=class extends ov.NotificationType0{static{o(this,"ProtocolNotificationType0")}constructor(e){super(e)}};To.ProtocolNotificationType0=FG;var $G=class extends ov.NotificationType{static{o(this,"ProtocolNotificationType")}constructor(e){super(e,ov.ParameterStructures.byName)}};To.ProtocolNotificationType=$G});var vA=Jt(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.objectLiteral=Ui.typedArray=Ui.stringArray=Ui.array=Ui.func=Ui.error=Ui.number=Ui.string=Ui.boolean=void 0;function $rt(t){return t===!0||t===!1}o($rt,"boolean");Ui.boolean=$rt;function Cve(t){return typeof t=="string"||t instanceof String}o(Cve,"string");Ui.string=Cve;function zrt(t){return typeof t=="number"||t instanceof Number}o(zrt,"number");Ui.number=zrt;function Grt(t){return t instanceof Error}o(Grt,"error");Ui.error=Grt;function Vrt(t){return typeof t=="function"}o(Vrt,"func");Ui.func=Vrt;function Ave(t){return Array.isArray(t)}o(Ave,"array");Ui.array=Ave;function qrt(t){return Ave(t)&&t.every(e=>Cve(e))}o(qrt,"stringArray");Ui.stringArray=qrt;function Urt(t,e){return Array.isArray(t)&&t.every(e)}o(Urt,"typedArray");Ui.typedArray=Urt;function Wrt(t){return t!==null&&typeof t=="object"}o(Wrt,"objectLiteral");Ui.objectLiteral=Wrt});var Rve=Jt(xA=>{"use strict";Object.defineProperty(xA,"__esModule",{value:!0});xA.ImplementationRequest=void 0;var _ve=hi(),Dve;(function(t){t.method="textDocument/implementation",t.messageDirection=_ve.MessageDirection.clientToServer,t.type=new _ve.ProtocolRequestType(t.method)})(Dve||(xA.ImplementationRequest=Dve={}))});var Mve=Jt(bA=>{"use strict";Object.defineProperty(bA,"__esModule",{value:!0});bA.TypeDefinitionRequest=void 0;var Lve=hi(),Nve;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=Lve.MessageDirection.clientToServer,t.type=new Lve.ProtocolRequestType(t.method)})(Nve||(bA.TypeDefinitionRequest=Nve={}))});var Pve=Jt(lv=>{"use strict";Object.defineProperty(lv,"__esModule",{value:!0});lv.DidChangeWorkspaceFoldersNotification=lv.WorkspaceFoldersRequest=void 0;var TA=hi(),Ive;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=TA.MessageDirection.serverToClient,t.type=new TA.ProtocolRequestType0(t.method)})(Ive||(lv.WorkspaceFoldersRequest=Ive={}));var Ove;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=TA.MessageDirection.clientToServer,t.type=new TA.ProtocolNotificationType(t.method)})(Ove||(lv.DidChangeWorkspaceFoldersNotification=Ove={}))});var $ve=Jt(wA=>{"use strict";Object.defineProperty(wA,"__esModule",{value:!0});wA.ConfigurationRequest=void 0;var Bve=hi(),Fve;(function(t){t.method="workspace/configuration",t.messageDirection=Bve.MessageDirection.serverToClient,t.type=new Bve.ProtocolRequestType(t.method)})(Fve||(wA.ConfigurationRequest=Fve={}))});var Vve=Jt(cv=>{"use strict";Object.defineProperty(cv,"__esModule",{value:!0});cv.ColorPresentationRequest=cv.DocumentColorRequest=void 0;var kA=hi(),zve;(function(t){t.method="textDocument/documentColor",t.messageDirection=kA.MessageDirection.clientToServer,t.type=new kA.ProtocolRequestType(t.method)})(zve||(cv.DocumentColorRequest=zve={}));var Gve;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=kA.MessageDirection.clientToServer,t.type=new kA.ProtocolRequestType(t.method)})(Gve||(cv.ColorPresentationRequest=Gve={}))});var Wve=Jt(uv=>{"use strict";Object.defineProperty(uv,"__esModule",{value:!0});uv.FoldingRangeRefreshRequest=uv.FoldingRangeRequest=void 0;var SA=hi(),qve;(function(t){t.method="textDocument/foldingRange",t.messageDirection=SA.MessageDirection.clientToServer,t.type=new SA.ProtocolRequestType(t.method)})(qve||(uv.FoldingRangeRequest=qve={}));var Uve;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=SA.MessageDirection.serverToClient,t.type=new SA.ProtocolRequestType0(t.method)})(Uve||(uv.FoldingRangeRefreshRequest=Uve={}))});var jve=Jt(EA=>{"use strict";Object.defineProperty(EA,"__esModule",{value:!0});EA.DeclarationRequest=void 0;var Hve=hi(),Yve;(function(t){t.method="textDocument/declaration",t.messageDirection=Hve.MessageDirection.clientToServer,t.type=new Hve.ProtocolRequestType(t.method)})(Yve||(EA.DeclarationRequest=Yve={}))});var Qve=Jt(CA=>{"use strict";Object.defineProperty(CA,"__esModule",{value:!0});CA.SelectionRangeRequest=void 0;var Xve=hi(),Kve;(function(t){t.method="textDocument/selectionRange",t.messageDirection=Xve.MessageDirection.clientToServer,t.type=new Xve.ProtocolRequestType(t.method)})(Kve||(CA.SelectionRangeRequest=Kve={}))});var t2e=Jt(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.WorkDoneProgressCancelNotification=Kd.WorkDoneProgressCreateRequest=Kd.WorkDoneProgress=void 0;var Hrt=Dm(),AA=hi(),Zve;(function(t){t.type=new Hrt.ProgressType;function e(r){return r===t.type}o(e,"is"),t.is=e})(Zve||(Kd.WorkDoneProgress=Zve={}));var Jve;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=AA.MessageDirection.serverToClient,t.type=new AA.ProtocolRequestType(t.method)})(Jve||(Kd.WorkDoneProgressCreateRequest=Jve={}));var e2e;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=AA.MessageDirection.clientToServer,t.type=new AA.ProtocolNotificationType(t.method)})(e2e||(Kd.WorkDoneProgressCancelNotification=e2e={}))});var a2e=Jt(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});Qd.CallHierarchyOutgoingCallsRequest=Qd.CallHierarchyIncomingCallsRequest=Qd.CallHierarchyPrepareRequest=void 0;var hv=hi(),r2e;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=hv.MessageDirection.clientToServer,t.type=new hv.ProtocolRequestType(t.method)})(r2e||(Qd.CallHierarchyPrepareRequest=r2e={}));var n2e;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=hv.MessageDirection.clientToServer,t.type=new hv.ProtocolRequestType(t.method)})(n2e||(Qd.CallHierarchyIncomingCallsRequest=n2e={}));var i2e;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=hv.MessageDirection.clientToServer,t.type=new hv.ProtocolRequestType(t.method)})(i2e||(Qd.CallHierarchyOutgoingCallsRequest=i2e={}))});var h2e=Jt(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.SemanticTokensRefreshRequest=wo.SemanticTokensRangeRequest=wo.SemanticTokensDeltaRequest=wo.SemanticTokensRequest=wo.SemanticTokensRegistrationType=wo.TokenFormat=void 0;var Xh=hi(),s2e;(function(t){t.Relative="relative"})(s2e||(wo.TokenFormat=s2e={}));var DT;(function(t){t.method="textDocument/semanticTokens",t.type=new Xh.RegistrationType(t.method)})(DT||(wo.SemanticTokensRegistrationType=DT={}));var o2e;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=Xh.MessageDirection.clientToServer,t.type=new Xh.ProtocolRequestType(t.method),t.registrationMethod=DT.method})(o2e||(wo.SemanticTokensRequest=o2e={}));var l2e;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=Xh.MessageDirection.clientToServer,t.type=new Xh.ProtocolRequestType(t.method),t.registrationMethod=DT.method})(l2e||(wo.SemanticTokensDeltaRequest=l2e={}));var c2e;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=Xh.MessageDirection.clientToServer,t.type=new Xh.ProtocolRequestType(t.method),t.registrationMethod=DT.method})(c2e||(wo.SemanticTokensRangeRequest=c2e={}));var u2e;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=Xh.MessageDirection.serverToClient,t.type=new Xh.ProtocolRequestType0(t.method)})(u2e||(wo.SemanticTokensRefreshRequest=u2e={}))});var p2e=Jt(_A=>{"use strict";Object.defineProperty(_A,"__esModule",{value:!0});_A.ShowDocumentRequest=void 0;var f2e=hi(),d2e;(function(t){t.method="window/showDocument",t.messageDirection=f2e.MessageDirection.serverToClient,t.type=new f2e.ProtocolRequestType(t.method)})(d2e||(_A.ShowDocumentRequest=d2e={}))});var y2e=Jt(DA=>{"use strict";Object.defineProperty(DA,"__esModule",{value:!0});DA.LinkedEditingRangeRequest=void 0;var m2e=hi(),g2e;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=m2e.MessageDirection.clientToServer,t.type=new m2e.ProtocolRequestType(t.method)})(g2e||(DA.LinkedEditingRangeRequest=g2e={}))});var E2e=Jt(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.WillDeleteFilesRequest=fs.DidDeleteFilesNotification=fs.DidRenameFilesNotification=fs.WillRenameFilesRequest=fs.DidCreateFilesNotification=fs.WillCreateFilesRequest=fs.FileOperationPatternKind=void 0;var Il=hi(),v2e;(function(t){t.file="file",t.folder="folder"})(v2e||(fs.FileOperationPatternKind=v2e={}));var x2e;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolRequestType(t.method)})(x2e||(fs.WillCreateFilesRequest=x2e={}));var b2e;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolNotificationType(t.method)})(b2e||(fs.DidCreateFilesNotification=b2e={}));var T2e;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolRequestType(t.method)})(T2e||(fs.WillRenameFilesRequest=T2e={}));var w2e;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolNotificationType(t.method)})(w2e||(fs.DidRenameFilesNotification=w2e={}));var k2e;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolNotificationType(t.method)})(k2e||(fs.DidDeleteFilesNotification=k2e={}));var S2e;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Il.MessageDirection.clientToServer,t.type=new Il.ProtocolRequestType(t.method)})(S2e||(fs.WillDeleteFilesRequest=S2e={}))});var R2e=Jt(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.MonikerRequest=Zd.MonikerKind=Zd.UniquenessLevel=void 0;var C2e=hi(),A2e;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(A2e||(Zd.UniquenessLevel=A2e={}));var _2e;(function(t){t.$import="import",t.$export="export",t.local="local"})(_2e||(Zd.MonikerKind=_2e={}));var D2e;(function(t){t.method="textDocument/moniker",t.messageDirection=C2e.MessageDirection.clientToServer,t.type=new C2e.ProtocolRequestType(t.method)})(D2e||(Zd.MonikerRequest=D2e={}))});var I2e=Jt(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.TypeHierarchySubtypesRequest=Jd.TypeHierarchySupertypesRequest=Jd.TypeHierarchyPrepareRequest=void 0;var fv=hi(),L2e;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=fv.MessageDirection.clientToServer,t.type=new fv.ProtocolRequestType(t.method)})(L2e||(Jd.TypeHierarchyPrepareRequest=L2e={}));var N2e;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=fv.MessageDirection.clientToServer,t.type=new fv.ProtocolRequestType(t.method)})(N2e||(Jd.TypeHierarchySupertypesRequest=N2e={}));var M2e;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=fv.MessageDirection.clientToServer,t.type=new fv.ProtocolRequestType(t.method)})(M2e||(Jd.TypeHierarchySubtypesRequest=M2e={}))});var B2e=Jt(dv=>{"use strict";Object.defineProperty(dv,"__esModule",{value:!0});dv.InlineValueRefreshRequest=dv.InlineValueRequest=void 0;var RA=hi(),O2e;(function(t){t.method="textDocument/inlineValue",t.messageDirection=RA.MessageDirection.clientToServer,t.type=new RA.ProtocolRequestType(t.method)})(O2e||(dv.InlineValueRequest=O2e={}));var P2e;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=RA.MessageDirection.serverToClient,t.type=new RA.ProtocolRequestType0(t.method)})(P2e||(dv.InlineValueRefreshRequest=P2e={}))});var G2e=Jt(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.InlayHintRefreshRequest=ep.InlayHintResolveRequest=ep.InlayHintRequest=void 0;var pv=hi(),F2e;(function(t){t.method="textDocument/inlayHint",t.messageDirection=pv.MessageDirection.clientToServer,t.type=new pv.ProtocolRequestType(t.method)})(F2e||(ep.InlayHintRequest=F2e={}));var $2e;(function(t){t.method="inlayHint/resolve",t.messageDirection=pv.MessageDirection.clientToServer,t.type=new pv.ProtocolRequestType(t.method)})($2e||(ep.InlayHintResolveRequest=$2e={}));var z2e;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=pv.MessageDirection.serverToClient,t.type=new pv.ProtocolRequestType0(t.method)})(z2e||(ep.InlayHintRefreshRequest=z2e={}))});var j2e=Jt(Ol=>{"use strict";Object.defineProperty(Ol,"__esModule",{value:!0});Ol.DiagnosticRefreshRequest=Ol.WorkspaceDiagnosticRequest=Ol.DocumentDiagnosticRequest=Ol.DocumentDiagnosticReportKind=Ol.DiagnosticServerCancellationData=void 0;var Y2e=Dm(),Yrt=vA(),mv=hi(),V2e;(function(t){function e(r){let n=r;return n&&Yrt.boolean(n.retriggerRequest)}o(e,"is"),t.is=e})(V2e||(Ol.DiagnosticServerCancellationData=V2e={}));var q2e;(function(t){t.Full="full",t.Unchanged="unchanged"})(q2e||(Ol.DocumentDiagnosticReportKind=q2e={}));var U2e;(function(t){t.method="textDocument/diagnostic",t.messageDirection=mv.MessageDirection.clientToServer,t.type=new mv.ProtocolRequestType(t.method),t.partialResult=new Y2e.ProgressType})(U2e||(Ol.DocumentDiagnosticRequest=U2e={}));var W2e;(function(t){t.method="workspace/diagnostic",t.messageDirection=mv.MessageDirection.clientToServer,t.type=new mv.ProtocolRequestType(t.method),t.partialResult=new Y2e.ProgressType})(W2e||(Ol.WorkspaceDiagnosticRequest=W2e={}));var H2e;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=mv.MessageDirection.serverToClient,t.type=new mv.ProtocolRequestType0(t.method)})(H2e||(Ol.DiagnosticRefreshRequest=H2e={}))});var txe=Jt(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.DidCloseNotebookDocumentNotification=Di.DidSaveNotebookDocumentNotification=Di.DidChangeNotebookDocumentNotification=Di.NotebookCellArrayChange=Di.DidOpenNotebookDocumentNotification=Di.NotebookDocumentSyncRegistrationType=Di.NotebookDocument=Di.NotebookCell=Di.ExecutionSummary=Di.NotebookCellKind=void 0;var RT=(Uy(),D3(B6)),Cc=vA(),Pu=hi(),zG;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(zG||(Di.NotebookCellKind=zG={}));var GG;(function(t){function e(i,a){let s={executionOrder:i};return(a===!0||a===!1)&&(s.success=a),s}o(e,"create"),t.create=e;function r(i){let a=i;return Cc.objectLiteral(a)&&RT.uinteger.is(a.executionOrder)&&(a.success===void 0||Cc.boolean(a.success))}o(r,"is"),t.is=r;function n(i,a){return i===a?!0:i==null||a===null||a===void 0?!1:i.executionOrder===a.executionOrder&&i.success===a.success}o(n,"equals"),t.equals=n})(GG||(Di.ExecutionSummary=GG={}));var LA;(function(t){function e(a,s){return{kind:a,document:s}}o(e,"create"),t.create=e;function r(a){let s=a;return Cc.objectLiteral(s)&&zG.is(s.kind)&&RT.DocumentUri.is(s.document)&&(s.metadata===void 0||Cc.objectLiteral(s.metadata))}o(r,"is"),t.is=r;function n(a,s){let l=new Set;return a.document!==s.document&&l.add("document"),a.kind!==s.kind&&l.add("kind"),a.executionSummary!==s.executionSummary&&l.add("executionSummary"),(a.metadata!==void 0||s.metadata!==void 0)&&!i(a.metadata,s.metadata)&&l.add("metadata"),(a.executionSummary!==void 0||s.executionSummary!==void 0)&&!GG.equals(a.executionSummary,s.executionSummary)&&l.add("executionSummary"),l}o(n,"diff"),t.diff=n;function i(a,s){if(a===s)return!0;if(a==null||s===null||s===void 0||typeof a!=typeof s||typeof a!="object")return!1;let l=Array.isArray(a),u=Array.isArray(s);if(l!==u)return!1;if(l&&u){if(a.length!==s.length)return!1;for(let h=0;h{"use strict";Object.defineProperty(NA,"__esModule",{value:!0});NA.InlineCompletionRequest=void 0;var rxe=hi(),nxe;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=rxe.MessageDirection.clientToServer,t.type=new rxe.ProtocolRequestType(t.method)})(nxe||(NA.InlineCompletionRequest=nxe={}))});var ybe=Jt(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.WorkspaceSymbolRequest=ke.CodeActionResolveRequest=ke.CodeActionRequest=ke.DocumentSymbolRequest=ke.DocumentHighlightRequest=ke.ReferencesRequest=ke.DefinitionRequest=ke.SignatureHelpRequest=ke.SignatureHelpTriggerKind=ke.HoverRequest=ke.CompletionResolveRequest=ke.CompletionRequest=ke.CompletionTriggerKind=ke.PublishDiagnosticsNotification=ke.WatchKind=ke.RelativePattern=ke.FileChangeType=ke.DidChangeWatchedFilesNotification=ke.WillSaveTextDocumentWaitUntilRequest=ke.WillSaveTextDocumentNotification=ke.TextDocumentSaveReason=ke.DidSaveTextDocumentNotification=ke.DidCloseTextDocumentNotification=ke.DidChangeTextDocumentNotification=ke.TextDocumentContentChangeEvent=ke.DidOpenTextDocumentNotification=ke.TextDocumentSyncKind=ke.TelemetryEventNotification=ke.LogMessageNotification=ke.ShowMessageRequest=ke.ShowMessageNotification=ke.MessageType=ke.DidChangeConfigurationNotification=ke.ExitNotification=ke.ShutdownRequest=ke.InitializedNotification=ke.InitializeErrorCodes=ke.InitializeRequest=ke.WorkDoneProgressOptions=ke.TextDocumentRegistrationOptions=ke.StaticRegistrationOptions=ke.PositionEncodingKind=ke.FailureHandlingKind=ke.ResourceOperationKind=ke.UnregistrationRequest=ke.RegistrationRequest=ke.DocumentSelector=ke.NotebookCellTextDocumentFilter=ke.NotebookDocumentFilter=ke.TextDocumentFilter=void 0;ke.MonikerRequest=ke.MonikerKind=ke.UniquenessLevel=ke.WillDeleteFilesRequest=ke.DidDeleteFilesNotification=ke.WillRenameFilesRequest=ke.DidRenameFilesNotification=ke.WillCreateFilesRequest=ke.DidCreateFilesNotification=ke.FileOperationPatternKind=ke.LinkedEditingRangeRequest=ke.ShowDocumentRequest=ke.SemanticTokensRegistrationType=ke.SemanticTokensRefreshRequest=ke.SemanticTokensRangeRequest=ke.SemanticTokensDeltaRequest=ke.SemanticTokensRequest=ke.TokenFormat=ke.CallHierarchyPrepareRequest=ke.CallHierarchyOutgoingCallsRequest=ke.CallHierarchyIncomingCallsRequest=ke.WorkDoneProgressCancelNotification=ke.WorkDoneProgressCreateRequest=ke.WorkDoneProgress=ke.SelectionRangeRequest=ke.DeclarationRequest=ke.FoldingRangeRefreshRequest=ke.FoldingRangeRequest=ke.ColorPresentationRequest=ke.DocumentColorRequest=ke.ConfigurationRequest=ke.DidChangeWorkspaceFoldersNotification=ke.WorkspaceFoldersRequest=ke.TypeDefinitionRequest=ke.ImplementationRequest=ke.ApplyWorkspaceEditRequest=ke.ExecuteCommandRequest=ke.PrepareRenameRequest=ke.RenameRequest=ke.PrepareSupportDefaultBehavior=ke.DocumentOnTypeFormattingRequest=ke.DocumentRangesFormattingRequest=ke.DocumentRangeFormattingRequest=ke.DocumentFormattingRequest=ke.DocumentLinkResolveRequest=ke.DocumentLinkRequest=ke.CodeLensRefreshRequest=ke.CodeLensResolveRequest=ke.CodeLensRequest=ke.WorkspaceSymbolResolveRequest=void 0;ke.InlineCompletionRequest=ke.DidCloseNotebookDocumentNotification=ke.DidSaveNotebookDocumentNotification=ke.DidChangeNotebookDocumentNotification=ke.NotebookCellArrayChange=ke.DidOpenNotebookDocumentNotification=ke.NotebookDocumentSyncRegistrationType=ke.NotebookDocument=ke.NotebookCell=ke.ExecutionSummary=ke.NotebookCellKind=ke.DiagnosticRefreshRequest=ke.WorkspaceDiagnosticRequest=ke.DocumentDiagnosticRequest=ke.DocumentDiagnosticReportKind=ke.DiagnosticServerCancellationData=ke.InlayHintRefreshRequest=ke.InlayHintResolveRequest=ke.InlayHintRequest=ke.InlineValueRefreshRequest=ke.InlineValueRequest=ke.TypeHierarchySupertypesRequest=ke.TypeHierarchySubtypesRequest=ke.TypeHierarchyPrepareRequest=void 0;var Et=hi(),axe=(Uy(),D3(B6)),Sa=vA(),jrt=Rve();Object.defineProperty(ke,"ImplementationRequest",{enumerable:!0,get:o(function(){return jrt.ImplementationRequest},"get")});var Xrt=Mve();Object.defineProperty(ke,"TypeDefinitionRequest",{enumerable:!0,get:o(function(){return Xrt.TypeDefinitionRequest},"get")});var dbe=Pve();Object.defineProperty(ke,"WorkspaceFoldersRequest",{enumerable:!0,get:o(function(){return dbe.WorkspaceFoldersRequest},"get")});Object.defineProperty(ke,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:o(function(){return dbe.DidChangeWorkspaceFoldersNotification},"get")});var Krt=$ve();Object.defineProperty(ke,"ConfigurationRequest",{enumerable:!0,get:o(function(){return Krt.ConfigurationRequest},"get")});var pbe=Vve();Object.defineProperty(ke,"DocumentColorRequest",{enumerable:!0,get:o(function(){return pbe.DocumentColorRequest},"get")});Object.defineProperty(ke,"ColorPresentationRequest",{enumerable:!0,get:o(function(){return pbe.ColorPresentationRequest},"get")});var mbe=Wve();Object.defineProperty(ke,"FoldingRangeRequest",{enumerable:!0,get:o(function(){return mbe.FoldingRangeRequest},"get")});Object.defineProperty(ke,"FoldingRangeRefreshRequest",{enumerable:!0,get:o(function(){return mbe.FoldingRangeRefreshRequest},"get")});var Qrt=jve();Object.defineProperty(ke,"DeclarationRequest",{enumerable:!0,get:o(function(){return Qrt.DeclarationRequest},"get")});var Zrt=Qve();Object.defineProperty(ke,"SelectionRangeRequest",{enumerable:!0,get:o(function(){return Zrt.SelectionRangeRequest},"get")});var HG=t2e();Object.defineProperty(ke,"WorkDoneProgress",{enumerable:!0,get:o(function(){return HG.WorkDoneProgress},"get")});Object.defineProperty(ke,"WorkDoneProgressCreateRequest",{enumerable:!0,get:o(function(){return HG.WorkDoneProgressCreateRequest},"get")});Object.defineProperty(ke,"WorkDoneProgressCancelNotification",{enumerable:!0,get:o(function(){return HG.WorkDoneProgressCancelNotification},"get")});var YG=a2e();Object.defineProperty(ke,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:o(function(){return YG.CallHierarchyIncomingCallsRequest},"get")});Object.defineProperty(ke,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:o(function(){return YG.CallHierarchyOutgoingCallsRequest},"get")});Object.defineProperty(ke,"CallHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return YG.CallHierarchyPrepareRequest},"get")});var yv=h2e();Object.defineProperty(ke,"TokenFormat",{enumerable:!0,get:o(function(){return yv.TokenFormat},"get")});Object.defineProperty(ke,"SemanticTokensRequest",{enumerable:!0,get:o(function(){return yv.SemanticTokensRequest},"get")});Object.defineProperty(ke,"SemanticTokensDeltaRequest",{enumerable:!0,get:o(function(){return yv.SemanticTokensDeltaRequest},"get")});Object.defineProperty(ke,"SemanticTokensRangeRequest",{enumerable:!0,get:o(function(){return yv.SemanticTokensRangeRequest},"get")});Object.defineProperty(ke,"SemanticTokensRefreshRequest",{enumerable:!0,get:o(function(){return yv.SemanticTokensRefreshRequest},"get")});Object.defineProperty(ke,"SemanticTokensRegistrationType",{enumerable:!0,get:o(function(){return yv.SemanticTokensRegistrationType},"get")});var Jrt=p2e();Object.defineProperty(ke,"ShowDocumentRequest",{enumerable:!0,get:o(function(){return Jrt.ShowDocumentRequest},"get")});var ent=y2e();Object.defineProperty(ke,"LinkedEditingRangeRequest",{enumerable:!0,get:o(function(){return ent.LinkedEditingRangeRequest},"get")});var Rm=E2e();Object.defineProperty(ke,"FileOperationPatternKind",{enumerable:!0,get:o(function(){return Rm.FileOperationPatternKind},"get")});Object.defineProperty(ke,"DidCreateFilesNotification",{enumerable:!0,get:o(function(){return Rm.DidCreateFilesNotification},"get")});Object.defineProperty(ke,"WillCreateFilesRequest",{enumerable:!0,get:o(function(){return Rm.WillCreateFilesRequest},"get")});Object.defineProperty(ke,"DidRenameFilesNotification",{enumerable:!0,get:o(function(){return Rm.DidRenameFilesNotification},"get")});Object.defineProperty(ke,"WillRenameFilesRequest",{enumerable:!0,get:o(function(){return Rm.WillRenameFilesRequest},"get")});Object.defineProperty(ke,"DidDeleteFilesNotification",{enumerable:!0,get:o(function(){return Rm.DidDeleteFilesNotification},"get")});Object.defineProperty(ke,"WillDeleteFilesRequest",{enumerable:!0,get:o(function(){return Rm.WillDeleteFilesRequest},"get")});var jG=R2e();Object.defineProperty(ke,"UniquenessLevel",{enumerable:!0,get:o(function(){return jG.UniquenessLevel},"get")});Object.defineProperty(ke,"MonikerKind",{enumerable:!0,get:o(function(){return jG.MonikerKind},"get")});Object.defineProperty(ke,"MonikerRequest",{enumerable:!0,get:o(function(){return jG.MonikerRequest},"get")});var XG=I2e();Object.defineProperty(ke,"TypeHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return XG.TypeHierarchyPrepareRequest},"get")});Object.defineProperty(ke,"TypeHierarchySubtypesRequest",{enumerable:!0,get:o(function(){return XG.TypeHierarchySubtypesRequest},"get")});Object.defineProperty(ke,"TypeHierarchySupertypesRequest",{enumerable:!0,get:o(function(){return XG.TypeHierarchySupertypesRequest},"get")});var gbe=B2e();Object.defineProperty(ke,"InlineValueRequest",{enumerable:!0,get:o(function(){return gbe.InlineValueRequest},"get")});Object.defineProperty(ke,"InlineValueRefreshRequest",{enumerable:!0,get:o(function(){return gbe.InlineValueRefreshRequest},"get")});var KG=G2e();Object.defineProperty(ke,"InlayHintRequest",{enumerable:!0,get:o(function(){return KG.InlayHintRequest},"get")});Object.defineProperty(ke,"InlayHintResolveRequest",{enumerable:!0,get:o(function(){return KG.InlayHintResolveRequest},"get")});Object.defineProperty(ke,"InlayHintRefreshRequest",{enumerable:!0,get:o(function(){return KG.InlayHintRefreshRequest},"get")});var LT=j2e();Object.defineProperty(ke,"DiagnosticServerCancellationData",{enumerable:!0,get:o(function(){return LT.DiagnosticServerCancellationData},"get")});Object.defineProperty(ke,"DocumentDiagnosticReportKind",{enumerable:!0,get:o(function(){return LT.DocumentDiagnosticReportKind},"get")});Object.defineProperty(ke,"DocumentDiagnosticRequest",{enumerable:!0,get:o(function(){return LT.DocumentDiagnosticRequest},"get")});Object.defineProperty(ke,"WorkspaceDiagnosticRequest",{enumerable:!0,get:o(function(){return LT.WorkspaceDiagnosticRequest},"get")});Object.defineProperty(ke,"DiagnosticRefreshRequest",{enumerable:!0,get:o(function(){return LT.DiagnosticRefreshRequest},"get")});var Bu=txe();Object.defineProperty(ke,"NotebookCellKind",{enumerable:!0,get:o(function(){return Bu.NotebookCellKind},"get")});Object.defineProperty(ke,"ExecutionSummary",{enumerable:!0,get:o(function(){return Bu.ExecutionSummary},"get")});Object.defineProperty(ke,"NotebookCell",{enumerable:!0,get:o(function(){return Bu.NotebookCell},"get")});Object.defineProperty(ke,"NotebookDocument",{enumerable:!0,get:o(function(){return Bu.NotebookDocument},"get")});Object.defineProperty(ke,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:o(function(){return Bu.NotebookDocumentSyncRegistrationType},"get")});Object.defineProperty(ke,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Bu.DidOpenNotebookDocumentNotification},"get")});Object.defineProperty(ke,"NotebookCellArrayChange",{enumerable:!0,get:o(function(){return Bu.NotebookCellArrayChange},"get")});Object.defineProperty(ke,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Bu.DidChangeNotebookDocumentNotification},"get")});Object.defineProperty(ke,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Bu.DidSaveNotebookDocumentNotification},"get")});Object.defineProperty(ke,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Bu.DidCloseNotebookDocumentNotification},"get")});var tnt=ixe();Object.defineProperty(ke,"InlineCompletionRequest",{enumerable:!0,get:o(function(){return tnt.InlineCompletionRequest},"get")});var VG;(function(t){function e(r){let n=r;return Sa.string(n)||Sa.string(n.language)||Sa.string(n.scheme)||Sa.string(n.pattern)}o(e,"is"),t.is=e})(VG||(ke.TextDocumentFilter=VG={}));var qG;(function(t){function e(r){let n=r;return Sa.objectLiteral(n)&&(Sa.string(n.notebookType)||Sa.string(n.scheme)||Sa.string(n.pattern))}o(e,"is"),t.is=e})(qG||(ke.NotebookDocumentFilter=qG={}));var UG;(function(t){function e(r){let n=r;return Sa.objectLiteral(n)&&(Sa.string(n.notebook)||qG.is(n.notebook))&&(n.language===void 0||Sa.string(n.language))}o(e,"is"),t.is=e})(UG||(ke.NotebookCellTextDocumentFilter=UG={}));var WG;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Sa.string(n)&&!VG.is(n)&&!UG.is(n))return!1;return!0}o(e,"is"),t.is=e})(WG||(ke.DocumentSelector=WG={}));var sxe;(function(t){t.method="client/registerCapability",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(sxe||(ke.RegistrationRequest=sxe={}));var oxe;(function(t){t.method="client/unregisterCapability",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(oxe||(ke.UnregistrationRequest=oxe={}));var lxe;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(lxe||(ke.ResourceOperationKind=lxe={}));var cxe;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(cxe||(ke.FailureHandlingKind=cxe={}));var uxe;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(uxe||(ke.PositionEncodingKind=uxe={}));var hxe;(function(t){function e(r){let n=r;return n&&Sa.string(n.id)&&n.id.length>0}o(e,"hasId"),t.hasId=e})(hxe||(ke.StaticRegistrationOptions=hxe={}));var fxe;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||WG.is(n.documentSelector))}o(e,"is"),t.is=e})(fxe||(ke.TextDocumentRegistrationOptions=fxe={}));var dxe;(function(t){function e(n){let i=n;return Sa.objectLiteral(i)&&(i.workDoneProgress===void 0||Sa.boolean(i.workDoneProgress))}o(e,"is"),t.is=e;function r(n){let i=n;return i&&Sa.boolean(i.workDoneProgress)}o(r,"hasWorkDoneProgress"),t.hasWorkDoneProgress=r})(dxe||(ke.WorkDoneProgressOptions=dxe={}));var pxe;(function(t){t.method="initialize",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(pxe||(ke.InitializeRequest=pxe={}));var mxe;(function(t){t.unknownProtocolVersion=1})(mxe||(ke.InitializeErrorCodes=mxe={}));var gxe;(function(t){t.method="initialized",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(gxe||(ke.InitializedNotification=gxe={}));var yxe;(function(t){t.method="shutdown",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType0(t.method)})(yxe||(ke.ShutdownRequest=yxe={}));var vxe;(function(t){t.method="exit",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType0(t.method)})(vxe||(ke.ExitNotification=vxe={}));var xxe;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(xxe||(ke.DidChangeConfigurationNotification=xxe={}));var bxe;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(bxe||(ke.MessageType=bxe={}));var Txe;(function(t){t.method="window/showMessage",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(Txe||(ke.ShowMessageNotification=Txe={}));var wxe;(function(t){t.method="window/showMessageRequest",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(wxe||(ke.ShowMessageRequest=wxe={}));var kxe;(function(t){t.method="window/logMessage",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(kxe||(ke.LogMessageNotification=kxe={}));var Sxe;(function(t){t.method="telemetry/event",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(Sxe||(ke.TelemetryEventNotification=Sxe={}));var Exe;(function(t){t.None=0,t.Full=1,t.Incremental=2})(Exe||(ke.TextDocumentSyncKind=Exe={}));var Cxe;(function(t){t.method="textDocument/didOpen",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Cxe||(ke.DidOpenTextDocumentNotification=Cxe={}));var Axe;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}o(e,"isIncremental"),t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}o(r,"isFull"),t.isFull=r})(Axe||(ke.TextDocumentContentChangeEvent=Axe={}));var _xe;(function(t){t.method="textDocument/didChange",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(_xe||(ke.DidChangeTextDocumentNotification=_xe={}));var Dxe;(function(t){t.method="textDocument/didClose",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Dxe||(ke.DidCloseTextDocumentNotification=Dxe={}));var Rxe;(function(t){t.method="textDocument/didSave",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Rxe||(ke.DidSaveTextDocumentNotification=Rxe={}));var Lxe;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(Lxe||(ke.TextDocumentSaveReason=Lxe={}));var Nxe;(function(t){t.method="textDocument/willSave",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Nxe||(ke.WillSaveTextDocumentNotification=Nxe={}));var Mxe;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Mxe||(ke.WillSaveTextDocumentWaitUntilRequest=Mxe={}));var Ixe;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(Ixe||(ke.DidChangeWatchedFilesNotification=Ixe={}));var Oxe;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(Oxe||(ke.FileChangeType=Oxe={}));var Pxe;(function(t){function e(r){let n=r;return Sa.objectLiteral(n)&&(axe.URI.is(n.baseUri)||axe.WorkspaceFolder.is(n.baseUri))&&Sa.string(n.pattern)}o(e,"is"),t.is=e})(Pxe||(ke.RelativePattern=Pxe={}));var Bxe;(function(t){t.Create=1,t.Change=2,t.Delete=4})(Bxe||(ke.WatchKind=Bxe={}));var Fxe;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(Fxe||(ke.PublishDiagnosticsNotification=Fxe={}));var $xe;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})($xe||(ke.CompletionTriggerKind=$xe={}));var zxe;(function(t){t.method="textDocument/completion",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(zxe||(ke.CompletionRequest=zxe={}));var Gxe;(function(t){t.method="completionItem/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Gxe||(ke.CompletionResolveRequest=Gxe={}));var Vxe;(function(t){t.method="textDocument/hover",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Vxe||(ke.HoverRequest=Vxe={}));var qxe;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(qxe||(ke.SignatureHelpTriggerKind=qxe={}));var Uxe;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Uxe||(ke.SignatureHelpRequest=Uxe={}));var Wxe;(function(t){t.method="textDocument/definition",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Wxe||(ke.DefinitionRequest=Wxe={}));var Hxe;(function(t){t.method="textDocument/references",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Hxe||(ke.ReferencesRequest=Hxe={}));var Yxe;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Yxe||(ke.DocumentHighlightRequest=Yxe={}));var jxe;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(jxe||(ke.DocumentSymbolRequest=jxe={}));var Xxe;(function(t){t.method="textDocument/codeAction",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Xxe||(ke.CodeActionRequest=Xxe={}));var Kxe;(function(t){t.method="codeAction/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Kxe||(ke.CodeActionResolveRequest=Kxe={}));var Qxe;(function(t){t.method="workspace/symbol",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Qxe||(ke.WorkspaceSymbolRequest=Qxe={}));var Zxe;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Zxe||(ke.WorkspaceSymbolResolveRequest=Zxe={}));var Jxe;(function(t){t.method="textDocument/codeLens",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Jxe||(ke.CodeLensRequest=Jxe={}));var ebe;(function(t){t.method="codeLens/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(ebe||(ke.CodeLensResolveRequest=ebe={}));var tbe;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType0(t.method)})(tbe||(ke.CodeLensRefreshRequest=tbe={}));var rbe;(function(t){t.method="textDocument/documentLink",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(rbe||(ke.DocumentLinkRequest=rbe={}));var nbe;(function(t){t.method="documentLink/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(nbe||(ke.DocumentLinkResolveRequest=nbe={}));var ibe;(function(t){t.method="textDocument/formatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(ibe||(ke.DocumentFormattingRequest=ibe={}));var abe;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(abe||(ke.DocumentRangeFormattingRequest=abe={}));var sbe;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(sbe||(ke.DocumentRangesFormattingRequest=sbe={}));var obe;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(obe||(ke.DocumentOnTypeFormattingRequest=obe={}));var lbe;(function(t){t.Identifier=1})(lbe||(ke.PrepareSupportDefaultBehavior=lbe={}));var cbe;(function(t){t.method="textDocument/rename",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(cbe||(ke.RenameRequest=cbe={}));var ube;(function(t){t.method="textDocument/prepareRename",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(ube||(ke.PrepareRenameRequest=ube={}));var hbe;(function(t){t.method="workspace/executeCommand",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(hbe||(ke.ExecuteCommandRequest=hbe={}));var fbe;(function(t){t.method="workspace/applyEdit",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType("workspace/applyEdit")})(fbe||(ke.ApplyWorkspaceEditRequest=fbe={}))});var xbe=Jt(MA=>{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});MA.createProtocolConnection=void 0;var vbe=Dm();function rnt(t,e,r,n){return vbe.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,vbe.createMessageConnection)(t,e,r,n)}o(rnt,"createProtocolConnection");MA.createProtocolConnection=rnt});var Tbe=Jt(ko=>{"use strict";var nnt=ko&&ko.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),IA=ko&&ko.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&nnt(e,t,r)};Object.defineProperty(ko,"__esModule",{value:!0});ko.LSPErrorCodes=ko.createProtocolConnection=void 0;IA(Dm(),ko);IA((Uy(),D3(B6)),ko);IA(hi(),ko);IA(ybe(),ko);var int=xbe();Object.defineProperty(ko,"createProtocolConnection",{enumerable:!0,get:o(function(){return int.createProtocolConnection},"get")});var bbe;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(bbe||(ko.LSPErrorCodes=bbe={}))});var kbe=Jt(Fu=>{"use strict";var ant=Fu&&Fu.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),wbe=Fu&&Fu.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ant(e,t,r)};Object.defineProperty(Fu,"__esModule",{value:!0});Fu.createProtocolConnection=void 0;var snt=IG();wbe(IG(),Fu);wbe(Tbe(),Fu);function ont(t,e,r,n){return(0,snt.createMessageConnection)(t,e,r,n)}o(ont,"createProtocolConnection");Fu.createProtocolConnection=ont});var tp,QG=I(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(tp||(tp={}))});var vv,NT,ZG=I(()=>{"use strict";vv=Aa(kbe(),1);Rl();QG();Hd();Nl();Ms();Sc();Jy();NT=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new us,this.documentPhaseListeners=new us,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Nr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Ar.CancellationToken.None){for(let i of e){let a=i.uri.toString();if(i.state===Nr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,Nr.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=Nr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=Nr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=Ar.CancellationToken.None){this.currentState=Nr.Changed;let i=[];for(let u of r){let h=this.langiumDocuments.deleteDocuments(u);for(let f of h)i.push(f.uri),this.cleanUpDeleted(f)}let a=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of a){let h=this.langiumDocuments.getDocument(u);h===void 0&&(h=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),h.state=Nr.Changed,this.langiumDocuments.addDocument(h)),this.resetToState(h,Nr.Changed)}let s=Or(a).concat(i).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!s.has(u.uri.toString())&&this.shouldRelink(u,s)).forEach(u=>this.resetToState(u,Nr.ComputedScopes)),await this.emitUpdate(a,i),await Ti(n);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return Or(s).filter(l=>!a.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),tp.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case Nr.Changed:case Nr.Parsed:this.indexManager.removeContent(e.uri);case Nr.IndexedContent:e.localSymbols=void 0;case Nr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Nr.Linked:this.indexManager.removeReferences(e.uri);case Nr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Nr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Nr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,Nr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,Nr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,Nr.ComputedScopes,n,async s=>{let l=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await l.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,Nr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,Nr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,Nr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),tp.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),tp.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=Ar.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Ll);if(this.currentState>=e&&e>i.state)return Promise.reject(new vv.ResponseError(vv.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${Nr[i.state]}, requiring ${Nr[e]}, but workspace state is already ${Nr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new vv.ResponseError(vv.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{let l=this.onDocumentPhase(e,h=>{Ii.equals(h.uri,r)&&(l.dispose(),u.dispose(),a(h.uri))}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(Ll)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Ll):new Promise((n,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(Ll)})})}async notifyDocumentPhase(e,r,n){let a=this.documentPhaseListeners.get(r).slice();for(let s of a)try{await Ti(n),await s(e,n)}catch(l){if(!Iu(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let a=this.buildPhaseListeners.get(r).slice();for(let s of a)await Ti(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=Or(l.result.validationChecks).concat(a.categories).distinct().toArray():l.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}});var MT,JG=I(()=>{"use strict";ls();Z6();Rl();Ms();Sc();MT=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Cm,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=os(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{Ii.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Or(i)}allElements(e,r){let n=Or(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=Ar.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=Ar.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var IT,eV=I(()=>{"use strict";Rl();Nl();Sc();Ms();IT=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new zs,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=Ar.CancellationToken.None){let n=await this.performStartup(e);await Ti(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=o(s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)},"collector");await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let a=Or(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ia.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Ii.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}});function PA(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function rV(t){return t&&"modes"in t&&"defaultMode"in t}function tV(t){return!PA(t)&&!rV(t)}var OT,OA,Lm,BA=I(()=>{"use strict";Vd();OT=class{static{o(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,a){return Sy.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return Sy.buildUnableToPopLexerModeMessage(e)}},OA={mode:"full"},Lm=class{static{o(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=tV(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new li(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=OA){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(tV(e))return e;let r=rV(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};o(PA,"isTokenTypeArray");o(rV,"isIMultiModeLexerDefinition");o(tV,"isTokenTypeDictionary")});function aV(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=nn.create(0,0));let a=Cbe(t),s=oV(n),l=cnt({lines:a,position:i,options:s});return pnt({index:0,tokens:l,position:i})}function sV(t,e){let r=oV(e),n=Cbe(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],s=r.start,l=r.end;return!!s?.exec(i)&&!!l?.exec(a)}function Cbe(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(QB)}function cnt(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i=l.length){if(e.length>0){let f=nn.create(r,n);e.push({type:"break",content:"",range:Yr.create(f,f)})}}else{Sbe.lastIndex=u;let f=Sbe.exec(l);if(f){let d=f[0],p=f[1],m=nn.create(r,n+u),g=nn.create(r,n+u+d.length);e.push({type:"tag",content:p,range:Yr.create(m,g)}),u+=d.length,u=iV(l,u)}if(u0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function unt(t,e,r,n){let i=[];if(t.length===0){let a=nn.create(r,n),s=nn.create(r,n+e.length);i.push({type:"text",content:e,range:Yr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:Yr.create(nn.create(r,a+n),nn.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:Yr.create(nn.create(r,a+f+n),nn.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:Yr.create(nn.create(r,a+f+n),nn.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:Yr.create(nn.create(r,a+f+n),nn.create(r,a+f+n))});a=u+l[0].length}let s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Yr.create(nn.create(r,a+n),nn.create(r,a+n+s.length))})}return i}function iV(t,e){let r=t.substring(e).match(hnt);return r?e+r.index:t.length}function dnt(t){let e=t.match(fnt);if(e&&typeof e.index=="number")return e.index}function pnt(t){let e=nn.create(t.position.line,t.position.character);if(t.tokens.length===0)return new FA([],Yr.create(e,e));let r=[];for(;t.index0){let s=iV(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??xnt(e,i)}}function xnt(t,e){try{return ia.parse(t,!0),`[${e}](${t})`}catch{return t}}function Ebe(t){return t.endsWith(` +`)),ae){let ce=j.error?` Request failed: ${j.error.message} (${j.error.code}).`:"";w.log(`Received response '${ae.method} - (${j.id})' in ${Date.now()-ae.timerStart}ms.${ce}`,U)}else w.log(`Received response ${j.id} without active response promise.`,U)}else _e("receive-response",j)}o(we,"traceReceivedResponse");function _e(j,ae){if(!w||T===vn.Off)return;let U={isLSPMessage:!0,type:j,message:ae,timestamp:Date.now()};w.log(U)}o(_e,"logLSPMessage");function $e(){if(F())throw new dv($4.Closed,"Connection is closed.");if(G())throw new dv($4.Disposed,"Connection is disposed.")}o($e,"throwIfClosedOrDisposed");function fe(){if(B())throw new dv($4.AlreadyListening,"Connection is already listening")}o(fe,"throwIfListening");function Ke(){if(!B())throw new Error("Call listen() first.")}o(Ke,"throwIfNotListening");function Te(j){return j===void 0?null:j}o(Te,"undefinedToNull");function Be(j){if(j!==null)return j}o(Be,"nullToUndefined");function Ue(j){return j!=null&&!Array.isArray(j)&&typeof j=="object"}o(Ue,"isNamedParam");function Ge(j,ae){switch(j){case br.ParameterStructures.auto:return Ue(ae)?Be(ae):[Te(ae)];case br.ParameterStructures.byName:if(!Ue(ae))throw new Error("Received parameters by name but param is not an object literal.");return Be(ae);case br.ParameterStructures.byPosition:return[Te(ae)];default:throw new Error(`Unknown parameter structure ${j.toString()}`)}}o(Ge,"computeSingleParam");function Ne(j,ae){let U,ce=j.numberOfParams;switch(ce){case 0:U=void 0;break;case 1:U=Ge(j.parameterStructures,ae[0]);break;default:U=[];for(let z=0;z{$e();let U,ce;if(Ai.string(j)){U=j;let ne=ae[0],se=0,be=br.ParameterStructures.auto;br.ParameterStructures.is(ne)&&(se=1,be=ne);let pe=ae.length,me=pe-se;switch(me){case 0:ce=void 0;break;case 1:ce=Ge(be,ae[se]);break;default:if(be===br.ParameterStructures.byName)throw new Error(`Received ${me} parameters for 'by Name' notification parameter structure.`);ce=ae.slice(se,pe).map(Re=>Te(Re));break}}else{let ne=ae;U=j.method,ce=Ne(j,ne)}let z={jsonrpc:u,method:U,params:ce};return de(z),e.write(z).catch(ne=>{throw i.error("Sending notification failed."),ne})},"sendNotification"),onNotification:o((j,ae)=>{$e();let U;return Ai.func(j)?d=j:ae&&(Ai.string(j)?(U=j,p.set(j,{type:void 0,handler:ae})):(U=j.method,p.set(j.method,{type:j,handler:ae}))),{dispose:o(()=>{U!==void 0?p.delete(U):d=void 0},"dispose")}},"onNotification"),onProgress:o((j,ae,U)=>{if(m.has(ae))throw new Error(`Progress handler for token ${ae} already registered`);return m.set(ae,U),{dispose:o(()=>{m.delete(ae)},"dispose")}},"onProgress"),sendProgress:o((j,ae,U)=>We.sendNotification(F4.type,{token:ae,value:U}),"sendProgress"),onUnhandledProgress:I.event,sendRequest:o((j,...ae)=>{$e(),Ke();let U,ce,z;if(Ai.string(j)){U=j;let pe=ae[0],me=ae[ae.length-1],Re=0,ge=br.ParameterStructures.auto;br.ParameterStructures.is(pe)&&(Re=1,ge=pe);let Ie=ae.length;IG.CancellationToken.is(me)&&(Ie=Ie-1,z=me);let qe=Ie-Re;switch(qe){case 0:ce=void 0;break;case 1:ce=Ge(ge,ae[Re]);break;default:if(ge===br.ParameterStructures.byName)throw new Error(`Received ${qe} parameters for 'by Name' request parameter structure.`);ce=ae.slice(Re,Ie).map(Pe=>Te(Pe));break}}else{let pe=ae;U=j.method,ce=Ne(j,pe);let me=j.numberOfParams;z=IG.CancellationToken.is(pe[me])?pe[me]:void 0}let ne=a++,se;z&&(se=z.onCancellationRequested(()=>{let pe=C.sender.sendCancellation(We,ne);return pe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${ne}`),Promise.resolve()):pe.catch(()=>{i.log(`Sending cancellation messages for id ${ne} failed`)})}));let be={jsonrpc:u,id:ne,method:U,params:ce};return xe(be),typeof C.sender.enableCancellation=="function"&&C.sender.enableCancellation(be),new Promise(async(pe,me)=>{let Re=o(qe=>{pe(qe),C.sender.cleanup(ne),se?.dispose()},"resolveWithCleanup"),ge=o(qe=>{me(qe),C.sender.cleanup(ne),se?.dispose()},"rejectWithCleanup"),Ie={method:U,timerStart:Date.now(),resolve:Re,reject:ge};try{await e.write(be),v.set(ne,Ie)}catch(qe){throw i.error("Sending request failed."),Ie.reject(new br.ResponseError(br.ErrorCodes.MessageWriteError,qe.message?qe.message:"Unknown reason")),qe}})},"sendRequest"),onRequest:o((j,ae)=>{$e();let U=null;return BG.is(j)?(U=void 0,h=j):Ai.string(j)?(U=null,ae!==void 0&&(U=j,f.set(j,{handler:ae,type:void 0}))):ae!==void 0&&(U=j.method,f.set(j.method,{type:j,handler:ae})),{dispose:o(()=>{U!==null&&(U!==void 0?f.delete(U):h=void 0)},"dispose")}},"onRequest"),hasPendingResponse:o(()=>v.size>0,"hasPendingResponse"),trace:o(async(j,ae,U)=>{let ce=!1,z=rl.Text;U!==void 0&&(Ai.boolean(U)?ce=U:(ce=U.sendNotification||!1,z=U.traceFormat||rl.Text)),T=j,E=z,T===vn.Off?w=void 0:w=ae,ce&&!F()&&!G()&&await We.sendNotification(FG.type,{value:vn.toString(j)})},"trace"),onError:S.event,onClose:A.event,onUnhandledNotification:L.event,onDispose:N.event,end:o(()=>{e.end()},"end"),dispose:o(()=>{if(G())return;k=Mc.Disposed,N.fire(void 0);let j=new br.ResponseError(br.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let ae of v.values())ae.reject(j);v=new Map,b=new Map,x=new Set,y=new Jve.LinkedMap,Ai.func(e.dispose)&&e.dispose(),Ai.func(t.dispose)&&t.dispose()},"dispose"),listen:o(()=>{$e(),fe(),k=Mc.Listening,t.listen(Y)},"listen"),inspect:o(()=>{(0,Zve.default)().console.log("inspect")},"inspect")};return We.onNotification(kA.type,j=>{if(T===vn.Off||!w)return;let ae=T===vn.Verbose||T===vn.Compact;w.log(j.message,ae?j.verbose:void 0)}),We.onNotification(F4.type,j=>{let ae=m.get(j.token);ae?ae(j.value):I.fire(j)}),We}o(pit,"createMessageConnection");Rr.createMessageConnection=pit});var DA=nr(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.ProgressType=tt.ProgressToken=tt.createMessageConnection=tt.NullLogger=tt.ConnectionOptions=tt.ConnectionStrategy=tt.AbstractMessageBuffer=tt.WriteableStreamMessageWriter=tt.AbstractMessageWriter=tt.MessageWriter=tt.ReadableStreamMessageReader=tt.AbstractMessageReader=tt.MessageReader=tt.SharedArrayReceiverStrategy=tt.SharedArraySenderStrategy=tt.CancellationToken=tt.CancellationTokenSource=tt.Emitter=tt.Event=tt.Disposable=tt.LRUCache=tt.Touch=tt.LinkedMap=tt.ParameterStructures=tt.NotificationType9=tt.NotificationType8=tt.NotificationType7=tt.NotificationType6=tt.NotificationType5=tt.NotificationType4=tt.NotificationType3=tt.NotificationType2=tt.NotificationType1=tt.NotificationType0=tt.NotificationType=tt.ErrorCodes=tt.ResponseError=tt.RequestType9=tt.RequestType8=tt.RequestType7=tt.RequestType6=tt.RequestType5=tt.RequestType4=tt.RequestType3=tt.RequestType2=tt.RequestType1=tt.RequestType0=tt.RequestType=tt.Message=tt.RAL=void 0;tt.MessageStrategy=tt.CancellationStrategy=tt.CancellationSenderStrategy=tt.CancellationReceiverStrategy=tt.ConnectionError=tt.ConnectionErrors=tt.LogTraceNotification=tt.SetTraceNotification=tt.TraceFormat=tt.TraceValues=tt.Trace=void 0;var Kn=vG();Object.defineProperty(tt,"Message",{enumerable:!0,get:o(function(){return Kn.Message},"get")});Object.defineProperty(tt,"RequestType",{enumerable:!0,get:o(function(){return Kn.RequestType},"get")});Object.defineProperty(tt,"RequestType0",{enumerable:!0,get:o(function(){return Kn.RequestType0},"get")});Object.defineProperty(tt,"RequestType1",{enumerable:!0,get:o(function(){return Kn.RequestType1},"get")});Object.defineProperty(tt,"RequestType2",{enumerable:!0,get:o(function(){return Kn.RequestType2},"get")});Object.defineProperty(tt,"RequestType3",{enumerable:!0,get:o(function(){return Kn.RequestType3},"get")});Object.defineProperty(tt,"RequestType4",{enumerable:!0,get:o(function(){return Kn.RequestType4},"get")});Object.defineProperty(tt,"RequestType5",{enumerable:!0,get:o(function(){return Kn.RequestType5},"get")});Object.defineProperty(tt,"RequestType6",{enumerable:!0,get:o(function(){return Kn.RequestType6},"get")});Object.defineProperty(tt,"RequestType7",{enumerable:!0,get:o(function(){return Kn.RequestType7},"get")});Object.defineProperty(tt,"RequestType8",{enumerable:!0,get:o(function(){return Kn.RequestType8},"get")});Object.defineProperty(tt,"RequestType9",{enumerable:!0,get:o(function(){return Kn.RequestType9},"get")});Object.defineProperty(tt,"ResponseError",{enumerable:!0,get:o(function(){return Kn.ResponseError},"get")});Object.defineProperty(tt,"ErrorCodes",{enumerable:!0,get:o(function(){return Kn.ErrorCodes},"get")});Object.defineProperty(tt,"NotificationType",{enumerable:!0,get:o(function(){return Kn.NotificationType},"get")});Object.defineProperty(tt,"NotificationType0",{enumerable:!0,get:o(function(){return Kn.NotificationType0},"get")});Object.defineProperty(tt,"NotificationType1",{enumerable:!0,get:o(function(){return Kn.NotificationType1},"get")});Object.defineProperty(tt,"NotificationType2",{enumerable:!0,get:o(function(){return Kn.NotificationType2},"get")});Object.defineProperty(tt,"NotificationType3",{enumerable:!0,get:o(function(){return Kn.NotificationType3},"get")});Object.defineProperty(tt,"NotificationType4",{enumerable:!0,get:o(function(){return Kn.NotificationType4},"get")});Object.defineProperty(tt,"NotificationType5",{enumerable:!0,get:o(function(){return Kn.NotificationType5},"get")});Object.defineProperty(tt,"NotificationType6",{enumerable:!0,get:o(function(){return Kn.NotificationType6},"get")});Object.defineProperty(tt,"NotificationType7",{enumerable:!0,get:o(function(){return Kn.NotificationType7},"get")});Object.defineProperty(tt,"NotificationType8",{enumerable:!0,get:o(function(){return Kn.NotificationType8},"get")});Object.defineProperty(tt,"NotificationType9",{enumerable:!0,get:o(function(){return Kn.NotificationType9},"get")});Object.defineProperty(tt,"ParameterStructures",{enumerable:!0,get:o(function(){return Kn.ParameterStructures},"get")});var GG=bG();Object.defineProperty(tt,"LinkedMap",{enumerable:!0,get:o(function(){return GG.LinkedMap},"get")});Object.defineProperty(tt,"LRUCache",{enumerable:!0,get:o(function(){return GG.LRUCache},"get")});Object.defineProperty(tt,"Touch",{enumerable:!0,get:o(function(){return GG.Touch},"get")});var mit=Vve();Object.defineProperty(tt,"Disposable",{enumerable:!0,get:o(function(){return mit.Disposable},"get")});var n2e=Cm();Object.defineProperty(tt,"Event",{enumerable:!0,get:o(function(){return n2e.Event},"get")});Object.defineProperty(tt,"Emitter",{enumerable:!0,get:o(function(){return n2e.Emitter},"get")});var i2e=y4();Object.defineProperty(tt,"CancellationTokenSource",{enumerable:!0,get:o(function(){return i2e.CancellationTokenSource},"get")});Object.defineProperty(tt,"CancellationToken",{enumerable:!0,get:o(function(){return i2e.CancellationToken},"get")});var a2e=qve();Object.defineProperty(tt,"SharedArraySenderStrategy",{enumerable:!0,get:o(function(){return a2e.SharedArraySenderStrategy},"get")});Object.defineProperty(tt,"SharedArrayReceiverStrategy",{enumerable:!0,get:o(function(){return a2e.SharedArrayReceiverStrategy},"get")});var VG=Wve();Object.defineProperty(tt,"MessageReader",{enumerable:!0,get:o(function(){return VG.MessageReader},"get")});Object.defineProperty(tt,"AbstractMessageReader",{enumerable:!0,get:o(function(){return VG.AbstractMessageReader},"get")});Object.defineProperty(tt,"ReadableStreamMessageReader",{enumerable:!0,get:o(function(){return VG.ReadableStreamMessageReader},"get")});var qG=Kve();Object.defineProperty(tt,"MessageWriter",{enumerable:!0,get:o(function(){return qG.MessageWriter},"get")});Object.defineProperty(tt,"AbstractMessageWriter",{enumerable:!0,get:o(function(){return qG.AbstractMessageWriter},"get")});Object.defineProperty(tt,"WriteableStreamMessageWriter",{enumerable:!0,get:o(function(){return qG.WriteableStreamMessageWriter},"get")});var git=Qve();Object.defineProperty(tt,"AbstractMessageBuffer",{enumerable:!0,get:o(function(){return git.AbstractMessageBuffer},"get")});var Ha=r2e();Object.defineProperty(tt,"ConnectionStrategy",{enumerable:!0,get:o(function(){return Ha.ConnectionStrategy},"get")});Object.defineProperty(tt,"ConnectionOptions",{enumerable:!0,get:o(function(){return Ha.ConnectionOptions},"get")});Object.defineProperty(tt,"NullLogger",{enumerable:!0,get:o(function(){return Ha.NullLogger},"get")});Object.defineProperty(tt,"createMessageConnection",{enumerable:!0,get:o(function(){return Ha.createMessageConnection},"get")});Object.defineProperty(tt,"ProgressToken",{enumerable:!0,get:o(function(){return Ha.ProgressToken},"get")});Object.defineProperty(tt,"ProgressType",{enumerable:!0,get:o(function(){return Ha.ProgressType},"get")});Object.defineProperty(tt,"Trace",{enumerable:!0,get:o(function(){return Ha.Trace},"get")});Object.defineProperty(tt,"TraceValues",{enumerable:!0,get:o(function(){return Ha.TraceValues},"get")});Object.defineProperty(tt,"TraceFormat",{enumerable:!0,get:o(function(){return Ha.TraceFormat},"get")});Object.defineProperty(tt,"SetTraceNotification",{enumerable:!0,get:o(function(){return Ha.SetTraceNotification},"get")});Object.defineProperty(tt,"LogTraceNotification",{enumerable:!0,get:o(function(){return Ha.LogTraceNotification},"get")});Object.defineProperty(tt,"ConnectionErrors",{enumerable:!0,get:o(function(){return Ha.ConnectionErrors},"get")});Object.defineProperty(tt,"ConnectionError",{enumerable:!0,get:o(function(){return Ha.ConnectionError},"get")});Object.defineProperty(tt,"CancellationReceiverStrategy",{enumerable:!0,get:o(function(){return Ha.CancellationReceiverStrategy},"get")});Object.defineProperty(tt,"CancellationSenderStrategy",{enumerable:!0,get:o(function(){return Ha.CancellationSenderStrategy},"get")});Object.defineProperty(tt,"CancellationStrategy",{enumerable:!0,get:o(function(){return Ha.CancellationStrategy},"get")});Object.defineProperty(tt,"MessageStrategy",{enumerable:!0,get:o(function(){return Ha.MessageStrategy},"get")});var yit=Xd();tt.RAL=yit.default});var o2e=nr(YG=>{"use strict";Object.defineProperty(YG,"__esModule",{value:!0});var Vu=DA(),RA=class t extends Vu.AbstractMessageBuffer{static{o(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};RA.emptyBuffer=new Uint8Array(0);var UG=class{static{o(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new Vu.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Vu.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Vu.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Vu.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Vu.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},WG=class{static{o(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Vu.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Vu.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Vu.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},vit=new TextEncoder,s2e=Object.freeze({messageBuffer:Object.freeze({create:o(t=>new RA(t),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:o((t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(vit.encode(JSON.stringify(t,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:o((t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))},"decode")})}),stream:Object.freeze({asReadableStream:o(t=>new UG(t),"asReadableStream"),asWritableStream:o(t=>new WG(t),"asWritableStream")}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:o(()=>clearTimeout(n),"dispose")}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:o(()=>clearTimeout(r),"dispose")}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:o(()=>clearInterval(n),"dispose")}}})});function HG(){return s2e}o(HG,"RIL");(function(t){function e(){Vu.RAL.install(s2e)}o(e,"install"),t.install=e})(HG||(HG={}));YG.default=HG});var Nm=nr(nl=>{"use strict";var xit=nl&&nl.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),bit=nl&&nl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&xit(e,t,r)};Object.defineProperty(nl,"__esModule",{value:!0});nl.createMessageConnection=nl.BrowserMessageWriter=nl.BrowserMessageReader=void 0;var Tit=o2e();Tit.default.install();var pv=DA();bit(DA(),nl);var jG=class extends pv.AbstractMessageReader{static{o(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new pv.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};nl.BrowserMessageReader=jG;var XG=class extends pv.AbstractMessageWriter{static{o(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};nl.BrowserMessageWriter=XG;function wit(t,e,r,n){return r===void 0&&(r=pv.NullLogger),pv.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,pv.createMessageConnection)(t,e,r,n)}o(wit,"createMessageConnection");nl.createMessageConnection=wit});var KG=nr((tyr,l2e)=>{"use strict";l2e.exports=Nm()});var mi=nr(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.ProtocolNotificationType=Co.ProtocolNotificationType0=Co.ProtocolRequestType=Co.ProtocolRequestType0=Co.RegistrationType=Co.MessageDirection=void 0;var mv=Nm(),c2e;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(c2e||(Co.MessageDirection=c2e={}));var QG=class{static{o(this,"RegistrationType")}constructor(e){this.method=e}};Co.RegistrationType=QG;var ZG=class extends mv.RequestType0{static{o(this,"ProtocolRequestType0")}constructor(e){super(e)}};Co.ProtocolRequestType0=ZG;var JG=class extends mv.RequestType{static{o(this,"ProtocolRequestType")}constructor(e){super(e,mv.ParameterStructures.byName)}};Co.ProtocolRequestType=JG;var eV=class extends mv.NotificationType0{static{o(this,"ProtocolNotificationType0")}constructor(e){super(e)}};Co.ProtocolNotificationType0=eV;var tV=class extends mv.NotificationType{static{o(this,"ProtocolNotificationType")}constructor(e){super(e,mv.ParameterStructures.byName)}};Co.ProtocolNotificationType=tV});var LA=nr(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.objectLiteral=Yi.typedArray=Yi.stringArray=Yi.array=Yi.func=Yi.error=Yi.number=Yi.string=Yi.boolean=void 0;function kit(t){return t===!0||t===!1}o(kit,"boolean");Yi.boolean=kit;function u2e(t){return typeof t=="string"||t instanceof String}o(u2e,"string");Yi.string=u2e;function Eit(t){return typeof t=="number"||t instanceof Number}o(Eit,"number");Yi.number=Eit;function Sit(t){return t instanceof Error}o(Sit,"error");Yi.error=Sit;function Cit(t){return typeof t=="function"}o(Cit,"func");Yi.func=Cit;function h2e(t){return Array.isArray(t)}o(h2e,"array");Yi.array=h2e;function Ait(t){return h2e(t)&&t.every(e=>u2e(e))}o(Ait,"stringArray");Yi.stringArray=Ait;function _it(t,e){return Array.isArray(t)&&t.every(e)}o(_it,"typedArray");Yi.typedArray=_it;function Dit(t){return t!==null&&typeof t=="object"}o(Dit,"objectLiteral");Yi.objectLiteral=Dit});var p2e=nr(NA=>{"use strict";Object.defineProperty(NA,"__esModule",{value:!0});NA.ImplementationRequest=void 0;var f2e=mi(),d2e;(function(t){t.method="textDocument/implementation",t.messageDirection=f2e.MessageDirection.clientToServer,t.type=new f2e.ProtocolRequestType(t.method)})(d2e||(NA.ImplementationRequest=d2e={}))});var y2e=nr(MA=>{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});MA.TypeDefinitionRequest=void 0;var m2e=mi(),g2e;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=m2e.MessageDirection.clientToServer,t.type=new m2e.ProtocolRequestType(t.method)})(g2e||(MA.TypeDefinitionRequest=g2e={}))});var b2e=nr(gv=>{"use strict";Object.defineProperty(gv,"__esModule",{value:!0});gv.DidChangeWorkspaceFoldersNotification=gv.WorkspaceFoldersRequest=void 0;var IA=mi(),v2e;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=IA.MessageDirection.serverToClient,t.type=new IA.ProtocolRequestType0(t.method)})(v2e||(gv.WorkspaceFoldersRequest=v2e={}));var x2e;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=IA.MessageDirection.clientToServer,t.type=new IA.ProtocolNotificationType(t.method)})(x2e||(gv.DidChangeWorkspaceFoldersNotification=x2e={}))});var k2e=nr(OA=>{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.ConfigurationRequest=void 0;var T2e=mi(),w2e;(function(t){t.method="workspace/configuration",t.messageDirection=T2e.MessageDirection.serverToClient,t.type=new T2e.ProtocolRequestType(t.method)})(w2e||(OA.ConfigurationRequest=w2e={}))});var C2e=nr(yv=>{"use strict";Object.defineProperty(yv,"__esModule",{value:!0});yv.ColorPresentationRequest=yv.DocumentColorRequest=void 0;var PA=mi(),E2e;(function(t){t.method="textDocument/documentColor",t.messageDirection=PA.MessageDirection.clientToServer,t.type=new PA.ProtocolRequestType(t.method)})(E2e||(yv.DocumentColorRequest=E2e={}));var S2e;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=PA.MessageDirection.clientToServer,t.type=new PA.ProtocolRequestType(t.method)})(S2e||(yv.ColorPresentationRequest=S2e={}))});var D2e=nr(vv=>{"use strict";Object.defineProperty(vv,"__esModule",{value:!0});vv.FoldingRangeRefreshRequest=vv.FoldingRangeRequest=void 0;var BA=mi(),A2e;(function(t){t.method="textDocument/foldingRange",t.messageDirection=BA.MessageDirection.clientToServer,t.type=new BA.ProtocolRequestType(t.method)})(A2e||(vv.FoldingRangeRequest=A2e={}));var _2e;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=BA.MessageDirection.serverToClient,t.type=new BA.ProtocolRequestType0(t.method)})(_2e||(vv.FoldingRangeRefreshRequest=_2e={}))});var N2e=nr(FA=>{"use strict";Object.defineProperty(FA,"__esModule",{value:!0});FA.DeclarationRequest=void 0;var R2e=mi(),L2e;(function(t){t.method="textDocument/declaration",t.messageDirection=R2e.MessageDirection.clientToServer,t.type=new R2e.ProtocolRequestType(t.method)})(L2e||(FA.DeclarationRequest=L2e={}))});var O2e=nr($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.SelectionRangeRequest=void 0;var M2e=mi(),I2e;(function(t){t.method="textDocument/selectionRange",t.messageDirection=M2e.MessageDirection.clientToServer,t.type=new M2e.ProtocolRequestType(t.method)})(I2e||($A.SelectionRangeRequest=I2e={}))});var $2e=nr(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.WorkDoneProgressCancelNotification=ep.WorkDoneProgressCreateRequest=ep.WorkDoneProgress=void 0;var Rit=Nm(),zA=mi(),P2e;(function(t){t.type=new Rit.ProgressType;function e(r){return r===t.type}o(e,"is"),t.is=e})(P2e||(ep.WorkDoneProgress=P2e={}));var B2e;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=zA.MessageDirection.serverToClient,t.type=new zA.ProtocolRequestType(t.method)})(B2e||(ep.WorkDoneProgressCreateRequest=B2e={}));var F2e;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=zA.MessageDirection.clientToServer,t.type=new zA.ProtocolNotificationType(t.method)})(F2e||(ep.WorkDoneProgressCancelNotification=F2e={}))});var q2e=nr(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.CallHierarchyOutgoingCallsRequest=tp.CallHierarchyIncomingCallsRequest=tp.CallHierarchyPrepareRequest=void 0;var xv=mi(),z2e;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=xv.MessageDirection.clientToServer,t.type=new xv.ProtocolRequestType(t.method)})(z2e||(tp.CallHierarchyPrepareRequest=z2e={}));var G2e;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=xv.MessageDirection.clientToServer,t.type=new xv.ProtocolRequestType(t.method)})(G2e||(tp.CallHierarchyIncomingCallsRequest=G2e={}));var V2e;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=xv.MessageDirection.clientToServer,t.type=new xv.ProtocolRequestType(t.method)})(V2e||(tp.CallHierarchyOutgoingCallsRequest=V2e={}))});var X2e=nr(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.SemanticTokensRefreshRequest=Ao.SemanticTokensRangeRequest=Ao.SemanticTokensDeltaRequest=Ao.SemanticTokensRequest=Ao.SemanticTokensRegistrationType=Ao.TokenFormat=void 0;var tf=mi(),U2e;(function(t){t.Relative="relative"})(U2e||(Ao.TokenFormat=U2e={}));var G4;(function(t){t.method="textDocument/semanticTokens",t.type=new tf.RegistrationType(t.method)})(G4||(Ao.SemanticTokensRegistrationType=G4={}));var W2e;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=tf.MessageDirection.clientToServer,t.type=new tf.ProtocolRequestType(t.method),t.registrationMethod=G4.method})(W2e||(Ao.SemanticTokensRequest=W2e={}));var H2e;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=tf.MessageDirection.clientToServer,t.type=new tf.ProtocolRequestType(t.method),t.registrationMethod=G4.method})(H2e||(Ao.SemanticTokensDeltaRequest=H2e={}));var Y2e;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=tf.MessageDirection.clientToServer,t.type=new tf.ProtocolRequestType(t.method),t.registrationMethod=G4.method})(Y2e||(Ao.SemanticTokensRangeRequest=Y2e={}));var j2e;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=tf.MessageDirection.serverToClient,t.type=new tf.ProtocolRequestType0(t.method)})(j2e||(Ao.SemanticTokensRefreshRequest=j2e={}))});var Z2e=nr(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.ShowDocumentRequest=void 0;var K2e=mi(),Q2e;(function(t){t.method="window/showDocument",t.messageDirection=K2e.MessageDirection.serverToClient,t.type=new K2e.ProtocolRequestType(t.method)})(Q2e||(GA.ShowDocumentRequest=Q2e={}))});var txe=nr(VA=>{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.LinkedEditingRangeRequest=void 0;var J2e=mi(),exe;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=J2e.MessageDirection.clientToServer,t.type=new J2e.ProtocolRequestType(t.method)})(exe||(VA.LinkedEditingRangeRequest=exe={}))});var cxe=nr(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.WillDeleteFilesRequest=ps.DidDeleteFilesNotification=ps.DidRenameFilesNotification=ps.WillRenameFilesRequest=ps.DidCreateFilesNotification=ps.WillCreateFilesRequest=ps.FileOperationPatternKind=void 0;var Gl=mi(),rxe;(function(t){t.file="file",t.folder="folder"})(rxe||(ps.FileOperationPatternKind=rxe={}));var nxe;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolRequestType(t.method)})(nxe||(ps.WillCreateFilesRequest=nxe={}));var ixe;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolNotificationType(t.method)})(ixe||(ps.DidCreateFilesNotification=ixe={}));var axe;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolRequestType(t.method)})(axe||(ps.WillRenameFilesRequest=axe={}));var sxe;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolNotificationType(t.method)})(sxe||(ps.DidRenameFilesNotification=sxe={}));var oxe;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolNotificationType(t.method)})(oxe||(ps.DidDeleteFilesNotification=oxe={}));var lxe;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Gl.MessageDirection.clientToServer,t.type=new Gl.ProtocolRequestType(t.method)})(lxe||(ps.WillDeleteFilesRequest=lxe={}))});var pxe=nr(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});rp.MonikerRequest=rp.MonikerKind=rp.UniquenessLevel=void 0;var uxe=mi(),hxe;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(hxe||(rp.UniquenessLevel=hxe={}));var fxe;(function(t){t.$import="import",t.$export="export",t.local="local"})(fxe||(rp.MonikerKind=fxe={}));var dxe;(function(t){t.method="textDocument/moniker",t.messageDirection=uxe.MessageDirection.clientToServer,t.type=new uxe.ProtocolRequestType(t.method)})(dxe||(rp.MonikerRequest=dxe={}))});var vxe=nr(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.TypeHierarchySubtypesRequest=np.TypeHierarchySupertypesRequest=np.TypeHierarchyPrepareRequest=void 0;var bv=mi(),mxe;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=bv.MessageDirection.clientToServer,t.type=new bv.ProtocolRequestType(t.method)})(mxe||(np.TypeHierarchyPrepareRequest=mxe={}));var gxe;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=bv.MessageDirection.clientToServer,t.type=new bv.ProtocolRequestType(t.method)})(gxe||(np.TypeHierarchySupertypesRequest=gxe={}));var yxe;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=bv.MessageDirection.clientToServer,t.type=new bv.ProtocolRequestType(t.method)})(yxe||(np.TypeHierarchySubtypesRequest=yxe={}))});var Txe=nr(Tv=>{"use strict";Object.defineProperty(Tv,"__esModule",{value:!0});Tv.InlineValueRefreshRequest=Tv.InlineValueRequest=void 0;var qA=mi(),xxe;(function(t){t.method="textDocument/inlineValue",t.messageDirection=qA.MessageDirection.clientToServer,t.type=new qA.ProtocolRequestType(t.method)})(xxe||(Tv.InlineValueRequest=xxe={}));var bxe;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=qA.MessageDirection.serverToClient,t.type=new qA.ProtocolRequestType0(t.method)})(bxe||(Tv.InlineValueRefreshRequest=bxe={}))});var Sxe=nr(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.InlayHintRefreshRequest=ip.InlayHintResolveRequest=ip.InlayHintRequest=void 0;var wv=mi(),wxe;(function(t){t.method="textDocument/inlayHint",t.messageDirection=wv.MessageDirection.clientToServer,t.type=new wv.ProtocolRequestType(t.method)})(wxe||(ip.InlayHintRequest=wxe={}));var kxe;(function(t){t.method="inlayHint/resolve",t.messageDirection=wv.MessageDirection.clientToServer,t.type=new wv.ProtocolRequestType(t.method)})(kxe||(ip.InlayHintResolveRequest=kxe={}));var Exe;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=wv.MessageDirection.serverToClient,t.type=new wv.ProtocolRequestType0(t.method)})(Exe||(ip.InlayHintRefreshRequest=Exe={}))});var Nxe=nr(Vl=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});Vl.DiagnosticRefreshRequest=Vl.WorkspaceDiagnosticRequest=Vl.DocumentDiagnosticRequest=Vl.DocumentDiagnosticReportKind=Vl.DiagnosticServerCancellationData=void 0;var Lxe=Nm(),Lit=LA(),kv=mi(),Cxe;(function(t){function e(r){let n=r;return n&&Lit.boolean(n.retriggerRequest)}o(e,"is"),t.is=e})(Cxe||(Vl.DiagnosticServerCancellationData=Cxe={}));var Axe;(function(t){t.Full="full",t.Unchanged="unchanged"})(Axe||(Vl.DocumentDiagnosticReportKind=Axe={}));var _xe;(function(t){t.method="textDocument/diagnostic",t.messageDirection=kv.MessageDirection.clientToServer,t.type=new kv.ProtocolRequestType(t.method),t.partialResult=new Lxe.ProgressType})(_xe||(Vl.DocumentDiagnosticRequest=_xe={}));var Dxe;(function(t){t.method="workspace/diagnostic",t.messageDirection=kv.MessageDirection.clientToServer,t.type=new kv.ProtocolRequestType(t.method),t.partialResult=new Lxe.ProgressType})(Dxe||(Vl.WorkspaceDiagnosticRequest=Dxe={}));var Rxe;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=kv.MessageDirection.serverToClient,t.type=new kv.ProtocolRequestType0(t.method)})(Rxe||(Vl.DiagnosticRefreshRequest=Rxe={}))});var $xe=nr(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.DidCloseNotebookDocumentNotification=Mi.DidSaveNotebookDocumentNotification=Mi.DidChangeNotebookDocumentNotification=Mi.NotebookCellArrayChange=Mi.DidOpenNotebookDocumentNotification=Mi.NotebookDocumentSyncRegistrationType=Mi.NotebookDocument=Mi.NotebookCell=Mi.ExecutionSummary=Mi.NotebookCellKind=void 0;var V4=(Zy(),G3(K6)),Ic=LA(),qu=mi(),rV;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(rV||(Mi.NotebookCellKind=rV={}));var nV;(function(t){function e(i,a){let s={executionOrder:i};return(a===!0||a===!1)&&(s.success=a),s}o(e,"create"),t.create=e;function r(i){let a=i;return Ic.objectLiteral(a)&&V4.uinteger.is(a.executionOrder)&&(a.success===void 0||Ic.boolean(a.success))}o(r,"is"),t.is=r;function n(i,a){return i===a?!0:i==null||a===null||a===void 0?!1:i.executionOrder===a.executionOrder&&i.success===a.success}o(n,"equals"),t.equals=n})(nV||(Mi.ExecutionSummary=nV={}));var UA;(function(t){function e(a,s){return{kind:a,document:s}}o(e,"create"),t.create=e;function r(a){let s=a;return Ic.objectLiteral(s)&&rV.is(s.kind)&&V4.DocumentUri.is(s.document)&&(s.metadata===void 0||Ic.objectLiteral(s.metadata))}o(r,"is"),t.is=r;function n(a,s){let l=new Set;return a.document!==s.document&&l.add("document"),a.kind!==s.kind&&l.add("kind"),a.executionSummary!==s.executionSummary&&l.add("executionSummary"),(a.metadata!==void 0||s.metadata!==void 0)&&!i(a.metadata,s.metadata)&&l.add("metadata"),(a.executionSummary!==void 0||s.executionSummary!==void 0)&&!nV.equals(a.executionSummary,s.executionSummary)&&l.add("executionSummary"),l}o(n,"diff"),t.diff=n;function i(a,s){if(a===s)return!0;if(a==null||s===null||s===void 0||typeof a!=typeof s||typeof a!="object")return!1;let l=Array.isArray(a),u=Array.isArray(s);if(l!==u)return!1;if(l&&u){if(a.length!==s.length)return!1;for(let h=0;h{"use strict";Object.defineProperty(WA,"__esModule",{value:!0});WA.InlineCompletionRequest=void 0;var zxe=mi(),Gxe;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=zxe.MessageDirection.clientToServer,t.type=new zxe.ProtocolRequestType(t.method)})(Gxe||(WA.InlineCompletionRequest=Gxe={}))});var tTe=nr(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.WorkspaceSymbolRequest=Ce.CodeActionResolveRequest=Ce.CodeActionRequest=Ce.DocumentSymbolRequest=Ce.DocumentHighlightRequest=Ce.ReferencesRequest=Ce.DefinitionRequest=Ce.SignatureHelpRequest=Ce.SignatureHelpTriggerKind=Ce.HoverRequest=Ce.CompletionResolveRequest=Ce.CompletionRequest=Ce.CompletionTriggerKind=Ce.PublishDiagnosticsNotification=Ce.WatchKind=Ce.RelativePattern=Ce.FileChangeType=Ce.DidChangeWatchedFilesNotification=Ce.WillSaveTextDocumentWaitUntilRequest=Ce.WillSaveTextDocumentNotification=Ce.TextDocumentSaveReason=Ce.DidSaveTextDocumentNotification=Ce.DidCloseTextDocumentNotification=Ce.DidChangeTextDocumentNotification=Ce.TextDocumentContentChangeEvent=Ce.DidOpenTextDocumentNotification=Ce.TextDocumentSyncKind=Ce.TelemetryEventNotification=Ce.LogMessageNotification=Ce.ShowMessageRequest=Ce.ShowMessageNotification=Ce.MessageType=Ce.DidChangeConfigurationNotification=Ce.ExitNotification=Ce.ShutdownRequest=Ce.InitializedNotification=Ce.InitializeErrorCodes=Ce.InitializeRequest=Ce.WorkDoneProgressOptions=Ce.TextDocumentRegistrationOptions=Ce.StaticRegistrationOptions=Ce.PositionEncodingKind=Ce.FailureHandlingKind=Ce.ResourceOperationKind=Ce.UnregistrationRequest=Ce.RegistrationRequest=Ce.DocumentSelector=Ce.NotebookCellTextDocumentFilter=Ce.NotebookDocumentFilter=Ce.TextDocumentFilter=void 0;Ce.MonikerRequest=Ce.MonikerKind=Ce.UniquenessLevel=Ce.WillDeleteFilesRequest=Ce.DidDeleteFilesNotification=Ce.WillRenameFilesRequest=Ce.DidRenameFilesNotification=Ce.WillCreateFilesRequest=Ce.DidCreateFilesNotification=Ce.FileOperationPatternKind=Ce.LinkedEditingRangeRequest=Ce.ShowDocumentRequest=Ce.SemanticTokensRegistrationType=Ce.SemanticTokensRefreshRequest=Ce.SemanticTokensRangeRequest=Ce.SemanticTokensDeltaRequest=Ce.SemanticTokensRequest=Ce.TokenFormat=Ce.CallHierarchyPrepareRequest=Ce.CallHierarchyOutgoingCallsRequest=Ce.CallHierarchyIncomingCallsRequest=Ce.WorkDoneProgressCancelNotification=Ce.WorkDoneProgressCreateRequest=Ce.WorkDoneProgress=Ce.SelectionRangeRequest=Ce.DeclarationRequest=Ce.FoldingRangeRefreshRequest=Ce.FoldingRangeRequest=Ce.ColorPresentationRequest=Ce.DocumentColorRequest=Ce.ConfigurationRequest=Ce.DidChangeWorkspaceFoldersNotification=Ce.WorkspaceFoldersRequest=Ce.TypeDefinitionRequest=Ce.ImplementationRequest=Ce.ApplyWorkspaceEditRequest=Ce.ExecuteCommandRequest=Ce.PrepareRenameRequest=Ce.RenameRequest=Ce.PrepareSupportDefaultBehavior=Ce.DocumentOnTypeFormattingRequest=Ce.DocumentRangesFormattingRequest=Ce.DocumentRangeFormattingRequest=Ce.DocumentFormattingRequest=Ce.DocumentLinkResolveRequest=Ce.DocumentLinkRequest=Ce.CodeLensRefreshRequest=Ce.CodeLensResolveRequest=Ce.CodeLensRequest=Ce.WorkspaceSymbolResolveRequest=void 0;Ce.InlineCompletionRequest=Ce.DidCloseNotebookDocumentNotification=Ce.DidSaveNotebookDocumentNotification=Ce.DidChangeNotebookDocumentNotification=Ce.NotebookCellArrayChange=Ce.DidOpenNotebookDocumentNotification=Ce.NotebookDocumentSyncRegistrationType=Ce.NotebookDocument=Ce.NotebookCell=Ce.ExecutionSummary=Ce.NotebookCellKind=Ce.DiagnosticRefreshRequest=Ce.WorkspaceDiagnosticRequest=Ce.DocumentDiagnosticRequest=Ce.DocumentDiagnosticReportKind=Ce.DiagnosticServerCancellationData=Ce.InlayHintRefreshRequest=Ce.InlayHintResolveRequest=Ce.InlayHintRequest=Ce.InlineValueRefreshRequest=Ce.InlineValueRequest=Ce.TypeHierarchySupertypesRequest=Ce.TypeHierarchySubtypesRequest=Ce.TypeHierarchyPrepareRequest=void 0;var Et=mi(),qxe=(Zy(),G3(K6)),Aa=LA(),Nit=p2e();Object.defineProperty(Ce,"ImplementationRequest",{enumerable:!0,get:o(function(){return Nit.ImplementationRequest},"get")});var Mit=y2e();Object.defineProperty(Ce,"TypeDefinitionRequest",{enumerable:!0,get:o(function(){return Mit.TypeDefinitionRequest},"get")});var Qbe=b2e();Object.defineProperty(Ce,"WorkspaceFoldersRequest",{enumerable:!0,get:o(function(){return Qbe.WorkspaceFoldersRequest},"get")});Object.defineProperty(Ce,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:o(function(){return Qbe.DidChangeWorkspaceFoldersNotification},"get")});var Iit=k2e();Object.defineProperty(Ce,"ConfigurationRequest",{enumerable:!0,get:o(function(){return Iit.ConfigurationRequest},"get")});var Zbe=C2e();Object.defineProperty(Ce,"DocumentColorRequest",{enumerable:!0,get:o(function(){return Zbe.DocumentColorRequest},"get")});Object.defineProperty(Ce,"ColorPresentationRequest",{enumerable:!0,get:o(function(){return Zbe.ColorPresentationRequest},"get")});var Jbe=D2e();Object.defineProperty(Ce,"FoldingRangeRequest",{enumerable:!0,get:o(function(){return Jbe.FoldingRangeRequest},"get")});Object.defineProperty(Ce,"FoldingRangeRefreshRequest",{enumerable:!0,get:o(function(){return Jbe.FoldingRangeRefreshRequest},"get")});var Oit=N2e();Object.defineProperty(Ce,"DeclarationRequest",{enumerable:!0,get:o(function(){return Oit.DeclarationRequest},"get")});var Pit=O2e();Object.defineProperty(Ce,"SelectionRangeRequest",{enumerable:!0,get:o(function(){return Pit.SelectionRangeRequest},"get")});var lV=$2e();Object.defineProperty(Ce,"WorkDoneProgress",{enumerable:!0,get:o(function(){return lV.WorkDoneProgress},"get")});Object.defineProperty(Ce,"WorkDoneProgressCreateRequest",{enumerable:!0,get:o(function(){return lV.WorkDoneProgressCreateRequest},"get")});Object.defineProperty(Ce,"WorkDoneProgressCancelNotification",{enumerable:!0,get:o(function(){return lV.WorkDoneProgressCancelNotification},"get")});var cV=q2e();Object.defineProperty(Ce,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:o(function(){return cV.CallHierarchyIncomingCallsRequest},"get")});Object.defineProperty(Ce,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:o(function(){return cV.CallHierarchyOutgoingCallsRequest},"get")});Object.defineProperty(Ce,"CallHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return cV.CallHierarchyPrepareRequest},"get")});var Sv=X2e();Object.defineProperty(Ce,"TokenFormat",{enumerable:!0,get:o(function(){return Sv.TokenFormat},"get")});Object.defineProperty(Ce,"SemanticTokensRequest",{enumerable:!0,get:o(function(){return Sv.SemanticTokensRequest},"get")});Object.defineProperty(Ce,"SemanticTokensDeltaRequest",{enumerable:!0,get:o(function(){return Sv.SemanticTokensDeltaRequest},"get")});Object.defineProperty(Ce,"SemanticTokensRangeRequest",{enumerable:!0,get:o(function(){return Sv.SemanticTokensRangeRequest},"get")});Object.defineProperty(Ce,"SemanticTokensRefreshRequest",{enumerable:!0,get:o(function(){return Sv.SemanticTokensRefreshRequest},"get")});Object.defineProperty(Ce,"SemanticTokensRegistrationType",{enumerable:!0,get:o(function(){return Sv.SemanticTokensRegistrationType},"get")});var Bit=Z2e();Object.defineProperty(Ce,"ShowDocumentRequest",{enumerable:!0,get:o(function(){return Bit.ShowDocumentRequest},"get")});var Fit=txe();Object.defineProperty(Ce,"LinkedEditingRangeRequest",{enumerable:!0,get:o(function(){return Fit.LinkedEditingRangeRequest},"get")});var Mm=cxe();Object.defineProperty(Ce,"FileOperationPatternKind",{enumerable:!0,get:o(function(){return Mm.FileOperationPatternKind},"get")});Object.defineProperty(Ce,"DidCreateFilesNotification",{enumerable:!0,get:o(function(){return Mm.DidCreateFilesNotification},"get")});Object.defineProperty(Ce,"WillCreateFilesRequest",{enumerable:!0,get:o(function(){return Mm.WillCreateFilesRequest},"get")});Object.defineProperty(Ce,"DidRenameFilesNotification",{enumerable:!0,get:o(function(){return Mm.DidRenameFilesNotification},"get")});Object.defineProperty(Ce,"WillRenameFilesRequest",{enumerable:!0,get:o(function(){return Mm.WillRenameFilesRequest},"get")});Object.defineProperty(Ce,"DidDeleteFilesNotification",{enumerable:!0,get:o(function(){return Mm.DidDeleteFilesNotification},"get")});Object.defineProperty(Ce,"WillDeleteFilesRequest",{enumerable:!0,get:o(function(){return Mm.WillDeleteFilesRequest},"get")});var uV=pxe();Object.defineProperty(Ce,"UniquenessLevel",{enumerable:!0,get:o(function(){return uV.UniquenessLevel},"get")});Object.defineProperty(Ce,"MonikerKind",{enumerable:!0,get:o(function(){return uV.MonikerKind},"get")});Object.defineProperty(Ce,"MonikerRequest",{enumerable:!0,get:o(function(){return uV.MonikerRequest},"get")});var hV=vxe();Object.defineProperty(Ce,"TypeHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return hV.TypeHierarchyPrepareRequest},"get")});Object.defineProperty(Ce,"TypeHierarchySubtypesRequest",{enumerable:!0,get:o(function(){return hV.TypeHierarchySubtypesRequest},"get")});Object.defineProperty(Ce,"TypeHierarchySupertypesRequest",{enumerable:!0,get:o(function(){return hV.TypeHierarchySupertypesRequest},"get")});var eTe=Txe();Object.defineProperty(Ce,"InlineValueRequest",{enumerable:!0,get:o(function(){return eTe.InlineValueRequest},"get")});Object.defineProperty(Ce,"InlineValueRefreshRequest",{enumerable:!0,get:o(function(){return eTe.InlineValueRefreshRequest},"get")});var fV=Sxe();Object.defineProperty(Ce,"InlayHintRequest",{enumerable:!0,get:o(function(){return fV.InlayHintRequest},"get")});Object.defineProperty(Ce,"InlayHintResolveRequest",{enumerable:!0,get:o(function(){return fV.InlayHintResolveRequest},"get")});Object.defineProperty(Ce,"InlayHintRefreshRequest",{enumerable:!0,get:o(function(){return fV.InlayHintRefreshRequest},"get")});var q4=Nxe();Object.defineProperty(Ce,"DiagnosticServerCancellationData",{enumerable:!0,get:o(function(){return q4.DiagnosticServerCancellationData},"get")});Object.defineProperty(Ce,"DocumentDiagnosticReportKind",{enumerable:!0,get:o(function(){return q4.DocumentDiagnosticReportKind},"get")});Object.defineProperty(Ce,"DocumentDiagnosticRequest",{enumerable:!0,get:o(function(){return q4.DocumentDiagnosticRequest},"get")});Object.defineProperty(Ce,"WorkspaceDiagnosticRequest",{enumerable:!0,get:o(function(){return q4.WorkspaceDiagnosticRequest},"get")});Object.defineProperty(Ce,"DiagnosticRefreshRequest",{enumerable:!0,get:o(function(){return q4.DiagnosticRefreshRequest},"get")});var Uu=$xe();Object.defineProperty(Ce,"NotebookCellKind",{enumerable:!0,get:o(function(){return Uu.NotebookCellKind},"get")});Object.defineProperty(Ce,"ExecutionSummary",{enumerable:!0,get:o(function(){return Uu.ExecutionSummary},"get")});Object.defineProperty(Ce,"NotebookCell",{enumerable:!0,get:o(function(){return Uu.NotebookCell},"get")});Object.defineProperty(Ce,"NotebookDocument",{enumerable:!0,get:o(function(){return Uu.NotebookDocument},"get")});Object.defineProperty(Ce,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:o(function(){return Uu.NotebookDocumentSyncRegistrationType},"get")});Object.defineProperty(Ce,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Uu.DidOpenNotebookDocumentNotification},"get")});Object.defineProperty(Ce,"NotebookCellArrayChange",{enumerable:!0,get:o(function(){return Uu.NotebookCellArrayChange},"get")});Object.defineProperty(Ce,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Uu.DidChangeNotebookDocumentNotification},"get")});Object.defineProperty(Ce,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Uu.DidSaveNotebookDocumentNotification},"get")});Object.defineProperty(Ce,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Uu.DidCloseNotebookDocumentNotification},"get")});var $it=Vxe();Object.defineProperty(Ce,"InlineCompletionRequest",{enumerable:!0,get:o(function(){return $it.InlineCompletionRequest},"get")});var iV;(function(t){function e(r){let n=r;return Aa.string(n)||Aa.string(n.language)||Aa.string(n.scheme)||Aa.string(n.pattern)}o(e,"is"),t.is=e})(iV||(Ce.TextDocumentFilter=iV={}));var aV;(function(t){function e(r){let n=r;return Aa.objectLiteral(n)&&(Aa.string(n.notebookType)||Aa.string(n.scheme)||Aa.string(n.pattern))}o(e,"is"),t.is=e})(aV||(Ce.NotebookDocumentFilter=aV={}));var sV;(function(t){function e(r){let n=r;return Aa.objectLiteral(n)&&(Aa.string(n.notebook)||aV.is(n.notebook))&&(n.language===void 0||Aa.string(n.language))}o(e,"is"),t.is=e})(sV||(Ce.NotebookCellTextDocumentFilter=sV={}));var oV;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Aa.string(n)&&!iV.is(n)&&!sV.is(n))return!1;return!0}o(e,"is"),t.is=e})(oV||(Ce.DocumentSelector=oV={}));var Uxe;(function(t){t.method="client/registerCapability",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(Uxe||(Ce.RegistrationRequest=Uxe={}));var Wxe;(function(t){t.method="client/unregisterCapability",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(Wxe||(Ce.UnregistrationRequest=Wxe={}));var Hxe;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(Hxe||(Ce.ResourceOperationKind=Hxe={}));var Yxe;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(Yxe||(Ce.FailureHandlingKind=Yxe={}));var jxe;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(jxe||(Ce.PositionEncodingKind=jxe={}));var Xxe;(function(t){function e(r){let n=r;return n&&Aa.string(n.id)&&n.id.length>0}o(e,"hasId"),t.hasId=e})(Xxe||(Ce.StaticRegistrationOptions=Xxe={}));var Kxe;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||oV.is(n.documentSelector))}o(e,"is"),t.is=e})(Kxe||(Ce.TextDocumentRegistrationOptions=Kxe={}));var Qxe;(function(t){function e(n){let i=n;return Aa.objectLiteral(i)&&(i.workDoneProgress===void 0||Aa.boolean(i.workDoneProgress))}o(e,"is"),t.is=e;function r(n){let i=n;return i&&Aa.boolean(i.workDoneProgress)}o(r,"hasWorkDoneProgress"),t.hasWorkDoneProgress=r})(Qxe||(Ce.WorkDoneProgressOptions=Qxe={}));var Zxe;(function(t){t.method="initialize",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Zxe||(Ce.InitializeRequest=Zxe={}));var Jxe;(function(t){t.unknownProtocolVersion=1})(Jxe||(Ce.InitializeErrorCodes=Jxe={}));var ebe;(function(t){t.method="initialized",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(ebe||(Ce.InitializedNotification=ebe={}));var tbe;(function(t){t.method="shutdown",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType0(t.method)})(tbe||(Ce.ShutdownRequest=tbe={}));var rbe;(function(t){t.method="exit",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType0(t.method)})(rbe||(Ce.ExitNotification=rbe={}));var nbe;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(nbe||(Ce.DidChangeConfigurationNotification=nbe={}));var ibe;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(ibe||(Ce.MessageType=ibe={}));var abe;(function(t){t.method="window/showMessage",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(abe||(Ce.ShowMessageNotification=abe={}));var sbe;(function(t){t.method="window/showMessageRequest",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType(t.method)})(sbe||(Ce.ShowMessageRequest=sbe={}));var obe;(function(t){t.method="window/logMessage",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(obe||(Ce.LogMessageNotification=obe={}));var lbe;(function(t){t.method="telemetry/event",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(lbe||(Ce.TelemetryEventNotification=lbe={}));var cbe;(function(t){t.None=0,t.Full=1,t.Incremental=2})(cbe||(Ce.TextDocumentSyncKind=cbe={}));var ube;(function(t){t.method="textDocument/didOpen",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(ube||(Ce.DidOpenTextDocumentNotification=ube={}));var hbe;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}o(e,"isIncremental"),t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}o(r,"isFull"),t.isFull=r})(hbe||(Ce.TextDocumentContentChangeEvent=hbe={}));var fbe;(function(t){t.method="textDocument/didChange",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(fbe||(Ce.DidChangeTextDocumentNotification=fbe={}));var dbe;(function(t){t.method="textDocument/didClose",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(dbe||(Ce.DidCloseTextDocumentNotification=dbe={}));var pbe;(function(t){t.method="textDocument/didSave",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(pbe||(Ce.DidSaveTextDocumentNotification=pbe={}));var mbe;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(mbe||(Ce.TextDocumentSaveReason=mbe={}));var gbe;(function(t){t.method="textDocument/willSave",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(gbe||(Ce.WillSaveTextDocumentNotification=gbe={}));var ybe;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(ybe||(Ce.WillSaveTextDocumentWaitUntilRequest=ybe={}));var vbe;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolNotificationType(t.method)})(vbe||(Ce.DidChangeWatchedFilesNotification=vbe={}));var xbe;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(xbe||(Ce.FileChangeType=xbe={}));var bbe;(function(t){function e(r){let n=r;return Aa.objectLiteral(n)&&(qxe.URI.is(n.baseUri)||qxe.WorkspaceFolder.is(n.baseUri))&&Aa.string(n.pattern)}o(e,"is"),t.is=e})(bbe||(Ce.RelativePattern=bbe={}));var Tbe;(function(t){t.Create=1,t.Change=2,t.Delete=4})(Tbe||(Ce.WatchKind=Tbe={}));var wbe;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolNotificationType(t.method)})(wbe||(Ce.PublishDiagnosticsNotification=wbe={}));var kbe;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(kbe||(Ce.CompletionTriggerKind=kbe={}));var Ebe;(function(t){t.method="textDocument/completion",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Ebe||(Ce.CompletionRequest=Ebe={}));var Sbe;(function(t){t.method="completionItem/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Sbe||(Ce.CompletionResolveRequest=Sbe={}));var Cbe;(function(t){t.method="textDocument/hover",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Cbe||(Ce.HoverRequest=Cbe={}));var Abe;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(Abe||(Ce.SignatureHelpTriggerKind=Abe={}));var _be;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(_be||(Ce.SignatureHelpRequest=_be={}));var Dbe;(function(t){t.method="textDocument/definition",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Dbe||(Ce.DefinitionRequest=Dbe={}));var Rbe;(function(t){t.method="textDocument/references",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Rbe||(Ce.ReferencesRequest=Rbe={}));var Lbe;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Lbe||(Ce.DocumentHighlightRequest=Lbe={}));var Nbe;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Nbe||(Ce.DocumentSymbolRequest=Nbe={}));var Mbe;(function(t){t.method="textDocument/codeAction",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Mbe||(Ce.CodeActionRequest=Mbe={}));var Ibe;(function(t){t.method="codeAction/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Ibe||(Ce.CodeActionResolveRequest=Ibe={}));var Obe;(function(t){t.method="workspace/symbol",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Obe||(Ce.WorkspaceSymbolRequest=Obe={}));var Pbe;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Pbe||(Ce.WorkspaceSymbolResolveRequest=Pbe={}));var Bbe;(function(t){t.method="textDocument/codeLens",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Bbe||(Ce.CodeLensRequest=Bbe={}));var Fbe;(function(t){t.method="codeLens/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Fbe||(Ce.CodeLensResolveRequest=Fbe={}));var $be;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType0(t.method)})($be||(Ce.CodeLensRefreshRequest=$be={}));var zbe;(function(t){t.method="textDocument/documentLink",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(zbe||(Ce.DocumentLinkRequest=zbe={}));var Gbe;(function(t){t.method="documentLink/resolve",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Gbe||(Ce.DocumentLinkResolveRequest=Gbe={}));var Vbe;(function(t){t.method="textDocument/formatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Vbe||(Ce.DocumentFormattingRequest=Vbe={}));var qbe;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(qbe||(Ce.DocumentRangeFormattingRequest=qbe={}));var Ube;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Ube||(Ce.DocumentRangesFormattingRequest=Ube={}));var Wbe;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Wbe||(Ce.DocumentOnTypeFormattingRequest=Wbe={}));var Hbe;(function(t){t.Identifier=1})(Hbe||(Ce.PrepareSupportDefaultBehavior=Hbe={}));var Ybe;(function(t){t.method="textDocument/rename",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Ybe||(Ce.RenameRequest=Ybe={}));var jbe;(function(t){t.method="textDocument/prepareRename",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(jbe||(Ce.PrepareRenameRequest=jbe={}));var Xbe;(function(t){t.method="workspace/executeCommand",t.messageDirection=Et.MessageDirection.clientToServer,t.type=new Et.ProtocolRequestType(t.method)})(Xbe||(Ce.ExecuteCommandRequest=Xbe={}));var Kbe;(function(t){t.method="workspace/applyEdit",t.messageDirection=Et.MessageDirection.serverToClient,t.type=new Et.ProtocolRequestType("workspace/applyEdit")})(Kbe||(Ce.ApplyWorkspaceEditRequest=Kbe={}))});var nTe=nr(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.createProtocolConnection=void 0;var rTe=Nm();function zit(t,e,r,n){return rTe.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,rTe.createMessageConnection)(t,e,r,n)}o(zit,"createProtocolConnection");HA.createProtocolConnection=zit});var aTe=nr(_o=>{"use strict";var Git=_o&&_o.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),YA=_o&&_o.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Git(e,t,r)};Object.defineProperty(_o,"__esModule",{value:!0});_o.LSPErrorCodes=_o.createProtocolConnection=void 0;YA(Nm(),_o);YA((Zy(),G3(K6)),_o);YA(mi(),_o);YA(tTe(),_o);var Vit=nTe();Object.defineProperty(_o,"createProtocolConnection",{enumerable:!0,get:o(function(){return Vit.createProtocolConnection},"get")});var iTe;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(iTe||(_o.LSPErrorCodes=iTe={}))});var oTe=nr(Wu=>{"use strict";var qit=Wu&&Wu.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),sTe=Wu&&Wu.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&qit(e,t,r)};Object.defineProperty(Wu,"__esModule",{value:!0});Wu.createProtocolConnection=void 0;var Uit=KG();sTe(KG(),Wu);sTe(aTe(),Wu);function Wit(t,e,r,n){return(0,Uit.createMessageConnection)(t,e,r,n)}o(Wit,"createProtocolConnection");Wu.createProtocolConnection=Wit});var ap,dV=O(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(ap||(ap={}))});var Cv,U4,pV=O(()=>{"use strict";Cv=Ra(oTe(),1);Bl();dV();Kd();$l();Os();Nc();ov();U4=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new fs,this.documentPhaseListeners=new fs,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=qr.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Nr.CancellationToken.None){for(let i of e){let a=i.uri.toString();if(i.state===qr.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,qr.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=qr.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=qr.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=Nr.CancellationToken.None){this.currentState=qr.Changed;let i=[];for(let u of r){let h=this.langiumDocuments.deleteDocuments(u);for(let f of h)i.push(f.uri),this.cleanUpDeleted(f)}let a=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of a){let h=this.langiumDocuments.getDocument(u);h===void 0&&(h=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),h.state=qr.Changed,this.langiumDocuments.addDocument(h)),this.resetToState(h,qr.Changed)}let s=Hr(a).concat(i).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!s.has(u.uri.toString())&&this.shouldRelink(u,s)).forEach(u=>this.resetToState(u,qr.ComputedScopes)),await this.emitUpdate(a,i),await Ci(n);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return Hr(s).filter(l=>!a.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),ap.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case qr.Changed:case qr.Parsed:this.indexManager.removeContent(e.uri);case qr.IndexedContent:e.localSymbols=void 0;case qr.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case qr.Linked:this.indexManager.removeReferences(e.uri);case qr.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case qr.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=qr.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,qr.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,qr.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,qr.ComputedScopes,n,async s=>{let l=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await l.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,qr.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,qr.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,qr.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.states.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),ap.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),ap.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=Nr.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Fl);if(this.currentState>=e&&e>i.state)return Promise.reject(new Cv.ResponseError(Cv.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${qr[i.state]}, requiring ${qr[e]}, but workspace state is already ${qr[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Cv.ResponseError(Cv.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{let l=this.onDocumentPhase(e,h=>{Fi.equals(h.uri,r)&&(l.dispose(),u.dispose(),a(h.uri))}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(Fl)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Fl):new Promise((n,i)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(Fl)})})}async notifyDocumentPhase(e,r,n){let a=this.documentPhaseListeners.get(r).slice();for(let s of a)try{await Ci(n),await s(e,n)}catch(l){if(!Gu(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let a=this.buildPhaseListeners.get(r).slice();for(let s of a)await Ci(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=Hr(l.result.validationChecks).concat(a.categories).distinct().toArray():l.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}});var W4,mV=O(()=>{"use strict";us();hA();Bl();Os();Nc();W4=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Dm,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=cs(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{Fi.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Hr(i)}allElements(e,r){let n=Hr(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=Nr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=Nr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var H4,gV=O(()=>{"use strict";Bl();$l();Nc();Os();H4=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new Vs,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=Nr.CancellationToken.None){let n=await this.performStartup(e);await Ci(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=o(s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)},"collector");await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let a=Hr(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ca.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Fi.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}});function XA(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function vV(t){return t&&"modes"in t&&"defaultMode"in t}function yV(t){return!XA(t)&&!vV(t)}var Y4,jA,Im,KA=O(()=>{"use strict";Hd();Y4=class{static{o(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,a){return Ny.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return Ny.buildUnableToPopLexerModeMessage(e)}},jA={mode:"full"},Im=class{static{o(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=yV(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new fi(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=jA){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(yV(e))return e;let r=vV(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};o(XA,"isTokenTypeArray");o(vV,"isIMultiModeLexerDefinition");o(yV,"isTokenTypeDictionary")});function TV(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=on.create(0,0));let a=uTe(t),s=kV(n),l=Yit({lines:a,position:i,options:s});return Zit({index:0,tokens:l,position:i})}function wV(t,e){let r=kV(e),n=uTe(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],s=r.start,l=r.end;return!!s?.exec(i)&&!!l?.exec(a)}function uTe(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(dF)}function Yit(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i=l.length){if(e.length>0){let f=on.create(r,n);e.push({type:"break",content:"",range:Kr.create(f,f)})}}else{lTe.lastIndex=u;let f=lTe.exec(l);if(f){let d=f[0],p=f[1],m=on.create(r,n+u),g=on.create(r,n+u+d.length);e.push({type:"tag",content:p,range:Kr.create(m,g)}),u+=d.length,u=bV(l,u)}if(u0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function jit(t,e,r,n){let i=[];if(t.length===0){let a=on.create(r,n),s=on.create(r,n+e.length);i.push({type:"text",content:e,range:Kr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:Kr.create(on.create(r,a+n),on.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:Kr.create(on.create(r,a+f+n),on.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:Kr.create(on.create(r,a+f+n),on.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:Kr.create(on.create(r,a+f+n),on.create(r,a+f+n))});a=u+l[0].length}let s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Kr.create(on.create(r,a+n),on.create(r,a+n+s.length))})}return i}function bV(t,e){let r=t.substring(e).match(Xit);return r?e+r.index:t.length}function Qit(t){let e=t.match(Kit);if(e&&typeof e.index=="number")return e.index}function Zit(t){let e=on.create(t.position.line,t.position.character);if(t.tokens.length===0)return new QA([],Kr.create(e,e));let r=[];for(;t.index0){let s=bV(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??nat(e,i)}}function nat(t,e){try{return ca.parse(t,!0),`[${e}](${t})`}catch{return t}}function cTe(t){return t.endsWith(` `)?` `:` -`}var Sbe,lnt,hnt,fnt,FA,PT,BT,$A,lV=I(()=>{"use strict";Uy();py();Sc();o(aV,"parseJSDoc");o(sV,"isJSDoc");o(Cbe,"getLines");Sbe=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,lnt=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(cnt,"tokenize");o(unt,"buildInlineTokens");hnt=/\S/,fnt=/\s*$/;o(iV,"skipWhitespace");o(dnt,"lastCharacter");o(pnt,"parseJSDocComment");o(mnt,"parseJSDocElement");o(gnt,"appendEmptyLine");o(Abe,"parseJSDocText");o(ynt,"parseJSDocInline");o(_be,"parseJSDocTag");o(Dbe,"parseJSDocLine");o(oV,"normalizeOptions");o(nV,"normalizeOption");FA=class{static{o(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=Ebe(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=Ebe(r)+i}return r.trim()}},PT=class{static{o(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=vnt(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} -${r}`),this.inline?`{${i}}`:i}};o(vnt,"renderInlineTag");o(xnt,"renderLinkDefault");BT=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`}var lTe,Hit,Xit,Kit,QA,j4,X4,ZA,EV=O(()=>{"use strict";Zy();wy();Nc();o(TV,"parseJSDoc");o(wV,"isJSDoc");o(uTe,"getLines");lTe=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Hit=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(Yit,"tokenize");o(jit,"buildInlineTokens");Xit=/\S/,Kit=/\s*$/;o(bV,"skipWhitespace");o(Qit,"lastCharacter");o(Zit,"parseJSDocComment");o(Jit,"parseJSDocElement");o(eat,"appendEmptyLine");o(hTe,"parseJSDocText");o(tat,"parseJSDocInline");o(fTe,"parseJSDocTag");o(dTe,"parseJSDocLine");o(kV,"normalizeOptions");o(xV,"normalizeOption");QA=class{static{o(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=cTe(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=cTe(r)+i}return r.trim()}},j4=class{static{o(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=rat(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}};o(rat,"renderInlineTag");o(nat,"renderLinkDefault");X4=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` -`)}return r}},$A=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(Ebe,"fillNewlines")});var FT,cV=I(()=>{"use strict";ls();lV();FT=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&sV(r))return aV(r).toMarkdown({renderLink:o((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:o(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,l=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=os(e).localSymbols;if(!i)return;let a=e;do{let l=i.getStream(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var $T,uV=I(()=>{"use strict";J6();yc();$T=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Cz(e)?e.$comment:WB(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}});var zT,hV,fV,dV=I(()=>{"use strict";Nl();nA();zT=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},hV=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new zs,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new zs;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Ll)}),this.queue.push(r),r.promise}},fV=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new ui.Emitter,this.deferred=new zs,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Ll),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 zs,this.sendMessage(e),this.deferred.promise}}});var GT,pV=I(()=>{"use strict";Rl();Nl();GT=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Ar.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=X6();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=Ar.CancellationToken.None){let i=new zs,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){Iu(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var VT,mV=I(()=>{"use strict";F6();Uo();mc();ls();Hd();yc();VT=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new Em,this.tokenTypeIdMap=new Em,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Is(e))r.set(i,{});if(e.$cstNode)for(let i of nm(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)bi(l)?s.push(this.dehydrateAstNode(l,r)):ra(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else bi(a)?n[i]=this.dehydrateAstNode(a,r):ra(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return e4(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),pc(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):_d(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Is(e))r.set(a,{});let i;if(e.$cstNode)for(let a of nm(e.$cstNode)){let s;"fullText"in a?(s=new Wy(a.fullText),i=s):"content"in a?s=new bm:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)bi(l)?s.push(this.setParent(this.hydrateAstNode(l,r),n)):ra(l)?s.push(this.hydrateReference(l,n,i,r)):s.push(l)}else bi(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ra(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),pc(i))for(let a of e.content){let s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new xm(n,i,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Is(this.grammar))u4(r)&&this.grammarElementIdMap.set(r,e++)}}});function Ua(t){return{documentation:{CommentProvider:o(e=>new $T(e),"CommentProvider"),DocumentationProvider:o(e=>new FT(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new zT(e),"AsyncParser"),GrammarConfig:o(e=>hF(e),"GrammarConfig"),LangiumParser:o(e=>oz(e),"LangiumParser"),CompletionParser:o(e=>az(e),"CompletionParser"),ValueConverter:o(()=>new wm,"ValueConverter"),TokenBuilder:o(()=>new jh,"TokenBuilder"),Lexer:o(e=>new Lm(e),"Lexer"),ParserErrorMessageProvider:o(()=>new Hy,"ParserErrorMessageProvider"),LexerErrorMessageProvider:o(()=>new OT,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new TT,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new xT(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new bT(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new lT(e),"Linker"),NameProvider:o(()=>new cT,"NameProvider"),ScopeProvider:o(e=>new pT(e),"ScopeProvider"),ScopeComputation:o(e=>new hT(e),"ScopeComputation"),References:o(e=>new uT(e),"References")},serializer:{Hydrator:o(e=>new VT(e),"Hydrator"),JsonSerializer:o(e=>new mT(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new vT(e),"DocumentValidator"),ValidationRegistry:o(e=>new yT(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function Wa(t){return{ServiceRegistry:o(e=>new gT(e),"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new oT(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new sT(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new NT(e),"DocumentBuilder"),IndexManager:o(e=>new MT(e),"IndexManager"),WorkspaceManager:o(e=>new IT(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new GT,"WorkspaceLock"),ConfigurationProvider:o(e=>new wT(e),"ConfigurationProvider")},profilers:{}}}var gV=I(()=>{"use strict";fF();sz();lz();U6();cz();xz();bz();Tz();wz();Ez();J6();Az();_z();tA();Dz();Rz();Lz();ZG();Jy();JG();eV();BA();cV();uV();nT();dV();pV();mV();o(Ua,"createDefaultCoreModule");o(Wa,"createDefaultSharedCoreModule")});function ei(t,e,r,n,i,a,s,l,u){let h=[t,e,r,n,i,a,s,l,u].reduce(qT,{});return Ibe(h)}function Mbe(t){if(t&&t[Nbe])for(let e of Object.values(t))Mbe(e);return t}function Ibe(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),set:o(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:o((n,i)=>i===Nbe?!0:Lbe(n,i,t,e||r),"get"),getOwnPropertyDescriptor:o((n,i)=>(Lbe(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:o((n,i)=>i in t,"has"),ownKeys:o(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}function Lbe(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===Rbe)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=Rbe;try{t[e]=typeof i=="function"?i(n):Ibe(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function qT(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=qT(i,n):t[r]=qT({},n)}else t[r]=n}return t}var yV,Nbe,Rbe,vV=I(()=>{"use strict";(function(t){t.merge=(e,r)=>qT(qT({},e),r)})(yV||(yV={}));o(ei,"inject");Nbe=Symbol("isProxy");o(Mbe,"eagerLoad");o(Ibe,"_inject");Rbe=Symbol();o(Lbe,"_resolve");o(qT,"_merge")});var Obe=I(()=>{"use strict"});var Pbe=I(()=>{"use strict";uV();cV();lV()});var Bbe=I(()=>{"use strict"});var Fbe=I(()=>{"use strict";fF();Bbe()});var xV,Nm,zA,bV,$be=I(()=>{"use strict";Vd();U6();BA();xV={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Nm||(Nm={}));zA=class extends jh{static{o(this,"IndentationAwareTokenBuilder")}constructor(e=xV){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...xV,...e},this.indentTokenType=zd({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=zd({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!PA(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:l}=this.options,u,h,f,d=[];for(let p of n){for(let[m,g]of l)p.name===m?p.PUSH_MODE=Nm.IGNORE_INDENTATION:p.name===g&&(p.POP_MODE=!0);p.name===a?u=p:p.name===i?h=p:p.name===s?f=p:d.push(p)}if(!u||!h||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[Nm.REGULAR]:[u,h,...d,f],[Nm.IGNORE_INDENTATION]:[...d,f]},defaultMode:Nm.REGULAR}:[u,h,f,...d]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r -`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,r,n,i){let a=this.getLineNumber(r,i);return Uh(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);return a<=s?null:(this.indentationStack.push(a),l)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);if(a>=s)return null;let u=this.indentationStack.lastIndexOf(a);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:l?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let h=this.indentationStack.length-u-1,f=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let d=0;d1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},bV=class extends Lm{static{o(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof zA)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=OA){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=s.tokenTypeIdx,h=[],f=n.tokens.length-1;for(let d=0;d=0&&h.push(n.tokens[f]),n.tokens=h,n}}});var zbe=I(()=>{"use strict"});var Gbe=I(()=>{"use strict";dV();sz();F6();$be();lz();nT();BA();q6();zbe();U6();cz()});var Vbe=I(()=>{"use strict";xz();bz();Tz();Sz();wz();Ez()});var qbe=I(()=>{"use strict";mV();J6()});var GA,Ha,TV=I(()=>{"use strict";GA=class{static{o(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[]}},Ha={fileSystemProvider:o(()=>new GA,"fileSystemProvider")}});function wnt(){let t=ei(Wa(Ha),Tnt),e=ei(Ua({shared:t}),bnt);return t.ServiceRegistry.register(e),e}function $u(t){let e=wnt(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ia.parse(`memory:/${r.name??"grammar"}.langium`)),r}var bnt,Tnt,Ube=I(()=>{"use strict";gV();vV();Uo();TV();Sc();bnt={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Tnt={AstReflection:o(()=>new hy,"AstReflection")};o(wnt,"createMinimalGrammarServices");o($u,"loadGrammarFromJson")});var an={};vr(an,{AstUtils:()=>mC,BiMap:()=>Em,Cancellation:()=>Ar,ContextCache:()=>Cm,CstUtils:()=>OC,DONE_RESULT:()=>ss,Deferred:()=>zs,Disposable:()=>tp,DisposableCache:()=>tv,DocumentCache:()=>Q6,EMPTY_STREAM:()=>Dd,ErrorWithLocation:()=>am,GrammarUtils:()=>VC,MultiMap:()=>us,OperationCancelled:()=>Ll,Reduction:()=>ty,RegExpUtils:()=>$C,SimpleCache:()=>dT,StreamImpl:()=>Vo,TreeStreamImpl:()=>Eu,URI:()=>ia,UriTrie:()=>Zy,UriUtils:()=>Ii,WorkspaceCache:()=>rv,assertCondition:()=>kge,assertUnreachable:()=>_u,delayNextTick:()=>gz,interruptAndCheck:()=>Ti,isOperationCancelled:()=>Iu,loadGrammarFromJson:()=>$u,setInterruptionPeriod:()=>Uye,startCancelableOperation:()=>X6,stream:()=>Or});var Wbe=I(()=>{"use strict";Z6();nA();$r(an,ui);Hd();QG();PC();Ube();Nl();Ms();Sc();ls();Rl();yc();wc();py()});var Hbe=I(()=>{"use strict";_z();tA()});var wV,VA,Ybe=I(()=>{"use strict";Hd();wV=class{static{o(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 us}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new VA(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let l=r.entries.get(s),u=l.reduce((h,f)=>h+f);n.push({name:`${r.identifier}.${s}`,count:l.length,duration:u})}let i=r.duration-n.map(s=>s.duration).reduce((s,l)=>s+l,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,l)=>l.duration-s.duration);function a(s){return Math.round(100*s)/100}return o(a,"Round"),console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":a(100*s.duration/r.duration),"Time (ms)":a(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},VA=class{static{o(this,"ProfilingTask")}constructor(e,r){this.stack=[],this.entries=new us,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let 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){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}}});var jbe=I(()=>{"use strict";Dz();Rz();Lz();ZG();Jy();TV();JG();pV();eV();Ybe()});var Ea={};vr(Ea,{AbstractAstReflection:()=>U0,AbstractCstNode:()=>J4,AbstractLangiumParser:()=>eT,AbstractParserErrorMessageProvider:()=>z6,AbstractThreadedAsyncParser:()=>hV,AstUtils:()=>mC,BiMap:()=>Em,Cancellation:()=>Ar,CompositeCstNodeImpl:()=>bm,ContextCache:()=>Cm,CstNodeBuilder:()=>Z4,CstUtils:()=>OC,DEFAULT_TOKENIZE_OPTIONS:()=>OA,DONE_RESULT:()=>ss,DatatypeSymbol:()=>$6,DefaultAstNodeDescriptionProvider:()=>xT,DefaultAstNodeLocator:()=>TT,DefaultAsyncParser:()=>zT,DefaultCommentProvider:()=>$T,DefaultConfigurationProvider:()=>wT,DefaultDocumentBuilder:()=>NT,DefaultDocumentValidator:()=>vT,DefaultHydrator:()=>VT,DefaultIndexManager:()=>MT,DefaultJsonSerializer:()=>mT,DefaultLangiumDocumentFactory:()=>sT,DefaultLangiumDocuments:()=>oT,DefaultLangiumProfiler:()=>wV,DefaultLexer:()=>Lm,DefaultLexerErrorMessageProvider:()=>OT,DefaultLinker:()=>lT,DefaultNameProvider:()=>cT,DefaultReferenceDescriptionProvider:()=>bT,DefaultReferences:()=>uT,DefaultScopeComputation:()=>hT,DefaultScopeProvider:()=>pT,DefaultServiceRegistry:()=>gT,DefaultTokenBuilder:()=>jh,DefaultValueConverter:()=>wm,DefaultWorkspaceLock:()=>GT,DefaultWorkspaceManager:()=>IT,Deferred:()=>zs,Disposable:()=>tp,DisposableCache:()=>tv,DocumentCache:()=>Q6,DocumentState:()=>Nr,DocumentValidator:()=>Ml,EMPTY_SCOPE:()=>Trt,EMPTY_STREAM:()=>Dd,EmptyFileSystem:()=>Ha,EmptyFileSystemProvider:()=>GA,ErrorWithLocation:()=>am,GrammarAST:()=>f4,GrammarUtils:()=>VC,IndentationAwareLexer:()=>bV,IndentationAwareTokenBuilder:()=>zA,JSDocDocumentationProvider:()=>FT,LangiumCompletionParser:()=>rT,LangiumParser:()=>tT,LangiumParserErrorMessageProvider:()=>Hy,LeafCstNodeImpl:()=>xm,LexingMode:()=>Nm,MapScope:()=>kz,Module:()=>yV,MultiMap:()=>us,MultiMapScope:()=>fT,OperationCancelled:()=>Ll,ParserWorker:()=>fV,ProfilingTask:()=>VA,Reduction:()=>ty,RefResolving:()=>Sm,RegExpUtils:()=>$C,RootCstNodeImpl:()=>Wy,SimpleCache:()=>dT,StreamImpl:()=>Vo,StreamScope:()=>ev,TextDocument:()=>Ky,TreeStreamImpl:()=>Eu,URI:()=>ia,UriTrie:()=>Zy,UriUtils:()=>Ii,VALIDATE_EACH_NODE:()=>Zye,ValidationCategory:()=>eA,ValidationRegistry:()=>yT,ValueConverter:()=>Mu,WorkspaceCache:()=>rv,assertCondition:()=>kge,assertUnreachable:()=>_u,createCompletionParser:()=>az,createDefaultCoreModule:()=>Ua,createDefaultSharedCoreModule:()=>Wa,createGrammarConfig:()=>hF,createLangiumParser:()=>oz,createParser:()=>iT,delayNextTick:()=>gz,diagnosticData:()=>Am,eagerLoad:()=>Mbe,getDiagnosticRange:()=>Jye,indentationBuilderDefaultOptions:()=>xV,inject:()=>ei,interruptAndCheck:()=>Ti,isAstNode:()=>bi,isAstNodeDescription:()=>bB,isAstNodeWithComment:()=>Cz,isCompositeCstNode:()=>pc,isIMultiModeLexerDefinition:()=>rV,isJSDoc:()=>sV,isLeafCstNode:()=>_d,isLinkingError:()=>W0,isMultiReference:()=>Go,isNamed:()=>Kye,isOperationCancelled:()=>Iu,isReference:()=>ra,isRootCstNode:()=>e4,isTokenTypeArray:()=>PA,isTokenTypeDictionary:()=>tV,loadGrammarFromJson:()=>$u,parseJSDoc:()=>aV,prepareLangiumParser:()=>$ye,setInterruptionPeriod:()=>Uye,startCancelableOperation:()=>X6,stream:()=>Or,toDiagnosticData:()=>eve,toDiagnosticSeverity:()=>rA});var Yo=I(()=>{"use strict";gV();vV();Az();Obe();mc();Pbe();Fbe();Gbe();Vbe();qbe();Wbe();$r(Ea,an);Hbe();jbe();Uo()});function n4e(t){return Ac.isInstance(t,Gu.$type)}function i4e(t){return Ac.isInstance(t,HT.$type)}function a4e(t){return Ac.isInstance(t,Im.$type)}function s4e(t){return Ac.isInstance(t,np.$type)}function o4e(t){return Ac.isInstance(t,Tv.$type)}function l4e(t){return Ac.isInstance(t,Om.$type)}function c4e(t){return Ac.isInstance(t,Pm.$type)}function u4e(t){return Ac.isInstance(t,Bm.$type)}function h4e(t){return Ac.isInstance(t,ip.$type)}function f4e(t){return Ac.isInstance(t,YT.$type)}function d4e(t){return Ac.isInstance(t,Fm.$type)}var knt,kt,DV,RV,LV,NV,MV,IV,OV,qyr,Gu,qA,HT,Xbe,UA,kV,Im,WA,xv,zu,SV,np,UT,Tv,WT,EV,HA,Om,CV,Pm,Bm,ip,YT,rp,AV,bv,Mm,Fm,_V,p4e,Ac,Kbe,Snt,Qbe,Ent,Zbe,Cnt,Jbe,Ant,e4e,_nt,t4e,Dnt,r4e,Rnt,Lnt,Nnt,Mnt,Int,Ont,Pnt,Bnt,Gs,PV,BV,FV,$V,zV,GV,VV,Fnt,$nt,znt,Gnt,ap,Kh,ds,Vnt,ps=I(()=>{"use strict";Yo();Yo();Yo();Yo();knt=Object.defineProperty,kt=o((t,e)=>knt(t,"name",{value:e,configurable:!0}),"__name");(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[[\w ]+\]/}})(DV||(DV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(RV||(RV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(LV||(LV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(NV||(NV={}));(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(MV||(MV={}));(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(IV||(IV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(OV||(OV={}));qyr={...DV.Terminals,...RV.Terminals,...LV.Terminals,...NV.Terminals,...MV.Terminals,...IV.Terminals,...OV.Terminals},Gu={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};o(n4e,"isArchitecture");kt(n4e,"isArchitecture");qA={$type:"Axis",label:"label",name:"name"},HT={$type:"Branch",name:"name",order:"order"};o(i4e,"isBranch");kt(i4e,"isBranch");Xbe={$type:"Checkout",branch:"branch"},UA={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},kV={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Im={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};o(a4e,"isCommit");kt(a4e,"isCommit");WA={$type:"Curve",entries:"entries",label:"label",name:"name"},xv={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},zu={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},SV={$type:"Entry",axis:"axis",value:"value"},np={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};o(s4e,"isGitGraph");kt(s4e,"isGitGraph");UT={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Tv={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};o(o4e,"isInfo");kt(o4e,"isInfo");WT={$type:"Item",classSelector:"classSelector",name:"name"},EV={$type:"Junction",id:"id",in:"in"},HA={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Om={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};o(l4e,"isMerge");kt(l4e,"isMerge");CV={$type:"Option",name:"name",value:"value"},Pm={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};o(c4e,"isPacket");kt(c4e,"isPacket");Bm={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};o(u4e,"isPacketBlock");kt(u4e,"isPacketBlock");ip={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};o(h4e,"isPie");kt(h4e,"isPie");YT={$type:"PieSection",label:"label",value:"value"};o(f4e,"isPieSection");kt(f4e,"isPieSection");rp={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},AV={$type:"Section",classSelector:"classSelector",name:"name"},bv={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Mm={$type:"Statement"},Fm={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};o(d4e,"isTreemap");kt(d4e,"isTreemap");_V={$type:"TreemapRow",indent:"indent",item:"item"},p4e=class extends U0{static{o(this,"MermaidAstReflection")}constructor(){super(...arguments),this.types={Architecture:{name:Gu.$type,properties:{accDescr:{name:Gu.accDescr},accTitle:{name:Gu.accTitle},edges:{name:Gu.edges,defaultValue:[]},groups:{name:Gu.groups,defaultValue:[]},junctions:{name:Gu.junctions,defaultValue:[]},services:{name:Gu.services,defaultValue:[]},title:{name:Gu.title}},superTypes:[]},Axis:{name:qA.$type,properties:{label:{name:qA.label},name:{name:qA.name}},superTypes:[]},Branch:{name:HT.$type,properties:{name:{name:HT.name},order:{name:HT.order}},superTypes:[Mm.$type]},Checkout:{name:Xbe.$type,properties:{branch:{name:Xbe.branch}},superTypes:[Mm.$type]},CherryPicking:{name:UA.$type,properties:{id:{name:UA.id},parent:{name:UA.parent},tags:{name:UA.tags,defaultValue:[]}},superTypes:[Mm.$type]},ClassDefStatement:{name:kV.$type,properties:{className:{name:kV.className},styleText:{name:kV.styleText}},superTypes:[]},Commit:{name:Im.$type,properties:{id:{name:Im.id},message:{name:Im.message},tags:{name:Im.tags,defaultValue:[]},type:{name:Im.type}},superTypes:[Mm.$type]},Curve:{name:WA.$type,properties:{entries:{name:WA.entries,defaultValue:[]},label:{name:WA.label},name:{name:WA.name}},superTypes:[]},Direction:{name:xv.$type,properties:{accDescr:{name:xv.accDescr},accTitle:{name:xv.accTitle},dir:{name:xv.dir},statements:{name:xv.statements,defaultValue:[]},title:{name:xv.title}},superTypes:[np.$type]},Edge:{name:zu.$type,properties:{lhsDir:{name:zu.lhsDir},lhsGroup:{name:zu.lhsGroup,defaultValue:!1},lhsId:{name:zu.lhsId},lhsInto:{name:zu.lhsInto,defaultValue:!1},rhsDir:{name:zu.rhsDir},rhsGroup:{name:zu.rhsGroup,defaultValue:!1},rhsId:{name:zu.rhsId},rhsInto:{name:zu.rhsInto,defaultValue:!1},title:{name:zu.title}},superTypes:[]},Entry:{name:SV.$type,properties:{axis:{name:SV.axis,referenceType:qA.$type},value:{name:SV.value}},superTypes:[]},GitGraph:{name:np.$type,properties:{accDescr:{name:np.accDescr},accTitle:{name:np.accTitle},statements:{name:np.statements,defaultValue:[]},title:{name:np.title}},superTypes:[]},Group:{name:UT.$type,properties:{icon:{name:UT.icon},id:{name:UT.id},in:{name:UT.in},title:{name:UT.title}},superTypes:[]},Info:{name:Tv.$type,properties:{accDescr:{name:Tv.accDescr},accTitle:{name:Tv.accTitle},title:{name:Tv.title}},superTypes:[]},Item:{name:WT.$type,properties:{classSelector:{name:WT.classSelector},name:{name:WT.name}},superTypes:[]},Junction:{name:EV.$type,properties:{id:{name:EV.id},in:{name:EV.in}},superTypes:[]},Leaf:{name:HA.$type,properties:{classSelector:{name:HA.classSelector},name:{name:HA.name},value:{name:HA.value}},superTypes:[WT.$type]},Merge:{name:Om.$type,properties:{branch:{name:Om.branch},id:{name:Om.id},tags:{name:Om.tags,defaultValue:[]},type:{name:Om.type}},superTypes:[Mm.$type]},Option:{name:CV.$type,properties:{name:{name:CV.name},value:{name:CV.value,defaultValue:!1}},superTypes:[]},Packet:{name:Pm.$type,properties:{accDescr:{name:Pm.accDescr},accTitle:{name:Pm.accTitle},blocks:{name:Pm.blocks,defaultValue:[]},title:{name:Pm.title}},superTypes:[]},PacketBlock:{name:Bm.$type,properties:{bits:{name:Bm.bits},end:{name:Bm.end},label:{name:Bm.label},start:{name:Bm.start}},superTypes:[]},Pie:{name:ip.$type,properties:{accDescr:{name:ip.accDescr},accTitle:{name:ip.accTitle},sections:{name:ip.sections,defaultValue:[]},showData:{name:ip.showData,defaultValue:!1},title:{name:ip.title}},superTypes:[]},PieSection:{name:YT.$type,properties:{label:{name:YT.label},value:{name:YT.value}},superTypes:[]},Radar:{name:rp.$type,properties:{accDescr:{name:rp.accDescr},accTitle:{name:rp.accTitle},axes:{name:rp.axes,defaultValue:[]},curves:{name:rp.curves,defaultValue:[]},options:{name:rp.options,defaultValue:[]},title:{name:rp.title}},superTypes:[]},Section:{name:AV.$type,properties:{classSelector:{name:AV.classSelector},name:{name:AV.name}},superTypes:[WT.$type]},Service:{name:bv.$type,properties:{icon:{name:bv.icon},iconText:{name:bv.iconText},id:{name:bv.id},in:{name:bv.in},title:{name:bv.title}},superTypes:[]},Statement:{name:Mm.$type,properties:{},superTypes:[]},Treemap:{name:Fm.$type,properties:{accDescr:{name:Fm.accDescr},accTitle:{name:Fm.accTitle},title:{name:Fm.title},TreemapRows:{name:Fm.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:_V.$type,properties:{indent:{name:_V.indent},item:{name:_V.item}},superTypes:[]}}}static{kt(this,"MermaidAstReflection")}},Ac=new p4e,Snt=kt(()=>Kbe??(Kbe=$u(`{"$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"),Ent=kt(()=>Qbe??(Qbe=$u(`{"$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"),Cnt=kt(()=>Zbe??(Zbe=$u(`{"$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"),Ant=kt(()=>Jbe??(Jbe=$u(`{"$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"),_nt=kt(()=>e4e??(e4e=$u(`{"$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"),Dnt=kt(()=>t4e??(t4e=$u(`{"$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"),Rnt=kt(()=>r4e??(r4e=$u(`{"$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"),Lnt={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Nnt={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Mnt={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Int={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ont={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Pnt={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Bnt={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Gs={AstReflection:kt(()=>new p4e,"AstReflection")},PV={Grammar:kt(()=>Snt(),"Grammar"),LanguageMetaData:kt(()=>Lnt,"LanguageMetaData"),parser:{}},BV={Grammar:kt(()=>Ent(),"Grammar"),LanguageMetaData:kt(()=>Nnt,"LanguageMetaData"),parser:{}},FV={Grammar:kt(()=>Cnt(),"Grammar"),LanguageMetaData:kt(()=>Mnt,"LanguageMetaData"),parser:{}},$V={Grammar:kt(()=>Ant(),"Grammar"),LanguageMetaData:kt(()=>Int,"LanguageMetaData"),parser:{}},zV={Grammar:kt(()=>_nt(),"Grammar"),LanguageMetaData:kt(()=>Ont,"LanguageMetaData"),parser:{}},GV={Grammar:kt(()=>Dnt(),"Grammar"),LanguageMetaData:kt(()=>Pnt,"LanguageMetaData"),parser:{}},VV={Grammar:kt(()=>Rnt(),"Grammar"),LanguageMetaData:kt(()=>Bnt,"LanguageMetaData"),parser:{}},Fnt=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,$nt=/accTitle[\t ]*:([^\n\r]*)/,znt=/title([\t ][^\n\r]*|)/,Gnt={ACC_DESCR:Fnt,ACC_TITLE:$nt,TITLE:znt},ap=class extends wm{static{o(this,"AbstractMermaidValueConverter")}static{kt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=Gnt[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},Kh=class extends ap{static{o(this,"CommonValueConverter")}static{kt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},ds=class extends jh{static{o(this,"AbstractMermaidTokenBuilder")}static{kt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},Vnt=class extends ds{static{o(this,"CommonTokenBuilder")}static{kt(this,"CommonTokenBuilder")}}});function jA(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),BV,YA);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var qnt,YA,qV=I(()=>{"use strict";ps();Yo();qnt=class extends ds{static{o(this,"GitGraphTokenBuilder")}static{kt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},YA={parser:{TokenBuilder:kt(()=>new qnt,"TokenBuilder"),ValueConverter:kt(()=>new Kh,"ValueConverter")}};o(jA,"createGitGraphServices");kt(jA,"createGitGraphServices")});function KA(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),FV,XA);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var Unt,XA,UV=I(()=>{"use strict";ps();Yo();Unt=class extends ds{static{o(this,"InfoTokenBuilder")}static{kt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},XA={parser:{TokenBuilder:kt(()=>new Unt,"TokenBuilder"),ValueConverter:kt(()=>new Kh,"ValueConverter")}};o(KA,"createInfoServices");kt(KA,"createInfoServices")});function ZA(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),$V,QA);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var Wnt,QA,WV=I(()=>{"use strict";ps();Yo();Wnt=class extends ds{static{o(this,"PacketTokenBuilder")}static{kt(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},QA={parser:{TokenBuilder:kt(()=>new Wnt,"TokenBuilder"),ValueConverter:kt(()=>new Kh,"ValueConverter")}};o(ZA,"createPacketServices");kt(ZA,"createPacketServices")});function e7(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),zV,JA);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var Hnt,Ynt,JA,HV=I(()=>{"use strict";ps();Yo();Hnt=class extends ds{static{o(this,"PieTokenBuilder")}static{kt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},Ynt=class extends ap{static{o(this,"PieValueConverter")}static{kt(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},JA={parser:{TokenBuilder:kt(()=>new Hnt,"TokenBuilder"),ValueConverter:kt(()=>new Ynt,"ValueConverter")}};o(e7,"createPieServices");kt(e7,"createPieServices")});function r7(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),PV,t7);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var jnt,Xnt,t7,YV=I(()=>{"use strict";ps();Yo();jnt=class extends ds{static{o(this,"ArchitectureTokenBuilder")}static{kt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},Xnt=class extends ap{static{o(this,"ArchitectureValueConverter")}static{kt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},t7={parser:{TokenBuilder:kt(()=>new jnt,"TokenBuilder"),ValueConverter:kt(()=>new Xnt,"ValueConverter")}};o(r7,"createArchitectureServices");kt(r7,"createArchitectureServices")});function i7(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),GV,n7);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}var Knt,n7,jV=I(()=>{"use strict";ps();Yo();Knt=class extends ds{static{o(this,"RadarTokenBuilder")}static{kt(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},n7={parser:{TokenBuilder:kt(()=>new Knt,"TokenBuilder"),ValueConverter:kt(()=>new Kh,"ValueConverter")}};o(i7,"createRadarServices");kt(i7,"createRadarServices")});function m4e(t){let e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){let n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}function s7(t=Ha){let e=ei(Wa(t),Gs),r=ei(Ua({shared:e}),VV,a7);return e.ServiceRegistry.register(r),m4e(r),{shared:e,Treemap:r}}var Qnt,Znt,Jnt,eit,a7,XV=I(()=>{"use strict";ps();Yo();Qnt=class extends ds{static{o(this,"TreemapTokenBuilder")}static{kt(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},Znt=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Jnt=class extends ap{static{o(this,"TreemapValueConverter")}static{kt(this,"TreemapValueConverter")}runCustomConverter(t,e,r){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR")return e.substring(1,e.length-1);if(t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;let n=Znt.exec(e);if(n)return{$type:"ClassDefStatement",className:n[1],styleText:n[2]||void 0}}}};o(m4e,"registerValidationChecks");kt(m4e,"registerValidationChecks");eit=class{static{o(this,"TreemapValidator")}static{kt(this,"TreemapValidator")}checkSingleRoot(t,e){let r;for(let n of t.TreemapRows)n.item&&(r===void 0&&n.indent===void 0?r=0:n.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):r!==void 0&&r>=parseInt(n.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},a7={parser:{TokenBuilder:kt(()=>new Qnt,"TokenBuilder"),ValueConverter:kt(()=>new Jnt,"ValueConverter")},validation:{TreemapValidator:kt(()=>new eit,"TreemapValidator")}};o(s7,"createTreemapServices");kt(s7,"createTreemapServices")});var g4e={};vr(g4e,{InfoModule:()=>XA,createInfoServices:()=>KA});var y4e=I(()=>{"use strict";UV();ps()});var v4e={};vr(v4e,{PacketModule:()=>QA,createPacketServices:()=>ZA});var x4e=I(()=>{"use strict";WV();ps()});var b4e={};vr(b4e,{PieModule:()=>JA,createPieServices:()=>e7});var T4e=I(()=>{"use strict";HV();ps()});var w4e={};vr(w4e,{ArchitectureModule:()=>t7,createArchitectureServices:()=>r7});var k4e=I(()=>{"use strict";YV();ps()});var S4e={};vr(S4e,{GitGraphModule:()=>YA,createGitGraphServices:()=>jA});var E4e=I(()=>{"use strict";qV();ps()});var C4e={};vr(C4e,{RadarModule:()=>n7,createRadarServices:()=>i7});var A4e=I(()=>{"use strict";jV();ps()});var _4e={};vr(_4e,{TreemapModule:()=>a7,createTreemapServices:()=>s7});var D4e=I(()=>{"use strict";XV();ps()});async function Vs(t,e){let r=tit[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);Qh[t]||await r();let i=Qh[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new rit(i);return i.value}var Qh,tit,rit,sp=I(()=>{"use strict";qV();UV();WV();HV();YV();jV();XV();ps();Qh={},tit={info:kt(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(y4e(),g4e)),e=t().Info.parser.LangiumParser;Qh.info=e},"info"),packet:kt(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(x4e(),v4e)),e=t().Packet.parser.LangiumParser;Qh.packet=e},"packet"),pie:kt(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(T4e(),b4e)),e=t().Pie.parser.LangiumParser;Qh.pie=e},"pie"),architecture:kt(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(k4e(),w4e)),e=t().Architecture.parser.LangiumParser;Qh.architecture=e},"architecture"),gitGraph:kt(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(E4e(),S4e)),e=t().GitGraph.parser.LangiumParser;Qh.gitGraph=e},"gitGraph"),radar:kt(async()=>{let{createRadarServices:t}=await Promise.resolve().then(()=>(A4e(),C4e)),e=t().Radar.parser.LangiumParser;Qh.radar=e},"radar"),treemap:kt(async()=>{let{createTreemapServices:t}=await Promise.resolve().then(()=>(D4e(),_4e)),e=t().Treemap.parser.LangiumParser;Qh.treemap=e},"treemap")};o(Vs,"parse");kt(Vs,"parse");rit=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(` -`),r=t.parserErrors.map(n=>n.message).join(` -`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{kt(this,"MermaidParseError")}}});function Pl(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var $m=I(()=>{"use strict";o(Pl,"populateCommonDb")});var fn,o7=I(()=>{"use strict";fn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var wv,KV=I(()=>{"use strict";wv=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function QV(){return yN({length:7})}function iit(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function R4e(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function N4e(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in Nt.records.branches)Nt.records.branches.get(i)===e.id&&n.push(i);if(X.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=Nt.records.commits.get(e.parents[0]);R4e(t,e,i),e.parents[1]&&t.push(Nt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=Nt.records.commits.get(e.parents[0]);R4e(t,e,i)}}t=iit(t,i=>i.id),N4e(t)}var nit,zm,Nt,ait,sit,oit,lit,cit,uit,hit,L4e,fit,dit,pit,mit,git,M4e,yit,vit,xit,l7,ZV=I(()=>{"use strict";gt();sr();ti();wr();ki();o7();KV();Ka();nit=gr.gitGraph,zm=o(()=>Qn({...nit,...tr().gitGraph}),"getConfig"),Nt=new wv(()=>{let t=zm(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});o(QV,"getID");o(iit,"uniqBy");ait=o(function(t){Nt.records.direction=t},"setDirection"),sit=o(function(t){X.debug("options str",t),t=t?.trim(),t=t||"{}";try{Nt.records.options=JSON.parse(t)}catch(e){X.error("error while parsing gitGraph options",e.message)}},"setOptions"),oit=o(function(){return Nt.records.options},"getOptions"),lit=o(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;X.info("commit",e,r,n,i),X.debug("Entering commit:",e,r,n,i);let a=zm();r=nt.sanitizeText(r,a),e=nt.sanitizeText(e,a),i=i?.map(l=>nt.sanitizeText(l,a));let s={id:r||Nt.records.seq+"-"+QV(),message:e,seq:Nt.records.seq++,type:n??fn.NORMAL,tags:i??[],parents:Nt.records.head==null?[]:[Nt.records.head.id],branch:Nt.records.currBranch};Nt.records.head=s,X.info("main branch",a.mainBranchName),Nt.records.commits.has(s.id)&&X.warn(`Commit ID ${s.id} already exists`),Nt.records.commits.set(s.id,s),Nt.records.branches.set(Nt.records.currBranch,s.id),X.debug("in pushCommit "+s.id)},"commit"),cit=o(function(t){let e=t.name,r=t.order;if(e=nt.sanitizeText(e,zm()),Nt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Nt.records.branches.set(e,Nt.records.head!=null?Nt.records.head.id:null),Nt.records.branchConfig.set(e,{name:e,order:r}),L4e(e),X.debug("in createBranch")},"branch"),uit=o(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=zm();e=nt.sanitizeText(e,a),r&&(r=nt.sanitizeText(r,a));let s=Nt.records.branches.get(Nt.records.currBranch),l=Nt.records.branches.get(e),u=s?Nt.records.commits.get(s):void 0,h=l?Nt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Nt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${Nt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!Nt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&Nt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${Nt.records.seq}-${QV()}`,message:`merged branch ${e} into ${Nt.records.currBranch}`,seq:Nt.records.seq++,parents:Nt.records.head==null?[]:[Nt.records.head.id,f],branch:Nt.records.currBranch,type:fn.MERGE,customType:n,customId:!!r,tags:i??[]};Nt.records.head=d,Nt.records.commits.set(d.id,d),Nt.records.branches.set(Nt.records.currBranch,d.id),X.debug(Nt.records.branches),X.debug("in mergeBranch")},"merge"),hit=o(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;X.debug("Entering cherryPick:",e,r,n);let a=zm();if(e=nt.sanitizeText(e,a),r=nt.sanitizeText(r,a),n=n?.map(u=>nt.sanitizeText(u,a)),i=nt.sanitizeText(i,a),!e||!Nt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=Nt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===fn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Nt.records.commits.has(r)){if(l===Nt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=Nt.records.branches.get(Nt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Nt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=Nt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Nt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:Nt.records.seq+"-"+QV(),message:`cherry-picked ${s?.message} into ${Nt.records.currBranch}`,seq:Nt.records.seq++,parents:Nt.records.head==null?[]:[Nt.records.head.id,s.id],branch:Nt.records.currBranch,type:fn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===fn.MERGE?`|parent:${i}`:""}`]};Nt.records.head=f,Nt.records.commits.set(f.id,f),Nt.records.branches.set(Nt.records.currBranch,f.id),X.debug(Nt.records.branches),X.debug("in cherryPick")}},"cherryPick"),L4e=o(function(t){if(t=nt.sanitizeText(t,zm()),Nt.records.branches.has(t)){Nt.records.currBranch=t;let e=Nt.records.branches.get(Nt.records.currBranch);e===void 0||!e?Nt.records.head=null:Nt.records.head=Nt.records.commits.get(e)??null}else{let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");o(R4e,"upsert");o(N4e,"prettyPrintCommitHistory");fit=o(function(){X.debug(Nt.records.commits);let t=M4e()[0];N4e([t])},"prettyPrint"),dit=o(function(){Nt.reset(),Mr()},"clear"),pit=o(function(){return[...Nt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),mit=o(function(){return Nt.records.branches},"getBranches"),git=o(function(){return Nt.records.commits},"getCommits"),M4e=o(function(){let t=[...Nt.records.commits.values()];return t.forEach(function(e){X.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),yit=o(function(){return Nt.records.currBranch},"getCurrentBranch"),vit=o(function(){return Nt.records.direction},"getDirection"),xit=o(function(){return Nt.records.head},"getHead"),l7={commitType:fn,getConfig:zm,setDirection:ait,setOptions:sit,getOptions:oit,commit:lit,branch:cit,merge:uit,cherryPick:hit,checkout:L4e,prettyPrint:fit,clear:dit,getBranchesAsObjArray:pit,getBranches:mit,getCommits:git,getCommitsArray:M4e,getCurrentBranch:yit,getDirection:vit,getHead:xit,setAccTitle:zr,getAccTitle:Vr,getAccDescription:Ur,setAccDescription:qr,setDiagramTitle:Xr,getDiagramTitle:Wr}});var bit,Tit,wit,kit,Sit,Eit,Cit,I4e,O4e=I(()=>{"use strict";sp();gt();$m();ZV();o7();bit=o((t,e)=>{Pl(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)Tit(r,e)},"populate"),Tit=o((t,e)=>{let n={Commit:o(i=>e.commit(wit(i)),"Commit"),Branch:o(i=>e.branch(kit(i)),"Branch"),Merge:o(i=>e.merge(Sit(i)),"Merge"),Checkout:o(i=>e.checkout(Eit(i)),"Checkout"),CherryPicking:o(i=>e.cherryPick(Cit(i)),"CherryPicking")}[t.$type];n?n(t):X.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),wit=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?fn[t.type]:fn.NORMAL,tags:t.tags??void 0}),"parseCommit"),kit=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),Sit=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?fn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Eit=o(t=>t.branch,"parseCheckout"),Cit=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),I4e={parse:o(async t=>{let e=await Vs("gitGraph",t);X.debug(e),bit(e,l7)},"parse")}});var Ait,Bl,lp,cp,Vu,Zh,Gm,So,Eo,c7,jT,u7,op,Qr,_it,B4e,F4e,Dit,Rit,Lit,Nit,Mit,Iit,Oit,Pit,Bit,Fit,$it,zit,P4e,Git,XT,Vit,qit,Uit,Wit,Hit,$4e,z4e=I(()=>{"use strict";kr();Qt();gt();sr();o7();Ait=xe(),Bl=Ait?.gitGraph,lp=10,cp=40,Vu=4,Zh=2,Gm=8,So=new Map,Eo=new Map,c7=30,jT=new Map,u7=[],op=0,Qr="LR",_it=o(()=>{So.clear(),Eo.clear(),jT.clear(),op=0,u7=[],Qr="LR"},"clear"),B4e=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),F4e=o(t=>{let e,r,n;return Qr==="BT"?(r=o((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=o((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=Qr==="TB"||Qr=="BT"?Eo.get(i)?.y:Eo.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),Dit=o(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Eo.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),Rit=o((t,e,r)=>{let n=r,i=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(n=Nit(l),i=Math.max(n,i)):a.push(l),Mit(l,n)}),n=i,a.forEach(s=>{Iit(s,n,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=Dit(l.parents);n=Eo.get(u).y-cp,n<=i&&(i=n);let h=So.get(l.branch).pos,f=n-lp;Eo.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),Lit=o(t=>{let e=F4e(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Eo.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),Nit=o(t=>Lit(t)+cp,"calculateCommitPosition"),Mit=o((t,e)=>{let r=So.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+lp;return Eo.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),Iit=o((t,e,r)=>{let n=So.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Eo.set(t.id,{x:a,y:i})},"setRootPosition"),Oit=o((t,e,r,n,i,a)=>{if(a===fn.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%Gm} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%Gm} ${n}-inner`);else if(a===fn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let s=t.append("circle");if(s.attr("cx",r.x),s.attr("cy",r.y),s.attr("r",e.type===fn.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%Gm}`),a===fn.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%Gm}`)}a===fn.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%Gm}`)}},"drawCommitBullet"),Pit=o((t,e,r,n)=>{if(e.type!==fn.CHERRY_PICK&&(e.customId&&e.type===fn.MERGE||e.type!==fn.MERGE)&&Bl?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=s.node()?.getBBox();if(l&&(a.attr("x",r.posWithOffset-l.width/2-Zh).attr("y",r.y+13.5).attr("width",l.width+2*Zh).attr("height",l.height+2*Zh),Qr==="TB"||Qr==="BT"?(a.attr("x",r.x-(l.width+4*Vu+5)).attr("y",r.y-12),s.attr("x",r.x-(l.width+4*Vu)).attr("y",r.y+l.height-12)):s.attr("x",r.posWithOffset-l.width/2),Bl.rotateCommitLabel))if(Qr==="TB"||Qr==="BT")s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;i.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),Bit=o((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` - ${n-a/2-Vu/2},${m+Zh} - ${n-a/2-Vu/2},${m-Zh} - ${r.posWithOffset-a/2-Vu},${m-p-Zh} - ${r.posWithOffset+a/2+Vu},${m-p-Zh} - ${r.posWithOffset+a/2+Vu},${m+p+Zh} - ${r.posWithOffset-a/2-Vu},${m+p+Zh}`),h.attr("cy",m).attr("cx",n-a/2+Vu/2).attr("r",1.5).attr("class","tag-hole"),Qr==="TB"||Qr==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` +`)}return r}},ZA=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(cTe,"fillNewlines")});var K4,SV=O(()=>{"use strict";us();EV();K4=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&wV(r))return TV(r).toMarkdown({renderLink:o((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:o(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,l=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=cs(e).localSymbols;if(!i)return;let a=e;do{let l=i.getStream(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var Q4,CV=O(()=>{"use strict";fA();Sc();Q4=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Vz(e)?e.$comment:oF(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}});var Z4,AV,_V,DV=O(()=>{"use strict";$l();gA();Z4=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},AV=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Vs,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Vs;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Fl)}),this.queue.push(r),r.promise}},_V=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new pi.Emitter,this.deferred=new Vs,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Fl),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 Vs,this.sendMessage(e),this.deferred.promise}}});var J4,RV=O(()=>{"use strict";Bl();$l();J4=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Nr.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=lA();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=Nr.CancellationToken.None){let i=new Vs,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){Gu(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var e3,LV=O(()=>{"use strict";Q6();Zo();kc();us();Kd();Sc();e3=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new _m,this.tokenTypeIdMap=new _m,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Ps(e))r.set(i,{});if(e.$cstNode)for(let i of sm(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)Si(l)?s.push(this.dehydrateAstNode(l,r)):oa(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else Si(a)?n[i]=this.dehydrateAstNode(a,r):oa(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return fT(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),wc(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):Nd(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Ps(e))r.set(a,{});let i;if(e.$cstNode)for(let a of sm(e.$cstNode)){let s;"fullText"in a?(s=new Jy(a.fullText),i=s):"content"in a?s=new km:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)Si(l)?s.push(this.setParent(this.hydrateAstNode(l,r),n)):oa(l)?s.push(this.hydrateReference(l,n,i,r)):s.push(l)}else Si(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):oa(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),wc(i))for(let a of e.content){let s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new wm(n,i,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Ps(this.grammar))wT(r)&&this.grammarElementIdMap.set(r,e++)}}});function Ya(t){return{documentation:{CommentProvider:o(e=>new Q4(e),"CommentProvider"),DocumentationProvider:o(e=>new K4(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new Z4(e),"AsyncParser"),GrammarConfig:o(e=>AF(e),"GrammarConfig"),LangiumParser:o(e=>kz(e),"LangiumParser"),CompletionParser:o(e=>Tz(e),"CompletionParser"),ValueConverter:o(()=>new Sm,"ValueConverter"),TokenBuilder:o(()=>new ef,"TokenBuilder"),Lexer:o(e=>new Im(e),"Lexer"),ParserErrorMessageProvider:o(()=>new ev,"ParserErrorMessageProvider"),LexerErrorMessageProvider:o(()=>new Y4,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new M4,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new L4(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new N4(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new b4(e),"Linker"),NameProvider:o(()=>new T4,"NameProvider"),ScopeProvider:o(e=>new C4(e),"ScopeProvider"),ScopeComputation:o(e=>new k4(e),"ScopeComputation"),References:o(e=>new w4(e),"References")},serializer:{Hydrator:o(e=>new e3(e),"Hydrator"),JsonSerializer:o(e=>new A4(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new R4(e),"DocumentValidator"),ValidationRegistry:o(e=>new D4(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function ja(t){return{ServiceRegistry:o(e=>new _4(e),"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new x4(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new v4(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new U4(e),"DocumentBuilder"),IndexManager:o(e=>new W4(e),"IndexManager"),WorkspaceManager:o(e=>new H4(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new J4,"WorkspaceLock"),ConfigurationProvider:o(e=>new I4(e),"ConfigurationProvider")},profilers:{}}}var NV=O(()=>{"use strict";_F();wz();Ez();nA();Sz();Oz();Pz();Bz();Fz();Gz();fA();qz();Uz();pA();Wz();Hz();Yz();pV();ov();mV();gV();KA();SV();CV();m4();DV();RV();LV();o(Ya,"createDefaultCoreModule");o(ja,"createDefaultSharedCoreModule")});function ii(t,e,r,n,i,a,s,l,u){let h=[t,e,r,n,i,a,s,l,u].reduce(t3,{});return vTe(h)}function yTe(t){if(t&&t[gTe])for(let e of Object.values(t))yTe(e);return t}function vTe(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),set:o(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:o((n,i)=>i===gTe?!0:mTe(n,i,t,e||r),"get"),getOwnPropertyDescriptor:o((n,i)=>(mTe(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:o((n,i)=>i in t,"has"),ownKeys:o(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}function mTe(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===pTe)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=pTe;try{t[e]=typeof i=="function"?i(n):vTe(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function t3(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=t3(i,n):t[r]=t3({},n)}else t[r]=n}return t}var MV,gTe,pTe,IV=O(()=>{"use strict";(function(t){t.merge=(e,r)=>t3(t3({},e),r)})(MV||(MV={}));o(ii,"inject");gTe=Symbol("isProxy");o(yTe,"eagerLoad");o(vTe,"_inject");pTe=Symbol();o(mTe,"_resolve");o(t3,"_merge")});var xTe=O(()=>{"use strict"});var bTe=O(()=>{"use strict";CV();SV();EV()});var TTe=O(()=>{"use strict"});var wTe=O(()=>{"use strict";_F();TTe()});var OV,Om,JA,PV,kTe=O(()=>{"use strict";Hd();nA();KA();OV={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Om||(Om={}));JA=class extends ef{static{o(this,"IndentationAwareTokenBuilder")}constructor(e=OV){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...OV,...e},this.indentTokenType=Ud({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=Ud({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!XA(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:l}=this.options,u,h,f,d=[];for(let p of n){for(let[m,g]of l)p.name===m?p.PUSH_MODE=Om.IGNORE_INDENTATION:p.name===g&&(p.POP_MODE=!0);p.name===a?u=p:p.name===i?h=p:p.name===s?f=p:d.push(p)}if(!u||!h||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[Om.REGULAR]:[u,h,...d,f],[Om.IGNORE_INDENTATION]:[...d,f]},defaultMode:Om.REGULAR}:[u,h,f,...d]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r +`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,r,n,i){let a=this.getLineNumber(r,i);return Kh(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);return a<=s?null:(this.indentationStack.push(a),l)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);if(a>=s)return null;let u=this.indentationStack.lastIndexOf(a);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:l?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let h=this.indentationStack.length-u-1,f=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let d=0;d1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},PV=class extends Im{static{o(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof JA)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=jA){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=s.tokenTypeIdx,h=[],f=n.tokens.length-1;for(let d=0;d=0&&h.push(n.tokens[f]),n.tokens=h,n}}});var ETe=O(()=>{"use strict"});var STe=O(()=>{"use strict";DV();wz();Q6();kTe();Ez();m4();KA();rA();ETe();nA();Sz()});var CTe=O(()=>{"use strict";Oz();Pz();Bz();zz();Fz();Gz()});var ATe=O(()=>{"use strict";LV();fA()});var e7,Xa,BV=O(()=>{"use strict";e7=class{static{o(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[]}},Xa={fileSystemProvider:o(()=>new e7,"fileSystemProvider")}});function sat(){let t=ii(ja(Xa),aat),e=ii(Ya({shared:t}),iat);return t.ServiceRegistry.register(e),e}function Hu(t){let e=sat(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ca.parse(`memory:/${r.name??"grammar"}.langium`)),r}var iat,aat,_Te=O(()=>{"use strict";NV();IV();Zo();BV();Nc();iat={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},aat={AstReflection:o(()=>new xy,"AstReflection")};o(sat,"createMinimalGrammarServices");o(Hu,"loadGrammarFromJson")});var ln={};vr(ln,{AstUtils:()=>_C,BiMap:()=>_m,Cancellation:()=>Nr,ContextCache:()=>Dm,CstUtils:()=>jC,DONE_RESULT:()=>ls,Deferred:()=>Vs,Disposable:()=>ap,DisposableCache:()=>cv,DocumentCache:()=>uA,EMPTY_STREAM:()=>Md,ErrorWithLocation:()=>lm,GrammarUtils:()=>t6,MultiMap:()=>fs,OperationCancelled:()=>Fl,Reduction:()=>cy,RegExpUtils:()=>ZC,SimpleCache:()=>S4,StreamImpl:()=>Ko,TreeStreamImpl:()=>Nu,URI:()=>ca,UriTrie:()=>sv,UriUtils:()=>Fi,WorkspaceCache:()=>uv,assertCondition:()=>o1e,assertUnreachable:()=>Ou,delayNextTick:()=>Nz,interruptAndCheck:()=>Ci,isOperationCancelled:()=>Gu,loadGrammarFromJson:()=>Hu,setInterruptionPeriod:()=>_ve,startCancelableOperation:()=>lA,stream:()=>Hr});var DTe=O(()=>{"use strict";hA();gA();jr(ln,pi);Kd();dV();XC();_Te();$l();Os();Nc();us();Bl();Sc();Rc();wy()});var RTe=O(()=>{"use strict";Uz();pA()});var FV,t7,LTe=O(()=>{"use strict";Kd();FV=class{static{o(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 fs}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new t7(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let l=r.entries.get(s),u=l.reduce((h,f)=>h+f);n.push({name:`${r.identifier}.${s}`,count:l.length,duration:u})}let i=r.duration-n.map(s=>s.duration).reduce((s,l)=>s+l,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,l)=>l.duration-s.duration);function a(s){return Math.round(100*s)/100}return o(a,"Round"),console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":a(100*s.duration/r.duration),"Time (ms)":a(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},t7=class{static{o(this,"ProfilingTask")}constructor(e,r){this.stack=[],this.entries=new fs,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let 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){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}}});var NTe=O(()=>{"use strict";Wz();Hz();Yz();pV();ov();BV();mV();RV();gV();LTe()});var _a={};vr(_a,{AbstractAstReflection:()=>Y0,AbstractCstNode:()=>h4,AbstractLangiumParser:()=>f4,AbstractParserErrorMessageProvider:()=>J6,AbstractThreadedAsyncParser:()=>AV,AstUtils:()=>_C,BiMap:()=>_m,Cancellation:()=>Nr,CompositeCstNodeImpl:()=>km,ContextCache:()=>Dm,CstNodeBuilder:()=>u4,CstUtils:()=>jC,DEFAULT_TOKENIZE_OPTIONS:()=>jA,DONE_RESULT:()=>ls,DatatypeSymbol:()=>Z6,DefaultAstNodeDescriptionProvider:()=>L4,DefaultAstNodeLocator:()=>M4,DefaultAsyncParser:()=>Z4,DefaultCommentProvider:()=>Q4,DefaultConfigurationProvider:()=>I4,DefaultDocumentBuilder:()=>U4,DefaultDocumentValidator:()=>R4,DefaultHydrator:()=>e3,DefaultIndexManager:()=>W4,DefaultJsonSerializer:()=>A4,DefaultLangiumDocumentFactory:()=>v4,DefaultLangiumDocuments:()=>x4,DefaultLangiumProfiler:()=>FV,DefaultLexer:()=>Im,DefaultLexerErrorMessageProvider:()=>Y4,DefaultLinker:()=>b4,DefaultNameProvider:()=>T4,DefaultReferenceDescriptionProvider:()=>N4,DefaultReferences:()=>w4,DefaultScopeComputation:()=>k4,DefaultScopeProvider:()=>C4,DefaultServiceRegistry:()=>_4,DefaultTokenBuilder:()=>ef,DefaultValueConverter:()=>Sm,DefaultWorkspaceLock:()=>J4,DefaultWorkspaceManager:()=>H4,Deferred:()=>Vs,Disposable:()=>ap,DisposableCache:()=>cv,DocumentCache:()=>uA,DocumentState:()=>qr,DocumentValidator:()=>zl,EMPTY_SCOPE:()=>ait,EMPTY_STREAM:()=>Md,EmptyFileSystem:()=>Xa,EmptyFileSystemProvider:()=>e7,ErrorWithLocation:()=>lm,GrammarAST:()=>ET,GrammarUtils:()=>t6,IndentationAwareLexer:()=>PV,IndentationAwareTokenBuilder:()=>JA,JSDocDocumentationProvider:()=>K4,LangiumCompletionParser:()=>p4,LangiumParser:()=>d4,LangiumParserErrorMessageProvider:()=>ev,LeafCstNodeImpl:()=>wm,LexingMode:()=>Om,MapScope:()=>$z,Module:()=>MV,MultiMap:()=>fs,MultiMapScope:()=>E4,OperationCancelled:()=>Fl,ParserWorker:()=>_V,ProfilingTask:()=>t7,Reduction:()=>cy,RefResolving:()=>Am,RegExpUtils:()=>ZC,RootCstNodeImpl:()=>Jy,SimpleCache:()=>S4,StreamImpl:()=>Ko,StreamScope:()=>lv,TextDocument:()=>iv,TreeStreamImpl:()=>Nu,URI:()=>ca,UriTrie:()=>sv,UriUtils:()=>Fi,VALIDATE_EACH_NODE:()=>Pve,ValidationCategory:()=>dA,ValidationRegistry:()=>D4,ValueConverter:()=>zu,WorkspaceCache:()=>uv,assertCondition:()=>o1e,assertUnreachable:()=>Ou,createCompletionParser:()=>Tz,createDefaultCoreModule:()=>Ya,createDefaultSharedCoreModule:()=>ja,createGrammarConfig:()=>AF,createLangiumParser:()=>kz,createParser:()=>g4,delayNextTick:()=>Nz,diagnosticData:()=>Rm,eagerLoad:()=>yTe,getDiagnosticRange:()=>Bve,indentationBuilderDefaultOptions:()=>OV,inject:()=>ii,interruptAndCheck:()=>Ci,isAstNode:()=>Si,isAstNodeDescription:()=>PB,isAstNodeWithComment:()=>Vz,isCompositeCstNode:()=>wc,isIMultiModeLexerDefinition:()=>vV,isJSDoc:()=>wV,isLeafCstNode:()=>Nd,isLinkingError:()=>j0,isMultiReference:()=>Xo,isNamed:()=>Ive,isOperationCancelled:()=>Gu,isReference:()=>oa,isRootCstNode:()=>fT,isTokenTypeArray:()=>XA,isTokenTypeDictionary:()=>yV,loadGrammarFromJson:()=>Hu,parseJSDoc:()=>TV,prepareLangiumParser:()=>kve,setInterruptionPeriod:()=>_ve,startCancelableOperation:()=>lA,stream:()=>Hr,toDiagnosticData:()=>Fve,toDiagnosticSeverity:()=>mA});var tl=O(()=>{"use strict";NV();IV();qz();xTe();kc();bTe();wTe();STe();CTe();ATe();DTe();jr(_a,ln);RTe();NTe();Zo()});function GTe(t){return Oc.isInstance(t,ju.$type)}function VTe(t){return Oc.isInstance(t,i3.$type)}function qTe(t){return Oc.isInstance(t,Bm.$type)}function UTe(t){return Oc.isInstance(t,op.$type)}function WTe(t){return Oc.isInstance(t,Dv.$type)}function HTe(t){return Oc.isInstance(t,Fm.$type)}function YTe(t){return Oc.isInstance(t,$m.$type)}function jTe(t){return Oc.isInstance(t,zm.$type)}function XTe(t){return Oc.isInstance(t,lp.$type)}function KTe(t){return Oc.isInstance(t,a3.$type)}function QTe(t){return Oc.isInstance(t,Gm.$type)}var oat,kt,WV,HV,YV,jV,XV,KV,QV,Wxr,ju,r7,i3,MTe,n7,$V,Bm,i7,Av,Yu,zV,op,r3,Dv,n3,GV,a7,Fm,VV,$m,zm,lp,a3,sp,qV,_v,Pm,Gm,UV,ZTe,Oc,ITe,lat,OTe,cat,PTe,uat,BTe,hat,FTe,fat,$Te,dat,zTe,pat,mat,gat,yat,vat,xat,bat,Tat,qs,ZV,JV,eq,tq,rq,nq,iq,wat,kat,Eat,Sat,cp,rf,ms,Cat,gs=O(()=>{"use strict";tl();tl();tl();tl();oat=Object.defineProperty,kt=o((t,e)=>oat(t,"name",{value:e,configurable:!0}),"__name");(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(WV||(WV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(HV||(HV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(YV||(YV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(jV||(jV={}));(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(XV||(XV={}));(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(KV||(KV={}));(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(QV||(QV={}));Wxr={...WV.Terminals,...HV.Terminals,...YV.Terminals,...jV.Terminals,...XV.Terminals,...KV.Terminals,...QV.Terminals},ju={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};o(GTe,"isArchitecture");kt(GTe,"isArchitecture");r7={$type:"Axis",label:"label",name:"name"},i3={$type:"Branch",name:"name",order:"order"};o(VTe,"isBranch");kt(VTe,"isBranch");MTe={$type:"Checkout",branch:"branch"},n7={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},$V={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Bm={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};o(qTe,"isCommit");kt(qTe,"isCommit");i7={$type:"Curve",entries:"entries",label:"label",name:"name"},Av={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Yu={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},zV={$type:"Entry",axis:"axis",value:"value"},op={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};o(UTe,"isGitGraph");kt(UTe,"isGitGraph");r3={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Dv={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};o(WTe,"isInfo");kt(WTe,"isInfo");n3={$type:"Item",classSelector:"classSelector",name:"name"},GV={$type:"Junction",id:"id",in:"in"},a7={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Fm={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};o(HTe,"isMerge");kt(HTe,"isMerge");VV={$type:"Option",name:"name",value:"value"},$m={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};o(YTe,"isPacket");kt(YTe,"isPacket");zm={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};o(jTe,"isPacketBlock");kt(jTe,"isPacketBlock");lp={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};o(XTe,"isPie");kt(XTe,"isPie");a3={$type:"PieSection",label:"label",value:"value"};o(KTe,"isPieSection");kt(KTe,"isPieSection");sp={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},qV={$type:"Section",classSelector:"classSelector",name:"name"},_v={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Pm={$type:"Statement"},Gm={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};o(QTe,"isTreemap");kt(QTe,"isTreemap");UV={$type:"TreemapRow",indent:"indent",item:"item"},ZTe=class extends Y0{static{o(this,"MermaidAstReflection")}constructor(){super(...arguments),this.types={Architecture:{name:ju.$type,properties:{accDescr:{name:ju.accDescr},accTitle:{name:ju.accTitle},edges:{name:ju.edges,defaultValue:[]},groups:{name:ju.groups,defaultValue:[]},junctions:{name:ju.junctions,defaultValue:[]},services:{name:ju.services,defaultValue:[]},title:{name:ju.title}},superTypes:[]},Axis:{name:r7.$type,properties:{label:{name:r7.label},name:{name:r7.name}},superTypes:[]},Branch:{name:i3.$type,properties:{name:{name:i3.name},order:{name:i3.order}},superTypes:[Pm.$type]},Checkout:{name:MTe.$type,properties:{branch:{name:MTe.branch}},superTypes:[Pm.$type]},CherryPicking:{name:n7.$type,properties:{id:{name:n7.id},parent:{name:n7.parent},tags:{name:n7.tags,defaultValue:[]}},superTypes:[Pm.$type]},ClassDefStatement:{name:$V.$type,properties:{className:{name:$V.className},styleText:{name:$V.styleText}},superTypes:[]},Commit:{name:Bm.$type,properties:{id:{name:Bm.id},message:{name:Bm.message},tags:{name:Bm.tags,defaultValue:[]},type:{name:Bm.type}},superTypes:[Pm.$type]},Curve:{name:i7.$type,properties:{entries:{name:i7.entries,defaultValue:[]},label:{name:i7.label},name:{name:i7.name}},superTypes:[]},Direction:{name:Av.$type,properties:{accDescr:{name:Av.accDescr},accTitle:{name:Av.accTitle},dir:{name:Av.dir},statements:{name:Av.statements,defaultValue:[]},title:{name:Av.title}},superTypes:[op.$type]},Edge:{name:Yu.$type,properties:{lhsDir:{name:Yu.lhsDir},lhsGroup:{name:Yu.lhsGroup,defaultValue:!1},lhsId:{name:Yu.lhsId},lhsInto:{name:Yu.lhsInto,defaultValue:!1},rhsDir:{name:Yu.rhsDir},rhsGroup:{name:Yu.rhsGroup,defaultValue:!1},rhsId:{name:Yu.rhsId},rhsInto:{name:Yu.rhsInto,defaultValue:!1},title:{name:Yu.title}},superTypes:[]},Entry:{name:zV.$type,properties:{axis:{name:zV.axis,referenceType:r7.$type},value:{name:zV.value}},superTypes:[]},GitGraph:{name:op.$type,properties:{accDescr:{name:op.accDescr},accTitle:{name:op.accTitle},statements:{name:op.statements,defaultValue:[]},title:{name:op.title}},superTypes:[]},Group:{name:r3.$type,properties:{icon:{name:r3.icon},id:{name:r3.id},in:{name:r3.in},title:{name:r3.title}},superTypes:[]},Info:{name:Dv.$type,properties:{accDescr:{name:Dv.accDescr},accTitle:{name:Dv.accTitle},title:{name:Dv.title}},superTypes:[]},Item:{name:n3.$type,properties:{classSelector:{name:n3.classSelector},name:{name:n3.name}},superTypes:[]},Junction:{name:GV.$type,properties:{id:{name:GV.id},in:{name:GV.in}},superTypes:[]},Leaf:{name:a7.$type,properties:{classSelector:{name:a7.classSelector},name:{name:a7.name},value:{name:a7.value}},superTypes:[n3.$type]},Merge:{name:Fm.$type,properties:{branch:{name:Fm.branch},id:{name:Fm.id},tags:{name:Fm.tags,defaultValue:[]},type:{name:Fm.type}},superTypes:[Pm.$type]},Option:{name:VV.$type,properties:{name:{name:VV.name},value:{name:VV.value,defaultValue:!1}},superTypes:[]},Packet:{name:$m.$type,properties:{accDescr:{name:$m.accDescr},accTitle:{name:$m.accTitle},blocks:{name:$m.blocks,defaultValue:[]},title:{name:$m.title}},superTypes:[]},PacketBlock:{name:zm.$type,properties:{bits:{name:zm.bits},end:{name:zm.end},label:{name:zm.label},start:{name:zm.start}},superTypes:[]},Pie:{name:lp.$type,properties:{accDescr:{name:lp.accDescr},accTitle:{name:lp.accTitle},sections:{name:lp.sections,defaultValue:[]},showData:{name:lp.showData,defaultValue:!1},title:{name:lp.title}},superTypes:[]},PieSection:{name:a3.$type,properties:{label:{name:a3.label},value:{name:a3.value}},superTypes:[]},Radar:{name:sp.$type,properties:{accDescr:{name:sp.accDescr},accTitle:{name:sp.accTitle},axes:{name:sp.axes,defaultValue:[]},curves:{name:sp.curves,defaultValue:[]},options:{name:sp.options,defaultValue:[]},title:{name:sp.title}},superTypes:[]},Section:{name:qV.$type,properties:{classSelector:{name:qV.classSelector},name:{name:qV.name}},superTypes:[n3.$type]},Service:{name:_v.$type,properties:{icon:{name:_v.icon},iconText:{name:_v.iconText},id:{name:_v.id},in:{name:_v.in},title:{name:_v.title}},superTypes:[]},Statement:{name:Pm.$type,properties:{},superTypes:[]},Treemap:{name:Gm.$type,properties:{accDescr:{name:Gm.accDescr},accTitle:{name:Gm.accTitle},title:{name:Gm.title},TreemapRows:{name:Gm.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:UV.$type,properties:{indent:{name:UV.indent},item:{name:UV.item}},superTypes:[]}}}static{kt(this,"MermaidAstReflection")}},Oc=new ZTe,lat=kt(()=>ITe??(ITe=Hu(`{"$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"),cat=kt(()=>OTe??(OTe=Hu(`{"$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"),uat=kt(()=>PTe??(PTe=Hu(`{"$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"),hat=kt(()=>BTe??(BTe=Hu(`{"$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"),fat=kt(()=>FTe??(FTe=Hu(`{"$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"),dat=kt(()=>$Te??($Te=Hu(`{"$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"),pat=kt(()=>zTe??(zTe=Hu(`{"$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"),mat={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gat={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},yat={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vat={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xat={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bat={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Tat={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},qs={AstReflection:kt(()=>new ZTe,"AstReflection")},ZV={Grammar:kt(()=>lat(),"Grammar"),LanguageMetaData:kt(()=>mat,"LanguageMetaData"),parser:{}},JV={Grammar:kt(()=>cat(),"Grammar"),LanguageMetaData:kt(()=>gat,"LanguageMetaData"),parser:{}},eq={Grammar:kt(()=>uat(),"Grammar"),LanguageMetaData:kt(()=>yat,"LanguageMetaData"),parser:{}},tq={Grammar:kt(()=>hat(),"Grammar"),LanguageMetaData:kt(()=>vat,"LanguageMetaData"),parser:{}},rq={Grammar:kt(()=>fat(),"Grammar"),LanguageMetaData:kt(()=>xat,"LanguageMetaData"),parser:{}},nq={Grammar:kt(()=>dat(),"Grammar"),LanguageMetaData:kt(()=>bat,"LanguageMetaData"),parser:{}},iq={Grammar:kt(()=>pat(),"Grammar"),LanguageMetaData:kt(()=>Tat,"LanguageMetaData"),parser:{}},wat=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,kat=/accTitle[\t ]*:([^\n\r]*)/,Eat=/title([\t ][^\n\r]*|)/,Sat={ACC_DESCR:wat,ACC_TITLE:kat,TITLE:Eat},cp=class extends Sm{static{o(this,"AbstractMermaidValueConverter")}static{kt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=Sat[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},rf=class extends cp{static{o(this,"CommonValueConverter")}static{kt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},ms=class extends ef{static{o(this,"AbstractMermaidTokenBuilder")}static{kt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},Cat=class extends ms{static{o(this,"CommonTokenBuilder")}static{kt(this,"CommonTokenBuilder")}}});function o7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),JV,s7);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var Aat,s7,aq=O(()=>{"use strict";gs();tl();Aat=class extends ms{static{o(this,"GitGraphTokenBuilder")}static{kt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},s7={parser:{TokenBuilder:kt(()=>new Aat,"TokenBuilder"),ValueConverter:kt(()=>new rf,"ValueConverter")}};o(o7,"createGitGraphServices");kt(o7,"createGitGraphServices")});function c7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),eq,l7);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var _at,l7,sq=O(()=>{"use strict";gs();tl();_at=class extends ms{static{o(this,"InfoTokenBuilder")}static{kt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},l7={parser:{TokenBuilder:kt(()=>new _at,"TokenBuilder"),ValueConverter:kt(()=>new rf,"ValueConverter")}};o(c7,"createInfoServices");kt(c7,"createInfoServices")});function h7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),tq,u7);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var Dat,u7,oq=O(()=>{"use strict";gs();tl();Dat=class extends ms{static{o(this,"PacketTokenBuilder")}static{kt(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},u7={parser:{TokenBuilder:kt(()=>new Dat,"TokenBuilder"),ValueConverter:kt(()=>new rf,"ValueConverter")}};o(h7,"createPacketServices");kt(h7,"createPacketServices")});function d7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),rq,f7);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var Rat,Lat,f7,lq=O(()=>{"use strict";gs();tl();Rat=class extends ms{static{o(this,"PieTokenBuilder")}static{kt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},Lat=class extends cp{static{o(this,"PieValueConverter")}static{kt(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},f7={parser:{TokenBuilder:kt(()=>new Rat,"TokenBuilder"),ValueConverter:kt(()=>new Lat,"ValueConverter")}};o(d7,"createPieServices");kt(d7,"createPieServices")});function m7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),ZV,p7);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var Nat,Mat,p7,cq=O(()=>{"use strict";gs();tl();Nat=class extends ms{static{o(this,"ArchitectureTokenBuilder")}static{kt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},Mat=class extends cp{static{o(this,"ArchitectureValueConverter")}static{kt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE"){let n=e.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()}}},p7={parser:{TokenBuilder:kt(()=>new Nat,"TokenBuilder"),ValueConverter:kt(()=>new Mat,"ValueConverter")}};o(m7,"createArchitectureServices");kt(m7,"createArchitectureServices")});function y7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),nq,g7);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}var Iat,g7,uq=O(()=>{"use strict";gs();tl();Iat=class extends ms{static{o(this,"RadarTokenBuilder")}static{kt(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},g7={parser:{TokenBuilder:kt(()=>new Iat,"TokenBuilder"),ValueConverter:kt(()=>new rf,"ValueConverter")}};o(y7,"createRadarServices");kt(y7,"createRadarServices")});function JTe(t){let e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){let n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}function x7(t=Xa){let e=ii(ja(t),qs),r=ii(Ya({shared:e}),iq,v7);return e.ServiceRegistry.register(r),JTe(r),{shared:e,Treemap:r}}var Oat,Pat,Bat,Fat,v7,hq=O(()=>{"use strict";gs();tl();Oat=class extends ms{static{o(this,"TreemapTokenBuilder")}static{kt(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},Pat=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Bat=class extends cp{static{o(this,"TreemapValueConverter")}static{kt(this,"TreemapValueConverter")}runCustomConverter(t,e,r){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR")return e.substring(1,e.length-1);if(t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;let n=Pat.exec(e);if(n)return{$type:"ClassDefStatement",className:n[1],styleText:n[2]||void 0}}}};o(JTe,"registerValidationChecks");kt(JTe,"registerValidationChecks");Fat=class{static{o(this,"TreemapValidator")}static{kt(this,"TreemapValidator")}checkSingleRoot(t,e){let r;for(let n of t.TreemapRows)n.item&&(r===void 0&&n.indent===void 0?r=0:n.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):r!==void 0&&r>=parseInt(n.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},v7={parser:{TokenBuilder:kt(()=>new Oat,"TokenBuilder"),ValueConverter:kt(()=>new Bat,"ValueConverter")},validation:{TreemapValidator:kt(()=>new Fat,"TreemapValidator")}};o(x7,"createTreemapServices");kt(x7,"createTreemapServices")});var e4e={};vr(e4e,{InfoModule:()=>l7,createInfoServices:()=>c7});var t4e=O(()=>{"use strict";sq();gs()});var r4e={};vr(r4e,{PacketModule:()=>u7,createPacketServices:()=>h7});var n4e=O(()=>{"use strict";oq();gs()});var i4e={};vr(i4e,{PieModule:()=>f7,createPieServices:()=>d7});var a4e=O(()=>{"use strict";lq();gs()});var s4e={};vr(s4e,{ArchitectureModule:()=>p7,createArchitectureServices:()=>m7});var o4e=O(()=>{"use strict";cq();gs()});var l4e={};vr(l4e,{GitGraphModule:()=>s7,createGitGraphServices:()=>o7});var c4e=O(()=>{"use strict";aq();gs()});var u4e={};vr(u4e,{RadarModule:()=>g7,createRadarServices:()=>y7});var h4e=O(()=>{"use strict";uq();gs()});var f4e={};vr(f4e,{TreemapModule:()=>v7,createTreemapServices:()=>x7});var d4e=O(()=>{"use strict";hq();gs()});async function Us(t,e){let r=$at[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);nf[t]||await r();let i=nf[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new zat(i);return i.value}var nf,$at,zat,up=O(()=>{"use strict";aq();sq();oq();lq();cq();uq();hq();gs();nf={},$at={info:kt(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(t4e(),e4e)),e=t().Info.parser.LangiumParser;nf.info=e},"info"),packet:kt(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(n4e(),r4e)),e=t().Packet.parser.LangiumParser;nf.packet=e},"packet"),pie:kt(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(a4e(),i4e)),e=t().Pie.parser.LangiumParser;nf.pie=e},"pie"),architecture:kt(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(o4e(),s4e)),e=t().Architecture.parser.LangiumParser;nf.architecture=e},"architecture"),gitGraph:kt(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(c4e(),l4e)),e=t().GitGraph.parser.LangiumParser;nf.gitGraph=e},"gitGraph"),radar:kt(async()=>{let{createRadarServices:t}=await Promise.resolve().then(()=>(h4e(),u4e)),e=t().Radar.parser.LangiumParser;nf.radar=e},"radar"),treemap:kt(async()=>{let{createTreemapServices:t}=await Promise.resolve().then(()=>(d4e(),f4e)),e=t().Treemap.parser.LangiumParser;nf.treemap=e},"treemap")};o(Us,"parse");kt(Us,"parse");zat=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>{let i=n.line!==void 0&&!isNaN(n.line)?n.line:"?",a=n.column!==void 0&&!isNaN(n.column)?n.column:"?";return`Lexer error on line ${i}, column ${a}: ${n.message}`}).join(` +`),r=t.parserErrors.map(n=>{let i=n.token.startLine!==void 0&&!isNaN(n.token.startLine)?n.token.startLine:"?",a=n.token.startColumn!==void 0&&!isNaN(n.token.startColumn)?n.token.startColumn:"?";return`Parse error on line ${i}, column ${a}: ${n.message}`}).join(` +`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{kt(this,"MermaidParseError")}}});function ql(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var Vm=O(()=>{"use strict";o(ql,"populateCommonDb")});var gn,b7=O(()=>{"use strict";gn={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var Rv,fq=O(()=>{"use strict";Rv=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function dq(){return NN({length:7})}function Vat(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function p4e(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function g4e(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in Mt.records.branches)Mt.records.branches.get(i)===e.id&&n.push(i);if(K.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=Mt.records.commits.get(e.parents[0]);p4e(t,e,i),e.parents[1]&&t.push(Mt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=Mt.records.commits.get(e.parents[0]);p4e(t,e,i)}}t=Vat(t,i=>i.id),g4e(t)}var Gat,qm,Mt,qat,Uat,Wat,Hat,Yat,jat,Xat,m4e,Kat,Qat,Zat,Jat,est,y4e,tst,rst,nst,T7,pq=O(()=>{"use strict";xt();ar();$r();Ur();si();b7();fq();La();Gat=gr.gitGraph,qm=o(()=>Pn({...Gat,...Zt().gitGraph}),"getConfig"),Mt=new Rv(()=>{let t=qm(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});o(dq,"getID");o(Vat,"uniqBy");qat=o(function(t){Mt.records.direction=t},"setDirection"),Uat=o(function(t){K.debug("options str",t),t=t?.trim(),t=t||"{}";try{Mt.records.options=JSON.parse(t)}catch(e){K.error("error while parsing gitGraph options",e.message)}},"setOptions"),Wat=o(function(){return Mt.records.options},"getOptions"),Hat=o(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;K.info("commit",e,r,n,i),K.debug("Entering commit:",e,r,n,i);let a=qm();r=st.sanitizeText(r,a),e=st.sanitizeText(e,a),i=i?.map(l=>st.sanitizeText(l,a));let s={id:r||Mt.records.seq+"-"+dq(),message:e,seq:Mt.records.seq++,type:n??gn.NORMAL,tags:i??[],parents:Mt.records.head==null?[]:[Mt.records.head.id],branch:Mt.records.currBranch};Mt.records.head=s,K.info("main branch",a.mainBranchName),Mt.records.commits.has(s.id)&&K.warn(`Commit ID ${s.id} already exists`),Mt.records.commits.set(s.id,s),Mt.records.branches.set(Mt.records.currBranch,s.id),K.debug("in pushCommit "+s.id)},"commit"),Yat=o(function(t){let e=t.name,r=t.order;if(e=st.sanitizeText(e,qm()),Mt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Mt.records.branches.set(e,Mt.records.head!=null?Mt.records.head.id:null),Mt.records.branchConfig.set(e,{name:e,order:r}),m4e(e),K.debug("in createBranch")},"branch"),jat=o(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=qm();e=st.sanitizeText(e,a),r&&(r=st.sanitizeText(r,a));let s=Mt.records.branches.get(Mt.records.currBranch),l=Mt.records.branches.get(e),u=s?Mt.records.commits.get(s):void 0,h=l?Mt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Mt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${Mt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!Mt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&Mt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${Mt.records.seq}-${dq()}`,message:`merged branch ${e} into ${Mt.records.currBranch}`,seq:Mt.records.seq++,parents:Mt.records.head==null?[]:[Mt.records.head.id,f],branch:Mt.records.currBranch,type:gn.MERGE,customType:n,customId:!!r,tags:i??[]};Mt.records.head=d,Mt.records.commits.set(d.id,d),Mt.records.branches.set(Mt.records.currBranch,d.id),K.debug(Mt.records.branches),K.debug("in mergeBranch")},"merge"),Xat=o(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;K.debug("Entering cherryPick:",e,r,n);let a=qm();if(e=st.sanitizeText(e,a),r=st.sanitizeText(r,a),n=n?.map(u=>st.sanitizeText(u,a)),i=st.sanitizeText(i,a),!e||!Mt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=Mt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===gn.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!Mt.records.commits.has(r)){if(l===Mt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=Mt.records.branches.get(Mt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Mt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=Mt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${Mt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:Mt.records.seq+"-"+dq(),message:`cherry-picked ${s?.message} into ${Mt.records.currBranch}`,seq:Mt.records.seq++,parents:Mt.records.head==null?[]:[Mt.records.head.id,s.id],branch:Mt.records.currBranch,type:gn.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===gn.MERGE?`|parent:${i}`:""}`]};Mt.records.head=f,Mt.records.commits.set(f.id,f),Mt.records.branches.set(Mt.records.currBranch,f.id),K.debug(Mt.records.branches),K.debug("in cherryPick")}},"cherryPick"),m4e=o(function(t){if(t=st.sanitizeText(t,qm()),Mt.records.branches.has(t)){Mt.records.currBranch=t;let e=Mt.records.branches.get(Mt.records.currBranch);e===void 0||!e?Mt.records.head=null:Mt.records.head=Mt.records.commits.get(e)??null}else{let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");o(p4e,"upsert");o(g4e,"prettyPrintCommitHistory");Kat=o(function(){K.debug(Mt.records.commits);let t=y4e()[0];g4e([t])},"prettyPrint"),Qat=o(function(){Mt.reset(),_r()},"clear"),Zat=o(function(){return[...Mt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),Jat=o(function(){return Mt.records.branches},"getBranches"),est=o(function(){return Mt.records.commits},"getCommits"),y4e=o(function(){let t=[...Mt.records.commits.values()];return t.forEach(function(e){K.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),tst=o(function(){return Mt.records.currBranch},"getCurrentBranch"),rst=o(function(){return Mt.records.direction},"getDirection"),nst=o(function(){return Mt.records.head},"getHead"),T7={commitType:gn,getConfig:qm,setDirection:qat,setOptions:Uat,getOptions:Wat,commit:Hat,branch:Yat,merge:jat,cherryPick:Xat,checkout:m4e,prettyPrint:Kat,clear:Qat,getBranchesAsObjArray:Zat,getBranches:Jat,getCommits:est,getCommitsArray:y4e,getCurrentBranch:tst,getDirection:rst,getHead:nst,setAccTitle:Lr,getAccTitle:Or,getAccDescription:Br,setAccDescription:Pr,setDiagramTitle:zr,getDiagramTitle:Fr}});var ist,ast,sst,ost,lst,cst,ust,v4e,x4e=O(()=>{"use strict";up();xt();Vm();pq();b7();ist=o((t,e)=>{ql(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)ast(r,e)},"populate"),ast=o((t,e)=>{let n={Commit:o(i=>e.commit(sst(i)),"Commit"),Branch:o(i=>e.branch(ost(i)),"Branch"),Merge:o(i=>e.merge(lst(i)),"Merge"),Checkout:o(i=>e.checkout(cst(i)),"Checkout"),CherryPicking:o(i=>e.cherryPick(ust(i)),"CherryPicking")}[t.$type];n?n(t):K.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),sst=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?gn[t.type]:gn.NORMAL,tags:t.tags??void 0}),"parseCommit"),ost=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),lst=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?gn[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),cst=o(t=>t.branch,"parseCheckout"),ust=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),v4e={parse:o(async t=>{let e=await Us("gitGraph",t);K.debug(e),ist(e,T7)},"parse")}});var fp,dp,Xu,af,Um,Do,Ro,w7,s3,k7,hp,en,hst,T4e,w4e,fst,dst,pst,mst,gst,yst,vst,xst,bst,Tst,wst,kst,b4e,Est,o3,Sst,Cst,Ast,_st,Dst,k4e,E4e=O(()=>{"use strict";Ar();jt();xt();ar();b7();fp=10,dp=40,Xu=4,af=2,Um=8,Do=new Map,Ro=new Map,w7=30,s3=new Map,k7=[],hp=0,en="LR",hst=o(()=>{Do.clear(),Ro.clear(),s3.clear(),hp=0,k7=[],en="LR"},"clear"),T4e=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),w4e=o(t=>{let e,r,n;return en==="BT"?(r=o((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=o((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=en==="TB"||en=="BT"?Ro.get(i)?.y:Ro.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),fst=o(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Ro.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),dst=o((t,e,r)=>{let n=r,i=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(n=mst(l),i=Math.max(n,i)):a.push(l),gst(l,n)}),n=i,a.forEach(s=>{yst(s,n,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=fst(l.parents);n=Ro.get(u).y-dp,n<=i&&(i=n);let h=Do.get(l.branch).pos,f=n-fp;Ro.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),pst=o(t=>{let e=w4e(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Ro.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),mst=o(t=>pst(t)+dp,"calculateCommitPosition"),gst=o((t,e)=>{let r=Do.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+fp;return Ro.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),yst=o((t,e,r)=>{let n=Do.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Ro.set(t.id,{x:a,y:i})},"setRootPosition"),vst=o((t,e,r,n,i,a)=>{if(a===gn.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%Um} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%Um} ${n}-inner`);else if(a===gn.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let s=t.append("circle");if(s.attr("cx",r.x),s.attr("cy",r.y),s.attr("r",e.type===gn.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%Um}`),a===gn.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%Um}`)}a===gn.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%Um}`)}},"drawCommitBullet"),xst=o((t,e,r,n,i)=>{if(e.type!==gn.CHERRY_PICK&&(e.customId&&e.type===gn.MERGE||e.type!==gn.MERGE)&&i.showCommitLabel){let a=t.append("g"),s=a.insert("rect").attr("class","commit-label-bkg"),l=a.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),u=l.node()?.getBBox();if(u&&(s.attr("x",r.posWithOffset-u.width/2-af).attr("y",r.y+13.5).attr("width",u.width+2*af).attr("height",u.height+2*af),en==="TB"||en==="BT"?(s.attr("x",r.x-(u.width+4*Xu+5)).attr("y",r.y-12),l.attr("x",r.x-(u.width+4*Xu)).attr("y",r.y+u.height-12)):l.attr("x",r.posWithOffset-u.width/2),i.rotateCommitLabel))if(en==="TB"||en==="BT")l.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),s.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let h=-7.5-(u.width+10)/25*9.5,f=10+u.width/25*8.5;a.attr("transform","translate("+h+", "+f+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),bst=o((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` + ${n-a/2-Xu/2},${m+af} + ${n-a/2-Xu/2},${m-af} + ${r.posWithOffset-a/2-Xu},${m-p-af} + ${r.posWithOffset+a/2+Xu},${m-p-af} + ${r.posWithOffset+a/2+Xu},${m+p+af} + ${r.posWithOffset-a/2-Xu},${m+p+af}`),h.attr("cy",m).attr("cx",n-a/2+Xu/2).attr("r",1.5).attr("class","tag-hole"),en==="TB"||en==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` ${r.x},${g+2} ${r.x},${g-2} - ${r.x+lp},${g-p-2} - ${r.x+lp+a+4},${g-p-2} - ${r.x+lp+a+4},${g+p+2} - ${r.x+lp},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Vu/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),Fit=o(t=>{switch(t.customType??t.type){case fn.NORMAL:return"commit-normal";case fn.REVERSE:return"commit-reverse";case fn.HIGHLIGHT:return"commit-highlight";case fn.MERGE:return"commit-merge";case fn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),$it=o((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=F4e(t.parents);if(a){let s=n.get(a)??i;return e==="TB"?s.y+cp:e==="BT"?(n.get(t.id)??i).y-cp:s.x+cp}}else return e==="TB"?c7:e==="BT"?(n.get(t.id)??i).y-cp:0;return 0},"calculatePosition"),zit=o((t,e,r)=>{let n=Qr==="BT"&&r?e:e+lp,i=Qr==="TB"||Qr==="BT"?n:So.get(t.branch)?.pos,a=Qr==="TB"||Qr==="BT"?So.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),P4e=o((t,e,r)=>{if(!Bl)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=Qr==="TB"||Qr==="BT"?c7:0,s=[...e.keys()],l=Bl?.parallelCommits??!1,u=o((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=s.sort(u);Qr==="BT"&&(l&&Rit(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=$it(d,Qr,a,Eo));let p=zit(d,a,l);if(r){let m=Fit(d),g=d.customType??d.type,y=So.get(d.branch)?.index??0;Oit(n,d,p,m,y,g),Pit(i,d,p,a),Bit(i,d,p,a)}Qr==="TB"||Qr==="BT"?Eo.set(d.id,{x:p.x,y:p.posWithOffset}):Eo.set(d.id,{x:p.posWithOffset,y:p.y}),a=Qr==="BT"&&l?a+cp:a+cp+lp,a>op&&(op=a)})},"drawCommits"),Git=o((t,e,r,n,i)=>{let s=(Qr==="TB"||Qr==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),XT=o((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(u7.every(s=>Math.abs(s-n)>=10))return u7.push(n),n;let a=Math.abs(t-e);return XT(t,e-a/5,r+1)},"findLane"),Vit=o((t,e,r,n)=>{let i=Eo.get(e.id),a=Eo.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=Git(e,r,i,a,n),l="",u="",h=0,f=0,d=So.get(r.branch)?.index;r.type===fn.MERGE&&e.id!==r.parents[0]&&(d=So.get(e.branch)?.index);let p;if(s){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===fn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):Qr==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===fn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===fn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%Gm)},"drawArrow"),qit=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{Vit(r,e.get(a),i,e)})})},"drawArrows"),Uit=o((t,e)=>{let r=t.append("g");e.forEach((n,i)=>{let a=i%Gm,s=So.get(n.name)?.pos;if(s===void 0)throw new Error(`Position not found for branch ${n.name}`);let l=r.append("line");l.attr("x1",0),l.attr("y1",s),l.attr("x2",op),l.attr("y2",s),l.attr("class","branch branch"+a),Qr==="TB"?(l.attr("y1",c7),l.attr("x1",s),l.attr("y2",op),l.attr("x2",s)):Qr==="BT"&&(l.attr("y1",op),l.attr("x1",s),l.attr("y2",c7),l.attr("x2",s)),u7.push(s);let u=n.name,h=B4e(u),f=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(h);let m=h.getBBox();f.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(Bl?.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(Bl?.rotateCommitLabel===!0?30:0))+", "+(s-m.height/2-1)+")"),Qr==="TB"?(f.attr("x",s-m.width/2-10).attr("y",0),p.attr("transform","translate("+(s-m.width/2-5)+", 0)")):Qr==="BT"?(f.attr("x",s-m.width/2-10).attr("y",op),p.attr("transform","translate("+(s-m.width/2-5)+", "+op+")")):f.attr("transform","translate(-19, "+(s-m.height/2)+")")})},"drawBranches"),Wit=o(function(t,e,r,n,i){return So.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Qr==="TB"||Qr==="BT"?n.width/2:0),e},"setBranchPosition"),Hit=o(function(t,e,r,n){if(_it(),X.debug("in gitgraph renderer",t+` -`,"id:",e,r),!Bl)throw new Error("GitGraph config not found");let i=Bl.rotateCommitLabel??!1,a=n.db;jT=a.getCommits();let s=a.getBranchesAsObjArray();Qr=a.getDirection();let l=He(`[id="${e}"]`),u=0;s.forEach((h,f)=>{let d=B4e(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=Wit(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),P4e(l,jT,!1),Bl.showBranches&&Uit(l,s),qit(l,jT),P4e(l,jT,!0),jt.insertTitle(l,"gitTitleText",Bl.titleTopMargin??0,a.getDiagramTitle()),dD(void 0,l,Bl.diagramPadding,Bl.useMaxWidth)},"draw"),$4e={draw:Hit}});var Yit,G4e,V4e=I(()=>{"use strict";Yit=o(t=>` + ${r.x+fp},${g-p-2} + ${r.x+fp+a+4},${g-p-2} + ${r.x+fp+a+4},${g+p+2} + ${r.x+fp},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Xu/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),Tst=o(t=>{switch(t.customType??t.type){case gn.NORMAL:return"commit-normal";case gn.REVERSE:return"commit-reverse";case gn.HIGHLIGHT:return"commit-highlight";case gn.MERGE:return"commit-merge";case gn.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),wst=o((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=w4e(t.parents);if(a){let s=n.get(a)??i;return e==="TB"?s.y+dp:e==="BT"?(n.get(t.id)??i).y-dp:s.x+dp}}else return e==="TB"?w7:e==="BT"?(n.get(t.id)??i).y-dp:0;return 0},"calculatePosition"),kst=o((t,e,r)=>{let n=en==="BT"&&r?e:e+fp,i=en==="TB"||en==="BT"?n:Do.get(t.branch)?.pos,a=en==="TB"||en==="BT"?Do.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),b4e=o((t,e,r,n)=>{let i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels"),s=en==="TB"||en==="BT"?w7:0,l=[...e.keys()],u=n.parallelCommits??!1,h=o((d,p)=>{let m=e.get(d)?.seq,g=e.get(p)?.seq;return m!==void 0&&g!==void 0?m-g:0},"sortKeys"),f=l.sort(h);en==="BT"&&(u&&dst(f,e,s),f=f.reverse()),f.forEach(d=>{let p=e.get(d);if(!p)throw new Error(`Commit not found for key ${d}`);u&&(s=wst(p,en,s,Ro));let m=kst(p,s,u);if(r){let g=Tst(p),y=p.customType??p.type,v=Do.get(p.branch)?.index??0;vst(i,p,m,g,v,y),xst(a,p,m,s,n),bst(a,p,m,s)}en==="TB"||en==="BT"?Ro.set(p.id,{x:m.x,y:m.posWithOffset}):Ro.set(p.id,{x:m.posWithOffset,y:m.y}),s=en==="BT"&&u?s+dp:s+dp+fp,s>hp&&(hp=s)})},"drawCommits"),Est=o((t,e,r,n,i)=>{let s=(en==="TB"||en==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),o3=o((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(k7.every(s=>Math.abs(s-n)>=10))return k7.push(n),n;let a=Math.abs(t-e);return o3(t,e-a/5,r+1)},"findLane"),Sst=o((t,e,r,n)=>{let i=Ro.get(e.id),a=Ro.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=Est(e,r,i,a,n),l="",u="",h=0,f=0,d=Do.get(r.branch)?.index;r.type===gn.MERGE&&e.id!==r.parents[0]&&(d=Do.get(e.branch)?.index);let p;if(s){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===gn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):en==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===gn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${u} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===gn.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%Um)},"drawArrow"),Cst=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{Sst(r,e.get(a),i,e)})})},"drawArrows"),Ast=o((t,e,r)=>{let n=t.append("g");e.forEach((i,a)=>{let s=a%Um,l=Do.get(i.name)?.pos;if(l===void 0)throw new Error(`Position not found for branch ${i.name}`);let u=n.append("line");u.attr("x1",0),u.attr("y1",l),u.attr("x2",hp),u.attr("y2",l),u.attr("class","branch branch"+s),en==="TB"?(u.attr("y1",w7),u.attr("x1",l),u.attr("y2",hp),u.attr("x2",l)):en==="BT"&&(u.attr("y1",hp),u.attr("x1",l),u.attr("y2",w7),u.attr("x2",l)),k7.push(l);let h=i.name,f=T4e(h),d=n.insert("rect"),m=n.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+s);m.node().appendChild(f);let g=f.getBBox();d.attr("class","branchLabelBkg label"+s).attr("rx",4).attr("ry",4).attr("x",-g.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-g.height/2+8).attr("width",g.width+18).attr("height",g.height+4),m.attr("transform","translate("+(-g.width-14-(r.rotateCommitLabel===!0?30:0))+", "+(l-g.height/2-1)+")"),en==="TB"?(d.attr("x",l-g.width/2-10).attr("y",0),m.attr("transform","translate("+(l-g.width/2-5)+", 0)")):en==="BT"?(d.attr("x",l-g.width/2-10).attr("y",hp),m.attr("transform","translate("+(l-g.width/2-5)+", "+hp+")")):d.attr("transform","translate(-19, "+(l-g.height/2)+")")})},"drawBranches"),_st=o(function(t,e,r,n,i){return Do.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(en==="TB"||en==="BT"?n.width/2:0),e},"setBranchPosition"),Dst=o(function(t,e,r,n){hst(),K.debug("in gitgraph renderer",t+` +`,"id:",e,r);let i=n.db;if(!i.getConfig){K.error("getConfig method is not available on db");return}let a=i.getConfig(),s=a.rotateCommitLabel??!1;s3=i.getCommits();let l=i.getBranchesAsObjArray();en=i.getDirection();let u=je(`[id="${e}"]`),h=0;l.forEach((f,d)=>{let p=T4e(f.name),m=u.append("g"),g=m.insert("g").attr("class","branchLabel"),y=g.insert("g").attr("class","label branch-label");y.node()?.appendChild(p);let v=p.getBBox();h=_st(f.name,h,d,v,s),y.remove(),g.remove(),m.remove()}),b4e(u,s3,!1,a),a.showBranches&&Ast(u,l,a),Cst(u,s3),b4e(u,s3,!0,a),Xt.insertTitle(u,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),_D(void 0,u,a.diagramPadding,a.useMaxWidth)},"draw"),k4e={draw:Dst}});var Rst,S4e,C4e=O(()=>{"use strict";Rst=o(t=>` .commit-id, .commit-msg, .branch-label { @@ -1287,12 +1296,12 @@ ${r}`),this.inline?`{${i}}`:i}};o(vnt,"renderInlineTag");o(xnt,"renderLinkDefaul font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),G4e=Yit});var q4e={};vr(q4e,{diagram:()=>jit});var jit,U4e=I(()=>{"use strict";O4e();ZV();z4e();V4e();jit={parser:I4e,db:l7,renderer:$4e,styles:G4e}});var JV,Y4e,j4e=I(()=>{"use strict";JV=(function(){var t=o(function(A,_,N,M){for(N=N||{},M=A.length;M--;N[A[M]]=_);return N},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],T=[1,19],E=[1,20],w=[1,21],k=[1,22],C=[1,23],D=[1,25],R=[1,35],O={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:o(function(_,N,M,P,B,F,G){var $=F.length-1;switch(B){case 1:return F[$-1];case 2:this.$=[];break;case 3:F[$-1].push(F[$]),this.$=F[$-1];break;case 4:case 5:this.$=F[$];break;case 6:case 7:this.$=[];break;case 8:P.setWeekday("monday");break;case 9:P.setWeekday("tuesday");break;case 10:P.setWeekday("wednesday");break;case 11:P.setWeekday("thursday");break;case 12:P.setWeekday("friday");break;case 13:P.setWeekday("saturday");break;case 14:P.setWeekday("sunday");break;case 15:P.setWeekend("friday");break;case 16:P.setWeekend("saturday");break;case 17:P.setDateFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 18:P.enableInclusiveEndDates(),this.$=F[$].substr(18);break;case 19:P.TopAxis(),this.$=F[$].substr(8);break;case 20:P.setAxisFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 21:P.setTickInterval(F[$].substr(13)),this.$=F[$].substr(13);break;case 22:P.setExcludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 23:P.setIncludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 24:P.setTodayMarker(F[$].substr(12)),this.$=F[$].substr(12);break;case 27:P.setDiagramTitle(F[$].substr(6)),this.$=F[$].substr(6);break;case 28:this.$=F[$].trim(),P.setAccTitle(this.$);break;case 29:case 30:this.$=F[$].trim(),P.setAccDescription(this.$);break;case 31:P.addSection(F[$].substr(8)),this.$=F[$].substr(8);break;case 33:P.addTask(F[$-1],F[$]),this.$="task";break;case 34:this.$=F[$-1],P.setClickEvent(F[$-1],F[$],null);break;case 35:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],F[$]);break;case 36:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],null),P.setLink(F[$-2],F[$]);break;case 37:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-2],F[$-1]),P.setLink(F[$-3],F[$]);break;case 38:this.$=F[$-2],P.setClickEvent(F[$-2],F[$],null),P.setLink(F[$-2],F[$-1]);break;case 39:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-1],F[$]),P.setLink(F[$-3],F[$-2]);break;case 40:this.$=F[$-1],P.setLink(F[$-1],F[$]);break;case 41:case 47:this.$=F[$-1]+" "+F[$];break;case 42:case 43:case 45:this.$=F[$-2]+" "+F[$-1]+" "+F[$];break;case 44:case 46:this.$=F[$-3]+" "+F[$-2]+" "+F[$-1]+" "+F[$];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:E,33:w,35:k,36:C,37:24,38:D,40:R},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:E,33:w,35:k,36:C,37:24,38:D,40:R},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:o(function(_,N){if(N.recoverable)this.trace(_);else{var M=new Error(_);throw M.hash=N,M}},"parseError"),parse:o(function(_){var N=this,M=[0],P=[],B=[null],F=[],G=this.table,$="",V=0,K=0,ee=0,H=2,he=1,Z=F.slice.call(arguments,1),de=Object.create(this.lexer),re={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(re.yy[ne]=this.yy[ne]);de.setInput(_,re.yy),re.yy.lexer=de,re.yy.parser=this,typeof de.yylloc>"u"&&(de.yylloc={});var te=de.yylloc;F.push(te);var Q=de.options&&de.options.ranges;typeof re.yy.parseError=="function"?this.parseError=re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function le(Ae){M.length=M.length-2*Ae,B.length=B.length-Ae,F.length=F.length-Ae}o(le,"popStack");function J(){var Ae;return Ae=P.pop()||de.lex()||he,typeof Ae!="number"&&(Ae instanceof Array&&(P=Ae,Ae=P.pop()),Ae=N.symbols_[Ae]||Ae),Ae}o(J,"lex");for(var ge,ie,Te,j,Ge,ye,$e={},Xe,Ue,Le,Ie;;){if(Te=M[M.length-1],this.defaultActions[Te]?j=this.defaultActions[Te]:((ge===null||typeof ge>"u")&&(ge=J()),j=G[Te]&&G[Te][ge]),typeof j>"u"||!j.length||!j[0]){var Me="";Ie=[];for(Xe in G[Te])this.terminals_[Xe]&&Xe>H&&Ie.push("'"+this.terminals_[Xe]+"'");de.showPosition?Me="Parse error on line "+(V+1)+`: -`+de.showPosition()+` -Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse error on line "+(V+1)+": Unexpected "+(ge==he?"end of input":"'"+(this.terminals_[ge]||ge)+"'"),this.parseError(Me,{text:de.match,token:this.terminals_[ge]||ge,line:de.yylineno,loc:te,expected:Ie})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+ge);switch(j[0]){case 1:M.push(ge),B.push(de.yytext),F.push(de.yylloc),M.push(j[1]),ge=null,ie?(ge=ie,ie=null):(K=de.yyleng,$=de.yytext,V=de.yylineno,te=de.yylloc,ee>0&&ee--);break;case 2:if(Ue=this.productions_[j[1]][1],$e.$=B[B.length-Ue],$e._$={first_line:F[F.length-(Ue||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(Ue||1)].first_column,last_column:F[F.length-1].last_column},Q&&($e._$.range=[F[F.length-(Ue||1)].range[0],F[F.length-1].range[1]]),ye=this.performAction.apply($e,[$,K,V,re.yy,j[1],B,F].concat(Z)),typeof ye<"u")return ye;Ue&&(M=M.slice(0,-1*Ue*2),B=B.slice(0,-1*Ue),F=F.slice(0,-1*Ue)),M.push(this.productions_[j[1]][0]),B.push($e.$),F.push($e._$),Le=G[M[M.length-2]][M[M.length-1]],M.push(Le);break;case 3:return!0}}return!0},"parse")},L=(function(){var A={EOF:1,parseError:o(function(N,M){if(this.yy.parser)this.yy.parser.parseError(N,M);else throw new Error(N)},"parseError"),setInput:o(function(_,N){return this.yy=N||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var N=_.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),_},"input"),unput:o(function(_){var N=_.length,M=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-N),this.offset-=N;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),M.length-1&&(this.yylineno-=M.length-1);var B=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===P.length?this.yylloc.first_column:0)+P[P.length-M.length].length-M[0].length:this.yylloc.first_column-N},this.options.ranges&&(this.yylloc.range=[B[0],B[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(_){this.unput(this.match.slice(_))},"less"),pastInput:o(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var _=this.pastInput(),N=new Array(_.length+1).join("-");return _+this.upcomingInput()+` -`+N+"^"},"showPosition"),test_match:o(function(_,N){var M,P,B;if(this.options.backtrack_lexer&&(B={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(B.yylloc.range=this.yylloc.range.slice(0))),P=_[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+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],M=this.performAction.call(this,this.yy,this,N,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var F in B)this[F]=B[F];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,N,M,P;this._more||(this.yytext="",this.match="");for(var B=this._currentRules(),F=0;FN[0].length)){if(N=M,P=F,this.options.backtrack_lexer){if(_=this.test_match(M,B[F]),_!==!1)return _;if(this._backtrack){N=!1;continue}else return!1}else if(!this.options.flex)break}return N?(_=this.test_match(N,B[P]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"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,M,P,B){var F=B;switch(P){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return A})();O.lexer=L;function S(){this.yy={}}return o(S,"Parser"),S.prototype=O,O.Parser=S,new S})();JV.parser=JV;Y4e=JV});var X4e=Jt((eq,tq)=>{"use strict";(function(t,e){typeof eq=="object"&&typeof tq<"u"?tq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(eq,(function(){"use strict";var t="day";return function(e,r,n){var i=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}}))});var K4e=Jt((rq,nq)=>{"use strict";(function(t,e){typeof rq=="object"&&typeof nq<"u"?nq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(rq,(function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x})(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[n,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,u("seconds")],ss:[i,u("seconds")],m:[i,u("minutes")],mm:[i,u("minutes")],H:[i,u("hours")],h:[i,u("hours")],HH:[i,u("hours")],hh:[i,u("hours")],D:[i,u("day")],DD:[n,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[i,u("week")],ww:[n,u("week")],M:[i,u("month")],MM:[n,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map((function(x){return x.slice(0,3)}))).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(D,R,O){var L=O&&O.toUpperCase();return R||v[O]||t[O]||v[L].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(S,A,_){return A||_.slice(1)}))}))).match(e),b=x.length,T=0;T-1)return new Date((M==="X"?1e3:1)*N);var F=m(M)(N),G=F.year,$=F.month,V=F.day,K=F.hours,ee=F.minutes,H=F.seconds,he=F.milliseconds,Z=F.zone,de=F.week,re=new Date,ne=V||(G||$?1:re.getDate()),te=G||re.getFullYear(),Q=0;G&&!$||(Q=$>0?$-1:re.getMonth());var le,J=K||0,ge=ee||0,ie=H||0,Te=he||0;return Z?new Date(Date.UTC(te,Q,ne,J,ge,ie,Te+60*Z.offset*1e3)):P?new Date(Date.UTC(te,Q,ne,J,ge,ie,Te)):(le=new Date(te,Q,ne,J,ge,ie,Te),de&&(le=B(le).week(de).toDate()),le)}catch{return new Date("")}})(E,C,w,v),this.init(),L&&L!==!0&&(this.$L=this.locale(L).$L),O&&E!=this.format(C)&&(this.$d=new Date("")),s={}}else if(C instanceof Array)for(var S=C.length,A=1;A<=S;A+=1){k[1]=C[A-1];var _=v.apply(this,k);if(_.isValid()){this.$d=_.$d,this.$L=_.$L,this.init();break}A===S&&(this.$d=new Date(""))}else b.call(this,T)}}}))});var Q4e=Jt((iq,aq)=>{"use strict";(function(t,e){typeof iq=="object"&&typeof aq<"u"?aq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(iq,(function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}}));return n.bind(this)(u)}}}))});function dTe(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}var eTe,Ko,tTe,rTe,nTe,Z4e,qu,cq,uq,hq,KT,QT,fq,dq,d7,Sv,pq,iTe,mq,ZT,gq,yq,p7,sq,Zit,Jit,eat,tat,rat,nat,iat,aat,sat,oat,lat,cat,uat,hat,fat,dat,pat,mat,gat,yat,vat,xat,bat,aTe,Tat,wat,kat,sTe,Sat,oq,oTe,lTe,h7,kv,Eat,Cat,lq,f7,aa,cTe,Aat,Vm,_at,J4e,Dat,uTe,Rat,hTe,Lat,Nat,fTe,pTe=I(()=>{"use strict";eTe=Aa(Fg(),1),Ko=Aa(N3(),1),tTe=Aa(X4e(),1),rTe=Aa(K4e(),1),nTe=Aa(Q4e(),1);gt();Qt();sr();ki();Ko.default.extend(tTe.default);Ko.default.extend(rTe.default);Ko.default.extend(nTe.default);Z4e={friday:5,saturday:6},qu="",cq="",hq="",KT=[],QT=[],fq=new Map,dq=[],d7=[],Sv="",pq="",iTe=["active","done","crit","milestone","vert"],mq=[],ZT=!1,gq=!1,yq="sunday",p7="saturday",sq=0,Zit=o(function(){dq=[],d7=[],Sv="",mq=[],h7=0,lq=void 0,f7=void 0,aa=[],qu="",cq="",pq="",uq=void 0,hq="",KT=[],QT=[],ZT=!1,gq=!1,sq=0,fq=new Map,Mr(),yq="sunday",p7="saturday"},"clear"),Jit=o(function(t){cq=t},"setAxisFormat"),eat=o(function(){return cq},"getAxisFormat"),tat=o(function(t){uq=t},"setTickInterval"),rat=o(function(){return uq},"getTickInterval"),nat=o(function(t){hq=t},"setTodayMarker"),iat=o(function(){return hq},"getTodayMarker"),aat=o(function(t){qu=t},"setDateFormat"),sat=o(function(){ZT=!0},"enableInclusiveEndDates"),oat=o(function(){return ZT},"endDatesAreInclusive"),lat=o(function(){gq=!0},"enableTopAxis"),cat=o(function(){return gq},"topAxisEnabled"),uat=o(function(t){pq=t},"setDisplayMode"),hat=o(function(){return pq},"getDisplayMode"),fat=o(function(){return qu},"getDateFormat"),dat=o(function(t){KT=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),pat=o(function(){return KT},"getIncludes"),mat=o(function(t){QT=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),gat=o(function(){return QT},"getExcludes"),yat=o(function(){return fq},"getLinks"),vat=o(function(t){Sv=t,dq.push(t)},"addSection"),xat=o(function(){return dq},"getSections"),bat=o(function(){let t=J4e(),e=10,r=0;for(;!t&&r{let u=l.trim();return u==="x"||u==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));let a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let l=null;for(let h of a.groups.ids.split(" ")){let f=Vm(h);f!==void 0&&(!l||f.endTime>l.endTime)&&(l=f)}if(l)return l.endTime;let u=new Date;return u.setHours(0,0,0,0),u}let s=(0,Ko.default)(r,e.trim(),!0);if(s.isValid())return s.toDate();{X.debug("Invalid date:"+r),X.debug("With date format:"+e.trim());let l=new Date(r);if(l===void 0||isNaN(l.getTime())||l.getFullYear()<-1e4||l.getFullYear()>1e4)throw new Error("Invalid date:"+r);return l}},"getStartDate"),oTe=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),lTe=o(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=Vm(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),fq.set(n,r))}),uTe(t,"clickable")},"setLink"),uTe=o(function(t,e){t.split(",").forEach(function(r){let n=Vm(r);n!==void 0&&n.classes.push(e)})},"setClass"),Rat=o(function(t,e,r){if(xe().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{jt.runFunc(e,...n)})},"setClickFun"),hTe=o(function(t,e){mq.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),Lat=o(function(t,e,r){t.split(",").forEach(function(n){Rat(n,e,r)}),uTe(t,"clickable")},"setClickEvent"),Nat=o(function(t){mq.forEach(function(e){e(t)})},"bindFunctions"),fTe={getConfig:o(()=>xe().gantt,"getConfig"),clear:Zit,setDateFormat:aat,getDateFormat:fat,enableInclusiveEndDates:sat,endDatesAreInclusive:oat,enableTopAxis:lat,topAxisEnabled:cat,setAxisFormat:Jit,getAxisFormat:eat,setTickInterval:tat,getTickInterval:rat,setTodayMarker:nat,getTodayMarker:iat,setAccTitle:zr,getAccTitle:Vr,setDiagramTitle:Xr,getDiagramTitle:Wr,setDisplayMode:uat,getDisplayMode:hat,setAccDescription:qr,getAccDescription:Ur,addSection:vat,getSections:xat,getTasks:bat,addTask:Aat,findTaskById:Vm,addTaskOrg:_at,setIncludes:dat,getIncludes:pat,setExcludes:mat,getExcludes:gat,setClickEvent:Lat,setLink:Dat,getLinks:yat,bindFunctions:Nat,parseDuration:oTe,isInvalidDate:aTe,setWeekday:Tat,getWeekday:wat,setWeekend:kat};o(dTe,"getTaskTags")});var mTe=Jt((vq,xq)=>{"use strict";(function(t,e){typeof vq=="object"&&typeof xq<"u"?xq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_duration=e()})(vq,(function(){"use strict";var t,e,r=1e3,n=6e4,i=36e5,a=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,l=31536e6,u=2628e6,h=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:l,months:u,days:a,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},d=o(function(E){return E instanceof b},"c"),p=o(function(E,w,k){return new b(E,k,w.$l)},"f"),m=o(function(E){return e.p(E)+"s"},"m"),g=o(function(E){return E<0},"l"),y=o(function(E){return g(E)?Math.ceil(E):Math.floor(E)},"$"),v=o(function(E){return Math.abs(E)},"y"),x=o(function(E,w){return E?g(E)?{negative:!0,format:""+v(E)+w}:{negative:!1,format:""+E+w}:{negative:!1,format:""}},"v"),b=(function(){function E(k,C,D){var R=this;if(this.$d={},this.$l=D,k===void 0&&(this.$ms=0,this.parseFromMilliseconds()),C)return p(k*f[m(C)],this);if(typeof k=="number")return this.$ms=k,this.parseFromMilliseconds(),this;if(typeof k=="object")return Object.keys(k).forEach((function(S){R.$d[m(S)]=k[S]})),this.calMilliseconds(),this;if(typeof k=="string"){var O=k.match(h);if(O){var L=O.slice(2).map((function(S){return S!=null?Number(S):0}));return this.$d.years=L[0],this.$d.months=L[1],this.$d.weeks=L[2],this.$d.days=L[3],this.$d.hours=L[4],this.$d.minutes=L[5],this.$d.seconds=L[6],this.calMilliseconds(),this}}return this}o(E,"l");var w=E.prototype;return w.calMilliseconds=function(){var k=this;this.$ms=Object.keys(this.$d).reduce((function(C,D){return C+(k.$d[D]||0)*f[D]}),0)},w.parseFromMilliseconds=function(){var k=this.$ms;this.$d.years=y(k/l),k%=l,this.$d.months=y(k/u),k%=u,this.$d.days=y(k/a),k%=a,this.$d.hours=y(k/i),k%=i,this.$d.minutes=y(k/n),k%=n,this.$d.seconds=y(k/r),k%=r,this.$d.milliseconds=k},w.toISOString=function(){var k=x(this.$d.years,"Y"),C=x(this.$d.months,"M"),D=+this.$d.days||0;this.$d.weeks&&(D+=7*this.$d.weeks);var R=x(D,"D"),O=x(this.$d.hours,"H"),L=x(this.$d.minutes,"M"),S=this.$d.seconds||0;this.$d.milliseconds&&(S+=this.$d.milliseconds/1e3,S=Math.round(1e3*S)/1e3);var A=x(S,"S"),_=k.negative||C.negative||R.negative||O.negative||L.negative||A.negative,N=O.format||L.format||A.format?"T":"",M=(_?"-":"")+"P"+k.format+C.format+R.format+N+O.format+L.format+A.format;return M==="P"||M==="-P"?"P0D":M},w.toJSON=function(){return this.toISOString()},w.format=function(k){var C=k||"YYYY-MM-DDTHH:mm:ss",D={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return C.replace(s,(function(R,O){return O||String(D[R])}))},w.as=function(k){return this.$ms/f[m(k)]},w.get=function(k){var C=this.$ms,D=m(k);return D==="milliseconds"?C%=1e3:C=D==="weeks"?y(C/f[D]):this.$d[D],C||0},w.add=function(k,C,D){var R;return R=C?k*f[m(C)]:d(k)?k.$ms:p(k,this).$ms,p(this.$ms+R*(D?-1:1),this)},w.subtract=function(k,C){return this.add(k,C,!0)},w.locale=function(k){var C=this.clone();return C.$l=k,C},w.clone=function(){return p(this.$ms,this)},w.humanize=function(k){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!k)},w.valueOf=function(){return this.asMilliseconds()},w.milliseconds=function(){return this.get("milliseconds")},w.asMilliseconds=function(){return this.as("milliseconds")},w.seconds=function(){return this.get("seconds")},w.asSeconds=function(){return this.as("seconds")},w.minutes=function(){return this.get("minutes")},w.asMinutes=function(){return this.as("minutes")},w.hours=function(){return this.get("hours")},w.asHours=function(){return this.as("hours")},w.days=function(){return this.get("days")},w.asDays=function(){return this.as("days")},w.weeks=function(){return this.get("weeks")},w.asWeeks=function(){return this.as("weeks")},w.months=function(){return this.get("months")},w.asMonths=function(){return this.as("months")},w.years=function(){return this.get("years")},w.asYears=function(){return this.as("years")},E})(),T=o(function(E,w,k){return E.add(w.years()*k,"y").add(w.months()*k,"M").add(w.days()*k,"d").add(w.hours()*k,"h").add(w.minutes()*k,"m").add(w.seconds()*k,"s").add(w.milliseconds()*k,"ms")},"p");return function(E,w,k){t=k,e=k().$utils(),k.duration=function(R,O){var L=k.locale();return p(R,{$l:L},O)},k.isDuration=d;var C=w.prototype.add,D=w.prototype.subtract;w.prototype.add=function(R,O){return d(R)?T(this,R,1):C.bind(this)(R,O)},w.prototype.subtract=function(R,O){return d(R)?T(this,R,-1):D.bind(this)(R,O)}}}))});var Ev,yTe,Mat,gTe,Iat,Jh,bq,Oat,vTe,xTe=I(()=>{"use strict";Ev=Aa(N3(),1),yTe=Aa(mTe(),1);gt();kr();wr();Qt();Fi();Ev.default.extend(yTe.default);Mat=o(function(){X.debug("Something is calling, setConf, remove the call")},"setConf"),gTe={monday:Df,tuesday:b5,wednesday:T5,thursday:Kc,friday:w5,saturday:k5,sunday:tc},Iat=o((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(let a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),bq=1e4,Oat=o(function(t,e,r,n){let i=xe().gantt,a=xe().securityLevel,s;a==="sandbox"&&(s=He("#i"+e));let l=a==="sandbox"?He(s.nodes()[0].contentDocument.body):He("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);Jh=h.parentElement.offsetWidth,Jh===void 0&&(Jh=1200),i.useWidth!==void 0&&(Jh=i.useWidth);let f=n.db.getTasks(),d=[];for(let R of f)d.push(R.type);d=D(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let R={};for(let L of f)R[L.section]===void 0?R[L.section]=[L]:R[L.section].push(L);let O=0;for(let L of Object.keys(R)){let S=Iat(R[L],O)+1;O+=S,m+=S*(i.barHeight+i.barGap),p[L]=S}}else{m+=f.length*(i.barHeight+i.barGap);for(let R of d)p[R]=f.filter(O=>O.type===R).length}h.setAttribute("viewBox","0 0 "+Jh+" "+m);let g=l.select(`[id="${e}"]`),y=C5().domain([Lw(f,function(R){return R.startTime}),Rw(f,function(R){return R.endTime})]).rangeRound([0,Jh-i.leftPadding-i.rightPadding]);function v(R,O){let L=R.startTime,S=O.startTime,A=0;return L>S?A=1:L$.vert===V.vert?0:$.vert?1:-1);let P=[...new Set(R.map($=>$.order))].map($=>R.find(V=>V.order===$));g.append("g").selectAll("rect").data(P).enter().append("rect").attr("x",0).attr("y",function($,V){return V=$.order,V*O+L-2}).attr("width",function(){return N-i.rightPadding/2}).attr("height",O).attr("class",function($){for(let[V,K]of d.entries())if($.type===K)return"section section"+V%i.numberSectionStyles;return"section section0"}).enter();let B=g.append("g").selectAll("rect").data(R).enter(),F=n.db.getLinks();if(B.append("rect").attr("id",function($){return $.id}).attr("rx",3).attr("ry",3).attr("x",function($){return $.milestone?y($.startTime)+S+.5*(y($.endTime)-y($.startTime))-.5*A:y($.startTime)+S}).attr("y",function($,V){return V=$.order,$.vert?i.gridLineStartPadding:V*O+L}).attr("width",function($){return $.milestone?A:$.vert?.08*A:y($.renderEndTime||$.endTime)-y($.startTime)}).attr("height",function($){return $.vert?f.length*(i.barHeight+i.barGap)+i.barHeight*2:A}).attr("transform-origin",function($,V){return V=$.order,(y($.startTime)+S+.5*(y($.endTime)-y($.startTime))).toString()+"px "+(V*O+L+.5*A).toString()+"px"}).attr("class",function($){let V="task",K="";$.classes.length>0&&(K=$.classes.join(" "));let ee=0;for(let[he,Z]of d.entries())$.type===Z&&(ee=he%i.numberSectionStyles);let H="";return $.active?$.crit?H+=" activeCrit":H=" active":$.done?$.crit?H=" doneCrit":H=" done":$.crit&&(H+=" crit"),H.length===0&&(H=" task"),$.milestone&&(H=" milestone "+H),$.vert&&(H=" vert "+H),H+=ee,H+=" "+K,V+H}),B.append("text").attr("id",function($){return $.id+"-text"}).text(function($){return $.task}).attr("font-size",i.fontSize).attr("x",function($){let V=y($.startTime),K=y($.renderEndTime||$.endTime);if($.milestone&&(V+=.5*(y($.endTime)-y($.startTime))-.5*A,K=V+A),$.vert)return y($.startTime)+S;let ee=this.getBBox().width;return ee>K-V?K+ee+1.5*i.leftPadding>N?V+S-5:K+S+5:(K-V)/2+V+S}).attr("y",function($,V){return $.vert?i.gridLineStartPadding+f.length*(i.barHeight+i.barGap)+60:(V=$.order,V*O+i.barHeight/2+(i.fontSize/2-2)+L)}).attr("text-height",A).attr("class",function($){let V=y($.startTime),K=y($.endTime);$.milestone&&(K=V+A);let ee=this.getBBox().width,H="";$.classes.length>0&&(H=$.classes.join(" "));let he=0;for(let[de,re]of d.entries())$.type===re&&(he=de%i.numberSectionStyles);let Z="";return $.active&&($.crit?Z="activeCritText"+he:Z="activeText"+he),$.done?$.crit?Z=Z+" doneCritText"+he:Z=Z+" doneText"+he:$.crit&&(Z=Z+" critText"+he),$.milestone&&(Z+=" milestoneText"),$.vert&&(Z+=" vertText"),ee>K-V?K+ee+1.5*i.leftPadding>N?H+" taskTextOutsideLeft taskTextOutside"+he+" "+Z:H+" taskTextOutsideRight taskTextOutside"+he+" "+Z+" width-"+ee:H+" taskText taskText"+he+" "+Z+" width-"+ee}),xe().securityLevel==="sandbox"){let $;$=He("#i"+e);let V=$.nodes()[0].contentDocument;B.filter(function(K){return F.has(K.id)}).each(function(K){var ee=V.querySelector("#"+K.id),H=V.querySelector("#"+K.id+"-text");let he=ee.parentNode;var Z=V.createElement("a");Z.setAttribute("xlink:href",F.get(K.id)),Z.setAttribute("target","_top"),he.appendChild(Z),Z.appendChild(ee),Z.appendChild(H)})}}o(b,"drawRects");function T(R,O,L,S,A,_,N,M){if(N.length===0&&M.length===0)return;let P,B;for(let{startTime:ee,endTime:H}of _)(P===void 0||eeB)&&(B=H);if(!P||!B)return;if((0,Ev.default)(B).diff((0,Ev.default)(P),"year")>5){X.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let F=n.db.getDateFormat(),G=[],$=null,V=(0,Ev.default)(P);for(;V.valueOf()<=B;)n.db.isInvalidDate(V,F,N,M)?$?$.end=V:$={start:V,end:V}:$&&(G.push($),$=null),V=V.add(1,"d");g.append("g").selectAll("rect").data(G).enter().append("rect").attr("id",ee=>"exclude-"+ee.start.format("YYYY-MM-DD")).attr("x",ee=>y(ee.start.startOf("day"))+L).attr("y",i.gridLineStartPadding).attr("width",ee=>y(ee.end.endOf("day"))-y(ee.start.startOf("day"))).attr("height",A-O-i.gridLineStartPadding).attr("transform-origin",function(ee,H){return(y(ee.start)+L+.5*(y(ee.end)-y(ee.start))).toString()+"px "+(H*R+.5*A).toString()+"px"}).attr("class","exclude-range")}o(T,"drawExcludeDays");function E(R,O,L,S){if(L<=0||R>O)return 1/0;let A=O-R,_=Ev.default.duration({[S??"day"]:L}).asMilliseconds();return _<=0?1/0:Math.ceil(A/_)}o(E,"getEstimatedTickCount");function w(R,O,L,S){let A=n.db.getDateFormat(),_=n.db.getAxisFormat(),N;_?N=_:A==="D"?N="%d":N=i.axisFormat??"%Y-%m-%d";let M=CD(y).tickSize(-S+O+i.gridLineStartPadding).tickFormat(Jp(N)),B=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(B!==null){let F=parseInt(B[1],10);if(isNaN(F)||F<=0)X.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let G=B[2],$=n.db.getWeekday()||i.weekday,V=y.domain(),K=V[0],ee=V[1],H=E(K,ee,F,G);if(H>bq)X.warn(`The tick interval "${F}${G}" would generate ${H} ticks, which exceeds the maximum allowed (${bq}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(G){case"millisecond":M.ticks(jc.every(F));break;case"second":M.ticks(No.every(F));break;case"minute":M.ticks(fh.every(F));break;case"hour":M.ticks(dh.every(F));break;case"day":M.ticks(ll.every(F));break;case"week":M.ticks(gTe[$].every(F));break;case"month":M.ticks(ph.every(F));break}}}if(g.append("g").attr("class","grid").attr("transform","translate("+R+", "+(S-50)+")").call(M).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let F=ED(y).tickSize(-S+O+i.gridLineStartPadding).tickFormat(Jp(N));if(B!==null){let G=parseInt(B[1],10);if(isNaN(G)||G<=0)X.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let $=B[2],V=n.db.getWeekday()||i.weekday,K=y.domain(),ee=K[0],H=K[1];if(E(ee,H,G,$)<=bq)switch($){case"millisecond":F.ticks(jc.every(G));break;case"second":F.ticks(No.every(G));break;case"minute":F.ticks(fh.every(G));break;case"hour":F.ticks(dh.every(G));break;case"day":F.ticks(ll.every(G));break;case"week":F.ticks(gTe[V].every(G));break;case"month":F.ticks(ph.every(G));break}}}g.append("g").attr("class","grid").attr("transform","translate("+R+", "+O+")").call(F).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(w,"makeGrid");function k(R,O){let L=0,S=Object.keys(p).map(A=>[A,p[A]]);g.append("g").selectAll("text").data(S).enter().append(function(A){let _=A[0].split(nt.lineBreakRegex),N=-(_.length-1)/2,M=u.createElementNS("http://www.w3.org/2000/svg","text");M.setAttribute("dy",N+"em");for(let[P,B]of _.entries()){let F=u.createElementNS("http://www.w3.org/2000/svg","tspan");F.setAttribute("alignment-baseline","central"),F.setAttribute("x","10"),P>0&&F.setAttribute("dy","1em"),F.textContent=B,M.appendChild(F)}return M}).attr("x",10).attr("y",function(A,_){if(_>0)for(let N=0;N<_;N++)return L+=S[_-1][1],A[1]*R/2+L*R+O;else return A[1]*R/2+O}).attr("font-size",i.sectionFontSize).attr("class",function(A){for(let[_,N]of d.entries())if(A[0]===N)return"sectionTitle sectionTitle"+_%i.numberSectionStyles;return"sectionTitle"})}o(k,"vertLabels");function C(R,O,L,S){let A=n.db.getTodayMarker();if(A==="off")return;let _=g.append("g").attr("class","today"),N=new Date,M=_.append("line");M.attr("x1",y(N)+R).attr("x2",y(N)+R).attr("y1",i.titleTopMargin).attr("y2",S-i.titleTopMargin).attr("class","today"),A!==""&&M.attr("style",A.replace(/,/g,";"))}o(C,"drawToday");function D(R){let O={},L=[];for(let S=0,A=R.length;S{"use strict";Pat=o(t=>` +`,"getStyles"),S4e=Rst});var A4e={};vr(A4e,{diagram:()=>Lst});var Lst,_4e=O(()=>{"use strict";x4e();pq();E4e();C4e();Lst={parser:v4e,db:T7,renderer:k4e,styles:S4e}});var mq,L4e,N4e=O(()=>{"use strict";mq=(function(){var t=o(function(_,D,M,R){for(M=M||{},R=_.length;R--;M[_[R]]=D);return M},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],T=[1,19],E=[1,20],w=[1,21],k=[1,22],S=[1,23],A=[1,25],L=[1,35],I={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:o(function(D,M,R,P,B,F,G){var $=F.length-1;switch(B){case 1:return F[$-1];case 2:this.$=[];break;case 3:F[$-1].push(F[$]),this.$=F[$-1];break;case 4:case 5:this.$=F[$];break;case 6:case 7:this.$=[];break;case 8:P.setWeekday("monday");break;case 9:P.setWeekday("tuesday");break;case 10:P.setWeekday("wednesday");break;case 11:P.setWeekday("thursday");break;case 12:P.setWeekday("friday");break;case 13:P.setWeekday("saturday");break;case 14:P.setWeekday("sunday");break;case 15:P.setWeekend("friday");break;case 16:P.setWeekend("saturday");break;case 17:P.setDateFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 18:P.enableInclusiveEndDates(),this.$=F[$].substr(18);break;case 19:P.TopAxis(),this.$=F[$].substr(8);break;case 20:P.setAxisFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 21:P.setTickInterval(F[$].substr(13)),this.$=F[$].substr(13);break;case 22:P.setExcludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 23:P.setIncludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 24:P.setTodayMarker(F[$].substr(12)),this.$=F[$].substr(12);break;case 27:P.setDiagramTitle(F[$].substr(6)),this.$=F[$].substr(6);break;case 28:this.$=F[$].trim(),P.setAccTitle(this.$);break;case 29:case 30:this.$=F[$].trim(),P.setAccDescription(this.$);break;case 31:P.addSection(F[$].substr(8)),this.$=F[$].substr(8);break;case 33:P.addTask(F[$-1],F[$]),this.$="task";break;case 34:this.$=F[$-1],P.setClickEvent(F[$-1],F[$],null);break;case 35:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],F[$]);break;case 36:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],null),P.setLink(F[$-2],F[$]);break;case 37:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-2],F[$-1]),P.setLink(F[$-3],F[$]);break;case 38:this.$=F[$-2],P.setClickEvent(F[$-2],F[$],null),P.setLink(F[$-2],F[$-1]);break;case 39:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-1],F[$]),P.setLink(F[$-3],F[$-2]);break;case 40:this.$=F[$-1],P.setLink(F[$-1],F[$]);break;case 41:case 47:this.$=F[$-1]+" "+F[$];break;case 42:case 43:case 45:this.$=F[$-2]+" "+F[$-1]+" "+F[$];break;case 44:case 46:this.$=F[$-3]+" "+F[$-2]+" "+F[$-1]+" "+F[$];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:E,33:w,35:k,36:S,37:24,38:A,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:E,33:w,35:k,36:S,37:24,38:A,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:o(function(D,M){if(M.recoverable)this.trace(D);else{var R=new Error(D);throw R.hash=M,R}},"parseError"),parse:o(function(D){var M=this,R=[0],P=[],B=[null],F=[],G=this.table,$="",V=0,X=0,Q=0,H=2,ie=1,Y=F.slice.call(arguments,1),le=Object.create(this.lexer),ee={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(ee.yy[J]=this.yy[J]);le.setInput(D,ee.yy),ee.yy.lexer=le,ee.yy.parser=this,typeof le.yylloc>"u"&&(le.yylloc={});var te=le.yylloc;F.push(te);var Z=le.options&&le.options.ranges;typeof ee.yy.parseError=="function"?this.parseError=ee.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xe(Ne){R.length=R.length-2*Ne,B.length=B.length-Ne,F.length=F.length-Ne}o(xe,"popStack");function de(){var Ne;return Ne=P.pop()||le.lex()||ie,typeof Ne!="number"&&(Ne instanceof Array&&(P=Ne,Ne=P.pop()),Ne=M.symbols_[Ne]||Ne),Ne}o(de,"lex");for(var Se,Me,ke,we,_e,$e,fe={},Ke,Te,Be,Ue;;){if(ke=R[R.length-1],this.defaultActions[ke]?we=this.defaultActions[ke]:((Se===null||typeof Se>"u")&&(Se=de()),we=G[ke]&&G[ke][Se]),typeof we>"u"||!we.length||!we[0]){var Ge="";Ue=[];for(Ke in G[ke])this.terminals_[Ke]&&Ke>H&&Ue.push("'"+this.terminals_[Ke]+"'");le.showPosition?Ge="Parse error on line "+(V+1)+`: +`+le.showPosition()+` +Expecting `+Ue.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":Ge="Parse error on line "+(V+1)+": Unexpected "+(Se==ie?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(Ge,{text:le.match,token:this.terminals_[Se]||Se,line:le.yylineno,loc:te,expected:Ue})}if(we[0]instanceof Array&&we.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ke+", token: "+Se);switch(we[0]){case 1:R.push(Se),B.push(le.yytext),F.push(le.yylloc),R.push(we[1]),Se=null,Me?(Se=Me,Me=null):(X=le.yyleng,$=le.yytext,V=le.yylineno,te=le.yylloc,Q>0&&Q--);break;case 2:if(Te=this.productions_[we[1]][1],fe.$=B[B.length-Te],fe._$={first_line:F[F.length-(Te||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(Te||1)].first_column,last_column:F[F.length-1].last_column},Z&&(fe._$.range=[F[F.length-(Te||1)].range[0],F[F.length-1].range[1]]),$e=this.performAction.apply(fe,[$,X,V,ee.yy,we[1],B,F].concat(Y)),typeof $e<"u")return $e;Te&&(R=R.slice(0,-1*Te*2),B=B.slice(0,-1*Te),F=F.slice(0,-1*Te)),R.push(this.productions_[we[1]][0]),B.push(fe.$),F.push(fe._$),Be=G[R[R.length-2]][R[R.length-1]],R.push(Be);break;case 3:return!0}}return!0},"parse")},N=(function(){var _={EOF:1,parseError:o(function(M,R){if(this.yy.parser)this.yy.parser.parseError(M,R);else throw new Error(M)},"parseError"),setInput:o(function(D,M){return this.yy=M||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var M=D.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),D},"input"),unput:o(function(D){var M=D.length,R=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-M),this.offset-=M;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),R.length-1&&(this.yylineno-=R.length-1);var B=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:R?(R.length===P.length?this.yylloc.first_column:0)+P[P.length-R.length].length-R[0].length:this.yylloc.first_column-M},this.options.ranges&&(this.yylloc.range=[B[0],B[0]+this.yyleng-M]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(D){this.unput(this.match.slice(D))},"less"),pastInput:o(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var D=this.pastInput(),M=new Array(D.length+1).join("-");return D+this.upcomingInput()+` +`+M+"^"},"showPosition"),test_match:o(function(D,M){var R,P,B;if(this.options.backtrack_lexer&&(B={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(B.yylloc.range=this.yylloc.range.slice(0))),P=D[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],R=this.performAction.call(this,this.yy,this,M,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),R)return R;if(this._backtrack){for(var F in B)this[F]=B[F];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,M,R,P;this._more||(this.yytext="",this.match="");for(var B=this._currentRules(),F=0;FM[0].length)){if(M=R,P=F,this.options.backtrack_lexer){if(D=this.test_match(R,B[F]),D!==!1)return D;if(this._backtrack){M=!1;continue}else return!1}else if(!this.options.flex)break}return M?(D=this.test_match(M,B[P]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var M=this.next();return M||this.lex()},"lex"),begin:o(function(M){this.conditionStack.push(M)},"begin"),popState:o(function(){var M=this.conditionStack.length-1;return M>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(M){return M=this.conditionStack.length-1-Math.abs(M||0),M>=0?this.conditionStack[M]:"INITIAL"},"topState"),pushState:o(function(M){this.begin(M)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(M,R,P,B){var F=B;switch(P){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return _})();I.lexer=N;function C(){this.yy={}}return o(C,"Parser"),C.prototype=I,I.Parser=C,new C})();mq.parser=mq;L4e=mq});var M4e=nr((gq,yq)=>{"use strict";(function(t,e){typeof gq=="object"&&typeof yq<"u"?yq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(gq,(function(){"use strict";var t="day";return function(e,r,n){var i=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}}))});var I4e=nr((vq,xq)=>{"use strict";(function(t,e){typeof vq=="object"&&typeof xq<"u"?xq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(vq,(function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x})(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[n,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,u("seconds")],ss:[i,u("seconds")],m:[i,u("minutes")],mm:[i,u("minutes")],H:[i,u("hours")],h:[i,u("hours")],HH:[i,u("hours")],hh:[i,u("hours")],D:[i,u("day")],DD:[n,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[i,u("week")],ww:[n,u("week")],M:[i,u("month")],MM:[n,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map((function(x){return x.slice(0,3)}))).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(A,L,I){var N=I&&I.toUpperCase();return L||v[I]||t[I]||v[N].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(C,_,D){return _||D.slice(1)}))}))).match(e),b=x.length,T=0;T-1)return new Date((R==="X"?1e3:1)*M);var F=m(R)(M),G=F.year,$=F.month,V=F.day,X=F.hours,Q=F.minutes,H=F.seconds,ie=F.milliseconds,Y=F.zone,le=F.week,ee=new Date,J=V||(G||$?1:ee.getDate()),te=G||ee.getFullYear(),Z=0;G&&!$||(Z=$>0?$-1:ee.getMonth());var xe,de=X||0,Se=Q||0,Me=H||0,ke=ie||0;return Y?new Date(Date.UTC(te,Z,J,de,Se,Me,ke+60*Y.offset*1e3)):P?new Date(Date.UTC(te,Z,J,de,Se,Me,ke)):(xe=new Date(te,Z,J,de,Se,Me,ke),le&&(xe=B(xe).week(le).toDate()),xe)}catch{return new Date("")}})(E,S,w,v),this.init(),N&&N!==!0&&(this.$L=this.locale(N).$L),I&&E!=this.format(S)&&(this.$d=new Date("")),s={}}else if(S instanceof Array)for(var C=S.length,_=1;_<=C;_+=1){k[1]=S[_-1];var D=v.apply(this,k);if(D.isValid()){this.$d=D.$d,this.$L=D.$L,this.init();break}_===C&&(this.$d=new Date(""))}else b.call(this,T)}}}))});var O4e=nr((bq,Tq)=>{"use strict";(function(t,e){typeof bq=="object"&&typeof Tq<"u"?Tq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(bq,(function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}}));return n.bind(this)(u)}}}))});function Q4e(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}var F4e,il,$4e,z4e,G4e,P4e,Ku,Sq,Cq,Aq,l3,c3,_q,Dq,C7,Nv,Rq,V4e,Lq,u3,Nq,Mq,A7,wq,Ost,Pst,Bst,Fst,$st,zst,Gst,Vst,qst,Ust,Wst,Hst,Yst,jst,Xst,Kst,Qst,Zst,Jst,eot,tot,rot,not,q4e,iot,aot,sot,U4e,oot,kq,W4e,H4e,E7,Lv,lot,cot,Eq,S7,ua,Y4e,uot,Wm,hot,B4e,fot,j4e,dot,X4e,pot,mot,K4e,Z4e=O(()=>{"use strict";F4e=Ra(Wg(),1),il=Ra(U3(),1),$4e=Ra(M4e(),1),z4e=Ra(I4e(),1),G4e=Ra(O4e(),1);xt();jt();ar();si();il.default.extend($4e.default);il.default.extend(z4e.default);il.default.extend(G4e.default);P4e={friday:5,saturday:6},Ku="",Sq="",Aq="",l3=[],c3=[],_q=new Map,Dq=[],C7=[],Nv="",Rq="",V4e=["active","done","crit","milestone","vert"],Lq=[],u3=!1,Nq=!1,Mq="sunday",A7="saturday",wq=0,Ost=o(function(){Dq=[],C7=[],Nv="",Lq=[],E7=0,Eq=void 0,S7=void 0,ua=[],Ku="",Sq="",Rq="",Cq=void 0,Aq="",l3=[],c3=[],u3=!1,Nq=!1,wq=0,_q=new Map,_r(),Mq="sunday",A7="saturday"},"clear"),Pst=o(function(t){Sq=t},"setAxisFormat"),Bst=o(function(){return Sq},"getAxisFormat"),Fst=o(function(t){Cq=t},"setTickInterval"),$st=o(function(){return Cq},"getTickInterval"),zst=o(function(t){Aq=t},"setTodayMarker"),Gst=o(function(){return Aq},"getTodayMarker"),Vst=o(function(t){Ku=t},"setDateFormat"),qst=o(function(){u3=!0},"enableInclusiveEndDates"),Ust=o(function(){return u3},"endDatesAreInclusive"),Wst=o(function(){Nq=!0},"enableTopAxis"),Hst=o(function(){return Nq},"topAxisEnabled"),Yst=o(function(t){Rq=t},"setDisplayMode"),jst=o(function(){return Rq},"getDisplayMode"),Xst=o(function(){return Ku},"getDateFormat"),Kst=o(function(t){l3=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),Qst=o(function(){return l3},"getIncludes"),Zst=o(function(t){c3=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),Jst=o(function(){return c3},"getExcludes"),eot=o(function(){return _q},"getLinks"),tot=o(function(t){Nv=t,Dq.push(t)},"addSection"),rot=o(function(){return Dq},"getSections"),not=o(function(){let t=B4e(),e=10,r=0;for(;!t&&r{let u=l.trim();return u==="x"||u==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));let a=/^after\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let l=null;for(let h of a.groups.ids.split(" ")){let f=Wm(h);f!==void 0&&(!l||f.endTime>l.endTime)&&(l=f)}if(l)return l.endTime;let u=new Date;return u.setHours(0,0,0,0),u}let s=(0,il.default)(r,e.trim(),!0);if(s.isValid())return s.toDate();{K.debug("Invalid date:"+r),K.debug("With date format:"+e.trim());let l=new Date(r);if(l===void 0||isNaN(l.getTime())||l.getFullYear()<-1e4||l.getFullYear()>1e4)throw new Error("Invalid date:"+r);return l}},"getStartDate"),W4e=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),H4e=o(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=Wm(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),_q.set(n,r))}),j4e(t,"clickable")},"setLink"),j4e=o(function(t,e){t.split(",").forEach(function(r){let n=Wm(r);n!==void 0&&n.classes.push(e)})},"setClass"),dot=o(function(t,e,r){if(ve().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Xt.runFunc(e,...n)})},"setClickFun"),X4e=o(function(t,e){Lq.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),pot=o(function(t,e,r){t.split(",").forEach(function(n){dot(n,e,r)}),j4e(t,"clickable")},"setClickEvent"),mot=o(function(t){Lq.forEach(function(e){e(t)})},"bindFunctions"),K4e={getConfig:o(()=>ve().gantt,"getConfig"),clear:Ost,setDateFormat:Vst,getDateFormat:Xst,enableInclusiveEndDates:qst,endDatesAreInclusive:Ust,enableTopAxis:Wst,topAxisEnabled:Hst,setAxisFormat:Pst,getAxisFormat:Bst,setTickInterval:Fst,getTickInterval:$st,setTodayMarker:zst,getTodayMarker:Gst,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,setDisplayMode:Yst,getDisplayMode:jst,setAccDescription:Pr,getAccDescription:Br,addSection:tot,getSections:rot,getTasks:not,addTask:uot,findTaskById:Wm,addTaskOrg:hot,setIncludes:Kst,getIncludes:Qst,setExcludes:Zst,getExcludes:Jst,setClickEvent:pot,setLink:fot,getLinks:eot,bindFunctions:mot,parseDuration:W4e,isInvalidDate:q4e,setWeekday:iot,getWeekday:aot,setWeekend:sot};o(Q4e,"getTaskTags")});var J4e=nr((Iq,Oq)=>{"use strict";(function(t,e){typeof Iq=="object"&&typeof Oq<"u"?Oq.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_duration=e()})(Iq,(function(){"use strict";var t,e,r=1e3,n=6e4,i=36e5,a=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,l=31536e6,u=2628e6,h=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:l,months:u,days:a,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},d=o(function(E){return E instanceof b},"c"),p=o(function(E,w,k){return new b(E,k,w.$l)},"f"),m=o(function(E){return e.p(E)+"s"},"m"),g=o(function(E){return E<0},"l"),y=o(function(E){return g(E)?Math.ceil(E):Math.floor(E)},"$"),v=o(function(E){return Math.abs(E)},"y"),x=o(function(E,w){return E?g(E)?{negative:!0,format:""+v(E)+w}:{negative:!1,format:""+E+w}:{negative:!1,format:""}},"v"),b=(function(){function E(k,S,A){var L=this;if(this.$d={},this.$l=A,k===void 0&&(this.$ms=0,this.parseFromMilliseconds()),S)return p(k*f[m(S)],this);if(typeof k=="number")return this.$ms=k,this.parseFromMilliseconds(),this;if(typeof k=="object")return Object.keys(k).forEach((function(C){L.$d[m(C)]=k[C]})),this.calMilliseconds(),this;if(typeof k=="string"){var I=k.match(h);if(I){var N=I.slice(2).map((function(C){return C!=null?Number(C):0}));return this.$d.years=N[0],this.$d.months=N[1],this.$d.weeks=N[2],this.$d.days=N[3],this.$d.hours=N[4],this.$d.minutes=N[5],this.$d.seconds=N[6],this.calMilliseconds(),this}}return this}o(E,"l");var w=E.prototype;return w.calMilliseconds=function(){var k=this;this.$ms=Object.keys(this.$d).reduce((function(S,A){return S+(k.$d[A]||0)*f[A]}),0)},w.parseFromMilliseconds=function(){var k=this.$ms;this.$d.years=y(k/l),k%=l,this.$d.months=y(k/u),k%=u,this.$d.days=y(k/a),k%=a,this.$d.hours=y(k/i),k%=i,this.$d.minutes=y(k/n),k%=n,this.$d.seconds=y(k/r),k%=r,this.$d.milliseconds=k},w.toISOString=function(){var k=x(this.$d.years,"Y"),S=x(this.$d.months,"M"),A=+this.$d.days||0;this.$d.weeks&&(A+=7*this.$d.weeks);var L=x(A,"D"),I=x(this.$d.hours,"H"),N=x(this.$d.minutes,"M"),C=this.$d.seconds||0;this.$d.milliseconds&&(C+=this.$d.milliseconds/1e3,C=Math.round(1e3*C)/1e3);var _=x(C,"S"),D=k.negative||S.negative||L.negative||I.negative||N.negative||_.negative,M=I.format||N.format||_.format?"T":"",R=(D?"-":"")+"P"+k.format+S.format+L.format+M+I.format+N.format+_.format;return R==="P"||R==="-P"?"P0D":R},w.toJSON=function(){return this.toISOString()},w.format=function(k){var S=k||"YYYY-MM-DDTHH:mm:ss",A={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return S.replace(s,(function(L,I){return I||String(A[L])}))},w.as=function(k){return this.$ms/f[m(k)]},w.get=function(k){var S=this.$ms,A=m(k);return A==="milliseconds"?S%=1e3:S=A==="weeks"?y(S/f[A]):this.$d[A],S||0},w.add=function(k,S,A){var L;return L=S?k*f[m(S)]:d(k)?k.$ms:p(k,this).$ms,p(this.$ms+L*(A?-1:1),this)},w.subtract=function(k,S){return this.add(k,S,!0)},w.locale=function(k){var S=this.clone();return S.$l=k,S},w.clone=function(){return p(this.$ms,this)},w.humanize=function(k){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!k)},w.valueOf=function(){return this.asMilliseconds()},w.milliseconds=function(){return this.get("milliseconds")},w.asMilliseconds=function(){return this.as("milliseconds")},w.seconds=function(){return this.get("seconds")},w.asSeconds=function(){return this.as("seconds")},w.minutes=function(){return this.get("minutes")},w.asMinutes=function(){return this.as("minutes")},w.hours=function(){return this.get("hours")},w.asHours=function(){return this.as("hours")},w.days=function(){return this.get("days")},w.asDays=function(){return this.as("days")},w.weeks=function(){return this.get("weeks")},w.asWeeks=function(){return this.as("weeks")},w.months=function(){return this.get("months")},w.asMonths=function(){return this.as("months")},w.years=function(){return this.get("years")},w.asYears=function(){return this.as("years")},E})(),T=o(function(E,w,k){return E.add(w.years()*k,"y").add(w.months()*k,"M").add(w.days()*k,"d").add(w.hours()*k,"h").add(w.minutes()*k,"m").add(w.seconds()*k,"s").add(w.milliseconds()*k,"ms")},"p");return function(E,w,k){t=k,e=k().$utils(),k.duration=function(L,I){var N=k.locale();return p(L,{$l:N},I)},k.isDuration=d;var S=w.prototype.add,A=w.prototype.subtract;w.prototype.add=function(L,I){return d(L)?T(this,L,1):S.bind(this)(L,I)},w.prototype.subtract=function(L,I){return d(L)?T(this,L,-1):A.bind(this)(L,I)}}}))});var Mv,t3e,got,e3e,yot,sf,Pq,vot,r3e,n3e=O(()=>{"use strict";Mv=Ra(U3(),1),t3e=Ra(J4e(),1);xt();Ar();Ur();jt();Ti();Mv.default.extend(t3e.default);got=o(function(){K.debug("Something is calling, setConf, remove the call")},"setConf"),e3e={monday:If,tuesday:M5,wednesday:I5,thursday:iu,friday:O5,saturday:P5,sunday:oc},yot=o((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(let a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),Pq=1e4,vot=o(function(t,e,r,n){let i=ve().gantt,a=ve().securityLevel,s;a==="sandbox"&&(s=je("#i"+e));let l=a==="sandbox"?je(s.nodes()[0].contentDocument.body):je("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);sf=h.parentElement.offsetWidth,sf===void 0&&(sf=1200),i.useWidth!==void 0&&(sf=i.useWidth);let f=n.db.getTasks(),d=[];for(let L of f)d.push(L.type);d=A(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let L={};for(let N of f)L[N.section]===void 0?L[N.section]=[N]:L[N.section].push(N);let I=0;for(let N of Object.keys(L)){let C=yot(L[N],I)+1;I+=C,m+=C*(i.barHeight+i.barGap),p[N]=C}}else{m+=f.length*(i.barHeight+i.barGap);for(let L of d)p[L]=f.filter(I=>I.type===L).length}h.setAttribute("viewBox","0 0 "+sf+" "+m);let g=l.select(`[id="${e}"]`),y=$5().domain([Uw(f,function(L){return L.startTime}),qw(f,function(L){return L.endTime})]).rangeRound([0,sf-i.leftPadding-i.rightPadding]);function v(L,I){let N=L.startTime,C=I.startTime,_=0;return N>C?_=1:N$.vert===V.vert?0:$.vert?1:-1);let P=[...new Set(L.map($=>$.order))].map($=>L.find(V=>V.order===$));g.append("g").selectAll("rect").data(P).enter().append("rect").attr("x",0).attr("y",function($,V){return V=$.order,V*I+N-2}).attr("width",function(){return M-i.rightPadding/2}).attr("height",I).attr("class",function($){for(let[V,X]of d.entries())if($.type===X)return"section section"+V%i.numberSectionStyles;return"section section0"}).enter();let B=g.append("g").selectAll("rect").data(L).enter(),F=n.db.getLinks();if(B.append("rect").attr("id",function($){return $.id}).attr("rx",3).attr("ry",3).attr("x",function($){return $.milestone?y($.startTime)+C+.5*(y($.endTime)-y($.startTime))-.5*_:y($.startTime)+C}).attr("y",function($,V){return V=$.order,$.vert?i.gridLineStartPadding:V*I+N}).attr("width",function($){return $.milestone?_:$.vert?.08*_:y($.renderEndTime||$.endTime)-y($.startTime)}).attr("height",function($){return $.vert?f.length*(i.barHeight+i.barGap)+i.barHeight*2:_}).attr("transform-origin",function($,V){return V=$.order,(y($.startTime)+C+.5*(y($.endTime)-y($.startTime))).toString()+"px "+(V*I+N+.5*_).toString()+"px"}).attr("class",function($){let V="task",X="";$.classes.length>0&&(X=$.classes.join(" "));let Q=0;for(let[ie,Y]of d.entries())$.type===Y&&(Q=ie%i.numberSectionStyles);let H="";return $.active?$.crit?H+=" activeCrit":H=" active":$.done?$.crit?H=" doneCrit":H=" done":$.crit&&(H+=" crit"),H.length===0&&(H=" task"),$.milestone&&(H=" milestone "+H),$.vert&&(H=" vert "+H),H+=Q,H+=" "+X,V+H}),B.append("text").attr("id",function($){return $.id+"-text"}).text(function($){return $.task}).attr("font-size",i.fontSize).attr("x",function($){let V=y($.startTime),X=y($.renderEndTime||$.endTime);if($.milestone&&(V+=.5*(y($.endTime)-y($.startTime))-.5*_,X=V+_),$.vert)return y($.startTime)+C;let Q=this.getBBox().width;return Q>X-V?X+Q+1.5*i.leftPadding>M?V+C-5:X+C+5:(X-V)/2+V+C}).attr("y",function($,V){return $.vert?i.gridLineStartPadding+f.length*(i.barHeight+i.barGap)+60:(V=$.order,V*I+i.barHeight/2+(i.fontSize/2-2)+N)}).attr("text-height",_).attr("class",function($){let V=y($.startTime),X=y($.endTime);$.milestone&&(X=V+_);let Q=this.getBBox().width,H="";$.classes.length>0&&(H=$.classes.join(" "));let ie=0;for(let[le,ee]of d.entries())$.type===ee&&(ie=le%i.numberSectionStyles);let Y="";return $.active&&($.crit?Y="activeCritText"+ie:Y="activeText"+ie),$.done?$.crit?Y=Y+" doneCritText"+ie:Y=Y+" doneText"+ie:$.crit&&(Y=Y+" critText"+ie),$.milestone&&(Y+=" milestoneText"),$.vert&&(Y+=" vertText"),Q>X-V?X+Q+1.5*i.leftPadding>M?H+" taskTextOutsideLeft taskTextOutside"+ie+" "+Y:H+" taskTextOutsideRight taskTextOutside"+ie+" "+Y+" width-"+Q:H+" taskText taskText"+ie+" "+Y+" width-"+Q}),ve().securityLevel==="sandbox"){let $;$=je("#i"+e);let V=$.nodes()[0].contentDocument;B.filter(function(X){return F.has(X.id)}).each(function(X){var Q=V.querySelector("#"+X.id),H=V.querySelector("#"+X.id+"-text");let ie=Q.parentNode;var Y=V.createElement("a");Y.setAttribute("xlink:href",F.get(X.id)),Y.setAttribute("target","_top"),ie.appendChild(Y),Y.appendChild(Q),Y.appendChild(H)})}}o(b,"drawRects");function T(L,I,N,C,_,D,M,R){if(M.length===0&&R.length===0)return;let P,B;for(let{startTime:Q,endTime:H}of D)(P===void 0||QB)&&(B=H);if(!P||!B)return;if((0,Mv.default)(B).diff((0,Mv.default)(P),"year")>5){K.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let F=n.db.getDateFormat(),G=[],$=null,V=(0,Mv.default)(P);for(;V.valueOf()<=B;)n.db.isInvalidDate(V,F,M,R)?$?$.end=V:$={start:V,end:V}:$&&(G.push($),$=null),V=V.add(1,"d");g.append("g").selectAll("rect").data(G).enter().append("rect").attr("id",Q=>"exclude-"+Q.start.format("YYYY-MM-DD")).attr("x",Q=>y(Q.start.startOf("day"))+N).attr("y",i.gridLineStartPadding).attr("width",Q=>y(Q.end.endOf("day"))-y(Q.start.startOf("day"))).attr("height",_-I-i.gridLineStartPadding).attr("transform-origin",function(Q,H){return(y(Q.start)+N+.5*(y(Q.end)-y(Q.start))).toString()+"px "+(H*L+.5*_).toString()+"px"}).attr("class","exclude-range")}o(T,"drawExcludeDays");function E(L,I,N,C){if(N<=0||L>I)return 1/0;let _=I-L,D=Mv.default.duration({[C??"day"]:N}).asMilliseconds();return D<=0?1/0:Math.ceil(_/D)}o(E,"getEstimatedTickCount");function w(L,I,N,C){let _=n.db.getDateFormat(),D=n.db.getAxisFormat(),M;D?M=D:_==="D"?M="%d":M=i.axisFormat??"%Y-%m-%d";let R=GD(y).tickSize(-C+I+i.gridLineStartPadding).tickFormat(r0(M)),B=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(B!==null){let F=parseInt(B[1],10);if(isNaN(F)||F<=0)K.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let G=B[2],$=n.db.getWeekday()||i.weekday,V=y.domain(),X=V[0],Q=V[1],H=E(X,Q,F,G);if(H>Pq)K.warn(`The tick interval "${F}${G}" would generate ${H} ticks, which exceeds the maximum allowed (${Pq}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(G){case"millisecond":R.ticks(ru.every(F));break;case"second":R.ticks($o.every(F));break;case"minute":R.ticks(yh.every(F));break;case"hour":R.ticks(vh.every(F));break;case"day":R.ticks(gl.every(F));break;case"week":R.ticks(e3e[$].every(F));break;case"month":R.ticks(xh.every(F));break}}}if(g.append("g").attr("class","grid").attr("transform","translate("+L+", "+(C-50)+")").call(R).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let F=zD(y).tickSize(-C+I+i.gridLineStartPadding).tickFormat(r0(M));if(B!==null){let G=parseInt(B[1],10);if(isNaN(G)||G<=0)K.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{let $=B[2],V=n.db.getWeekday()||i.weekday,X=y.domain(),Q=X[0],H=X[1];if(E(Q,H,G,$)<=Pq)switch($){case"millisecond":F.ticks(ru.every(G));break;case"second":F.ticks($o.every(G));break;case"minute":F.ticks(yh.every(G));break;case"hour":F.ticks(vh.every(G));break;case"day":F.ticks(gl.every(G));break;case"week":F.ticks(e3e[V].every(G));break;case"month":F.ticks(xh.every(G));break}}}g.append("g").attr("class","grid").attr("transform","translate("+L+", "+I+")").call(F).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(w,"makeGrid");function k(L,I){let N=0,C=Object.keys(p).map(_=>[_,p[_]]);g.append("g").selectAll("text").data(C).enter().append(function(_){let D=_[0].split(st.lineBreakRegex),M=-(D.length-1)/2,R=u.createElementNS("http://www.w3.org/2000/svg","text");R.setAttribute("dy",M+"em");for(let[P,B]of D.entries()){let F=u.createElementNS("http://www.w3.org/2000/svg","tspan");F.setAttribute("alignment-baseline","central"),F.setAttribute("x","10"),P>0&&F.setAttribute("dy","1em"),F.textContent=B,R.appendChild(F)}return R}).attr("x",10).attr("y",function(_,D){if(D>0)for(let M=0;M{"use strict";xot=o(t=>` .mermaid-main-font { font-family: ${t.fontFamily}; } @@ -1484,6 +1493,19 @@ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse erro 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 */ @@ -1530,6 +1552,18 @@ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse erro fill: ${t.taskTextDarkColor} !important; } + /* Done-crit task text outside the bar \u2014 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}; } @@ -1553,8 +1587,8 @@ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse erro fill: ${t.titleColor||t.textColor}; font-family: ${t.fontFamily}; } -`,"getStyles"),bTe=Pat});var wTe={};vr(wTe,{diagram:()=>Bat});var Bat,kTe=I(()=>{"use strict";j4e();pTe();xTe();TTe();Bat={parser:Y4e,db:fTe,renderer:vTe,styles:bTe}});var CTe,ATe=I(()=>{"use strict";sp();gt();CTe={parse:o(async t=>{let e=await Vs("info",t);X.debug(e)},"parse")}});var JT,Tq=I(()=>{JT={name:"mermaid",version:"11.12.3",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.1.1","@iconify/utils":"^3.0.1","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.13",dayjs:"^1.11.18",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.23",marked:"^16.2.1",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.5","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.2",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.1.0",jison:"^0.4.18","js-base64":"^3.7.8",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.3",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.13","type-fest":"^4.35.0",typedoc:"^0.28.12","typedoc-plugin-markdown":"^4.8.1",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.6.4","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}});var Vat,qat,_Te,DTe=I(()=>{"use strict";Tq();Vat={version:JT.version+""},qat=o(()=>Vat.version,"getVersion"),_Te={getVersion:qat}});var Ca,Uu=I(()=>{"use strict";kr();Qt();Ca=o(t=>{let{securityLevel:e}=xe(),r=He("body");if(e==="sandbox"){let a=He(`#i${t}`).node()?.contentDocument??document;r=He(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var Uat,RTe,LTe=I(()=>{"use strict";gt();Uu();Fi();Uat=o((t,e,r)=>{X.debug(`rendering info diagram -`+t);let n=Ca(e);Sn(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),RTe={draw:Uat}});var NTe={};vr(NTe,{diagram:()=>Wat});var Wat,MTe=I(()=>{"use strict";ATe();DTe();LTe();Wat={parser:CTe,db:_Te,renderer:RTe}});var PTe,wq,m7,kq,jat,Xat,Kat,Qat,Zat,Jat,est,g7,Sq=I(()=>{"use strict";gt();ki();Ka();PTe=gr.pie,wq={sections:new Map,showData:!1,config:PTe},m7=wq.sections,kq=wq.showData,jat=structuredClone(PTe),Xat=o(()=>structuredClone(jat),"getConfig"),Kat=o(()=>{m7=new Map,kq=wq.showData,Mr()},"clear"),Qat=o(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);m7.has(t)||(m7.set(t,e),X.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),Zat=o(()=>m7,"getSections"),Jat=o(t=>{kq=t},"setShowData"),est=o(()=>kq,"getShowData"),g7={getConfig:Xat,clear:Kat,setDiagramTitle:Xr,getDiagramTitle:Wr,setAccTitle:zr,getAccTitle:Vr,setAccDescription:qr,getAccDescription:Ur,addSection:Qat,getSections:Zat,setShowData:Jat,getShowData:est}});var tst,BTe,FTe=I(()=>{"use strict";sp();gt();$m();Sq();tst=o((t,e)=>{Pl(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),BTe={parse:o(async t=>{let e=await Vs("pie",t);X.debug(e),tst(e,g7)},"parse")}});var rst,$Te,zTe=I(()=>{"use strict";rst=o(t=>` +`,"getStyles"),i3e=xot});var s3e={};vr(s3e,{diagram:()=>bot});var bot,o3e=O(()=>{"use strict";N4e();Z4e();n3e();a3e();bot={parser:L4e,db:K4e,renderer:r3e,styles:i3e}});var u3e,h3e=O(()=>{"use strict";up();xt();u3e={parse:o(async t=>{let e=await Us("info",t);K.debug(e)},"parse")}});var Eot,Sot,f3e,d3e=O(()=>{"use strict";Eot={version:"11.13.0"},Sot=o(()=>Eot.version,"getVersion"),f3e={getVersion:Sot}});var Ii,Ul=O(()=>{"use strict";Ar();jt();Ii=o(t=>{let{securityLevel:e}=ve(),r=je("body");if(e==="sandbox"){let a=je(`#i${t}`).node()?.contentDocument??document;r=je(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var Cot,p3e,m3e=O(()=>{"use strict";xt();Ul();Ti();Cot=o((t,e,r)=>{K.debug(`rendering info diagram +`+t);let n=Ii(e);Zr(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),p3e={draw:Cot}});var g3e={};vr(g3e,{diagram:()=>Aot});var Aot,y3e=O(()=>{"use strict";h3e();d3e();m3e();Aot={parser:u3e,db:f3e,renderer:p3e}});var b3e,Bq,_7,Fq,Rot,Lot,Not,Mot,Iot,Oot,Pot,D7,$q=O(()=>{"use strict";xt();si();La();b3e=gr.pie,Bq={sections:new Map,showData:!1,config:b3e},_7=Bq.sections,Fq=Bq.showData,Rot=structuredClone(b3e),Lot=o(()=>structuredClone(Rot),"getConfig"),Not=o(()=>{_7=new Map,Fq=Bq.showData,_r()},"clear"),Mot=o(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);_7.has(t)||(_7.set(t,e),K.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),Iot=o(()=>_7,"getSections"),Oot=o(t=>{Fq=t},"setShowData"),Pot=o(()=>Fq,"getShowData"),D7={getConfig:Lot,clear:Not,setDiagramTitle:zr,getDiagramTitle:Fr,setAccTitle:Lr,getAccTitle:Or,setAccDescription:Pr,getAccDescription:Br,addSection:Mot,getSections:Iot,setShowData:Oot,getShowData:Pot}});var Bot,T3e,w3e=O(()=>{"use strict";up();xt();Vm();$q();Bot=o((t,e)=>{ql(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),T3e={parse:o(async t=>{let e=await Us("pie",t);K.debug(e),Bot(e,D7)},"parse")}});var Fot,k3e,E3e=O(()=>{"use strict";Fot=o(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1582,25 +1616,25 @@ Expecting `+Ie.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":Me="Parse erro font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } -`,"getStyles"),$Te=rst});var nst,ist,GTe,VTe=I(()=>{"use strict";kr();Qt();gt();Uu();Fi();sr();nst=o(t=>{let e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1).sort((i,a)=>a.value-i.value);return N5().value(i=>i.value)(r)},"createPieArcs"),ist=o((t,e,r,n)=>{X.debug(`rendering pie chart -`+t);let i=n.db,a=xe(),s=Qn(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Ca(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=ru(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=ic().innerRadius(0).outerRadius(x),T=ic().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let E=i.getSections(),w=nst(E),k=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],C=0;E.forEach(_=>{C+=_});let D=w.filter(_=>(_.data.value/C*100).toFixed(0)!=="0"),R=Lo(k);m.selectAll("mySlices").data(D).enter().append("path").attr("d",b).attr("fill",_=>R(_.data.label)).attr("class","pieCircle"),m.selectAll("mySlices").data(D).enter().append("text").text(_=>(_.data.value/C*100).toFixed(0)+"%").attr("transform",_=>"translate("+T.centroid(_)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let O=[...E.entries()].map(([_,N])=>({label:_,value:N})),L=m.selectAll(".legend").data(O).enter().append("g").attr("class","legend").attr("transform",(_,N)=>{let M=u+h,P=M*O.length/2,B=12*u,F=N*M-P;return"translate("+B+","+F+")"});L.append("rect").attr("width",u).attr("height",u).style("fill",_=>R(_.label)).style("stroke",_=>R(_.label)),L.append("text").attr("x",u+h).attr("y",u-h).text(_=>i.getShowData()?`${_.label} [${_.value}]`:_.label);let S=Math.max(...L.selectAll("text").nodes().map(_=>_?.getBoundingClientRect().width??0)),A=d+l+u+h+S;p.attr("viewBox",`0 0 ${A} ${f}`),Sn(p,f,A,s.useMaxWidth)},"draw"),GTe={draw:ist}});var qTe={};vr(qTe,{diagram:()=>ast});var ast,UTe=I(()=>{"use strict";FTe();Sq();zTe();VTe();ast={parser:BTe,db:g7,renderer:GTe,styles:$Te}});var Eq,HTe,YTe=I(()=>{"use strict";Eq=(function(){var t=o(function(ue,z,se,oe){for(se=se||{},oe=ue.length;oe--;se[ue[oe]]=z);return se},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],T=[1,19],E=[1,20],w=[1,21],k=[1,22],C=[1,24],D=[1,25],R=[1,26],O=[1,27],L=[1,28],S=[1,29],A=[1,32],_=[1,33],N=[1,34],M=[1,39],P=[1,40],B=[1,42],F=[1,44],G=[1,62],$=[1,61],V=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],K=[1,65],ee=[1,66],H=[1,67],he=[1,68],Z=[1,69],de=[1,70],re=[1,71],ne=[1,72],te=[1,73],Q=[1,74],le=[1,75],J=[1,76],ge=[4,5,6,7,8,9,10,11,12,13,14,15,18],ie=[1,90],Te=[1,91],j=[1,92],Ge=[1,99],ye=[1,93],$e=[1,96],Xe=[1,94],Ue=[1,95],Le=[1,97],Ie=[1,98],Me=[1,102],Ae=[10,55,56,57],ze=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],Y={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(z,se,oe,be,pe,me,De){var Ce=me.length-1;switch(pe){case 23:this.$=me[Ce];break;case 24:this.$=me[Ce-1]+""+me[Ce];break;case 26:this.$=me[Ce-1]+me[Ce];break;case 27:this.$=[me[Ce].trim()];break;case 28:me[Ce-2].push(me[Ce].trim()),this.$=me[Ce-2];break;case 29:this.$=me[Ce-4],be.addClass(me[Ce-2],me[Ce]);break;case 37:this.$=[];break;case 42:this.$=me[Ce].trim(),be.setDiagramTitle(this.$);break;case 43:this.$=me[Ce].trim(),be.setAccTitle(this.$);break;case 44:case 45:this.$=me[Ce].trim(),be.setAccDescription(this.$);break;case 46:be.addSection(me[Ce].substr(8)),this.$=me[Ce].substr(8);break;case 47:be.addPoint(me[Ce-3],"",me[Ce-1],me[Ce],[]);break;case 48:be.addPoint(me[Ce-4],me[Ce-3],me[Ce-1],me[Ce],[]);break;case 49:be.addPoint(me[Ce-4],"",me[Ce-2],me[Ce-1],me[Ce]);break;case 50:be.addPoint(me[Ce-5],me[Ce-4],me[Ce-2],me[Ce-1],me[Ce]);break;case 51:be.setXAxisLeftText(me[Ce-2]),be.setXAxisRightText(me[Ce]);break;case 52:me[Ce-1].text+=" \u27F6 ",be.setXAxisLeftText(me[Ce-1]);break;case 53:be.setXAxisLeftText(me[Ce]);break;case 54:be.setYAxisBottomText(me[Ce-2]),be.setYAxisTopText(me[Ce]);break;case 55:me[Ce-1].text+=" \u27F6 ",be.setYAxisBottomText(me[Ce-1]);break;case 56:be.setYAxisBottomText(me[Ce]);break;case 57:be.setQuadrant1Text(me[Ce]);break;case 58:be.setQuadrant2Text(me[Ce]);break;case 59:be.setQuadrant3Text(me[Ce]);break;case 60:be.setQuadrant4Text(me[Ce]);break;case 64:this.$={text:me[Ce],type:"text"};break;case 65:this.$={text:me[Ce-1].text+""+me[Ce],type:me[Ce-1].type};break;case 66:this.$={text:me[Ce],type:"text"};break;case 67:this.$={text:me[Ce],type:"markdown"};break;case 68:this.$=me[Ce];break;case 69:this.$=me[Ce-1]+""+me[Ce];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:E,41:w,42:k,48:C,50:D,51:R,52:O,53:L,54:S,60:A,61:_,63:N,64:M,65:P,66:B,67:F}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:E,41:w,42:k,48:C,50:D,51:R,52:O,53:L,54:S,60:A,61:_,63:N,64:M,65:P,66:B,67:F}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:A,61:_,63:N,64:M,65:P,66:B,67:F},{4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,44:[1,57],47:[1,58],58:60,59:59,63:N,64:M,65:P,66:B,67:F},t(V,[2,64]),t(V,[2,66]),t(V,[2,67]),t(V,[2,70]),t(V,[2,71]),t(V,[2,72]),t(V,[2,73]),t(V,[2,74]),t(V,[2,75]),t(V,[2,76]),t(V,[2,77]),t(V,[2,78]),t(V,[2,79]),t(V,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:K,5:ee,6:H,7:he,8:Z,9:de,10:re,11:ne,12:te,13:Q,14:le,15:J,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,49:[1,77],63:N,64:M,65:P,66:B,67:F}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,49:[1,78],63:N,64:M,65:P,66:B,67:F}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),{45:[1,79]},{44:[1,80]},t(V,[2,65]),t(V,[2,81]),t(V,[2,82]),t(V,[2,83]),{3:82,4:K,5:ee,6:H,7:he,8:Z,9:de,10:re,11:ne,12:te,13:Q,14:le,15:J,18:[1,81]},t(ge,[2,23]),t(ge,[2,1]),t(ge,[2,2]),t(ge,[2,3]),t(ge,[2,4]),t(ge,[2,5]),t(ge,[2,6]),t(ge,[2,7]),t(ge,[2,8]),t(ge,[2,9]),t(ge,[2,10]),t(ge,[2,11]),t(ge,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:A,61:_,63:N,64:M,65:P,66:B,67:F}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:A,61:_,63:N,64:M,65:P,66:B,67:F}),{46:[1,85]},{45:[1,86]},{4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,16:89,17:Xe,18:Ue,19:Le,20:Ie,22:88,23:87},t(ge,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:N,64:M,65:P,66:B,67:F}),t(u,[2,47],{22:88,16:89,23:100,4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,17:Xe,18:Ue,19:Le,20:Ie}),{46:[1,101]},t(u,[2,29],{10:Me}),t(Ae,[2,27],{16:103,4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,17:Xe,18:Ue,19:Le,20:Ie}),t(ze,[2,25]),t(ze,[2,13]),t(ze,[2,14]),t(ze,[2,15]),t(ze,[2,16]),t(ze,[2,17]),t(ze,[2,18]),t(ze,[2,19]),t(ze,[2,20]),t(ze,[2,21]),t(ze,[2,22]),t(u,[2,49],{10:Me}),t(u,[2,48],{22:88,16:89,23:104,4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,17:Xe,18:Ue,19:Le,20:Ie}),{4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,16:89,17:Xe,18:Ue,19:Le,20:Ie,22:105},t(ze,[2,26]),t(u,[2,50],{10:Me}),t(Ae,[2,28],{16:103,4:ie,5:Te,6:j,8:Ge,11:ye,13:$e,17:Xe,18:Ue,19:Le,20:Ie})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(z,se){if(se.recoverable)this.trace(z);else{var oe=new Error(z);throw oe.hash=se,oe}},"parseError"),parse:o(function(z){var se=this,oe=[0],be=[],pe=[null],me=[],De=this.table,Ce="",Fe=0,Ye=0,xt=0,je=2,Pe=1,rt=me.slice.call(arguments,1),We=Object.create(this.lexer),ut={yy:{}};for(var Ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ut)&&(ut.yy[Ut]=this.yy[Ut]);We.setInput(z,ut.yy),ut.yy.lexer=We,ut.yy.parser=this,typeof We.yylloc>"u"&&(We.yylloc={});var Tt=We.yylloc;me.push(Tt);var Mt=We.options&&We.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function mt(_e){oe.length=oe.length-2*_e,pe.length=pe.length-_e,me.length=me.length-_e}o(mt,"popStack");function at(){var _e;return _e=be.pop()||We.lex()||Pe,typeof _e!="number"&&(_e instanceof Array&&(be=_e,_e=be.pop()),_e=se.symbols_[_e]||_e),_e}o(at,"lex");for(var wt,St,bt,pt,Zr,Lt,Dn={},Hr,mr,hr,Br;;){if(bt=oe[oe.length-1],this.defaultActions[bt]?pt=this.defaultActions[bt]:((wt===null||typeof wt>"u")&&(wt=at()),pt=De[bt]&&De[bt][wt]),typeof pt>"u"||!pt.length||!pt[0]){var Dt="";Br=[];for(Hr in De[bt])this.terminals_[Hr]&&Hr>je&&Br.push("'"+this.terminals_[Hr]+"'");We.showPosition?Dt="Parse error on line "+(Fe+1)+`: -`+We.showPosition()+` -Expecting `+Br.join(", ")+", got '"+(this.terminals_[wt]||wt)+"'":Dt="Parse error on line "+(Fe+1)+": Unexpected "+(wt==Pe?"end of input":"'"+(this.terminals_[wt]||wt)+"'"),this.parseError(Dt,{text:We.match,token:this.terminals_[wt]||wt,line:We.yylineno,loc:Tt,expected:Br})}if(pt[0]instanceof Array&&pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+bt+", token: "+wt);switch(pt[0]){case 1:oe.push(wt),pe.push(We.yytext),me.push(We.yylloc),oe.push(pt[1]),wt=null,St?(wt=St,St=null):(Ye=We.yyleng,Ce=We.yytext,Fe=We.yylineno,Tt=We.yylloc,xt>0&&xt--);break;case 2:if(mr=this.productions_[pt[1]][1],Dn.$=pe[pe.length-mr],Dn._$={first_line:me[me.length-(mr||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(mr||1)].first_column,last_column:me[me.length-1].last_column},Mt&&(Dn._$.range=[me[me.length-(mr||1)].range[0],me[me.length-1].range[1]]),Lt=this.performAction.apply(Dn,[Ce,Ye,Fe,ut.yy,pt[1],pe,me].concat(rt)),typeof Lt<"u")return Lt;mr&&(oe=oe.slice(0,-1*mr*2),pe=pe.slice(0,-1*mr),me=me.slice(0,-1*mr)),oe.push(this.productions_[pt[1]][0]),pe.push(Dn.$),me.push(Dn._$),hr=De[oe[oe.length-2]][oe[oe.length-1]],oe.push(hr);break;case 3:return!0}}return!0},"parse")},ce=(function(){var ue={EOF:1,parseError:o(function(se,oe){if(this.yy.parser)this.yy.parser.parseError(se,oe);else throw new Error(se)},"parseError"),setInput:o(function(z,se){return this.yy=se||this.yy||{},this._input=z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var z=this._input[0];this.yytext+=z,this.yyleng++,this.offset++,this.match+=z,this.matched+=z;var se=z.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),z},"input"),unput:o(function(z){var se=z.length,oe=z.split(/(?:\r\n?|\n)/g);this._input=z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var be=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),oe.length-1&&(this.yylineno-=oe.length-1);var pe=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:oe?(oe.length===be.length?this.yylloc.first_column:0)+be[be.length-oe.length].length-oe[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[pe[0],pe[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(z){this.unput(this.match.slice(z))},"less"),pastInput:o(function(){var z=this.matched.substr(0,this.matched.length-this.match.length);return(z.length>20?"...":"")+z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var z=this.match;return z.length<20&&(z+=this._input.substr(0,20-z.length)),(z.substr(0,20)+(z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var z=this.pastInput(),se=new Array(z.length+1).join("-");return z+this.upcomingInput()+` -`+se+"^"},"showPosition"),test_match:o(function(z,se){var oe,be,pe;if(this.options.backtrack_lexer&&(pe={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&&(pe.yylloc.range=this.yylloc.range.slice(0))),be=z[0].match(/(?:\r\n?|\n).*/g),be&&(this.yylineno+=be.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:be?be[be.length-1].length-be[be.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+z[0].length},this.yytext+=z[0],this.match+=z[0],this.matches=z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(z[0].length),this.matched+=z[0],oe=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),oe)return oe;if(this._backtrack){for(var me in pe)this[me]=pe[me];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var z,se,oe,be;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),me=0;mese[0].length)){if(se=oe,be=me,this.options.backtrack_lexer){if(z=this.test_match(oe,pe[me]),z!==!1)return z;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(z=this.test_match(se,pe[be]),z!==!1?z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var se=this.next();return se||this.lex()},"lex"),begin:o(function(se){this.conditionStack.push(se)},"begin"),popState:o(function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},"topState"),pushState:o(function(se){this.begin(se)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(se,oe,be,pe){var me=pe;switch(be){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return ue})();Y.lexer=ce;function U(){this.yy={}}return o(U,"Parser"),U.prototype=Y,Y.Parser=U,new U})();Eq.parser=Eq;HTe=Eq});var qs,y7,jTe=I(()=>{"use strict";kr();Ka();gt();a2();qs=uf(),y7=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:gr.quadrantChart?.chartWidth||500,chartWidth:gr.quadrantChart?.chartHeight||500,titlePadding:gr.quadrantChart?.titlePadding||10,titleFontSize:gr.quadrantChart?.titleFontSize||20,quadrantPadding:gr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:gr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:gr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:gr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:gr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:gr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:gr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:gr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:gr.quadrantChart?.pointLabelFontSize||12,pointRadius:gr.quadrantChart?.pointRadius||5,xAxisPosition:gr.quadrantChart?.xAxisPosition||"top",yAxisPosition:gr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:gr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:gr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:qs.quadrant1Fill,quadrant2Fill:qs.quadrant2Fill,quadrant3Fill:qs.quadrant3Fill,quadrant4Fill:qs.quadrant4Fill,quadrant1TextFill:qs.quadrant1TextFill,quadrant2TextFill:qs.quadrant2TextFill,quadrant3TextFill:qs.quadrant3TextFill,quadrant4TextFill:qs.quadrant4TextFill,quadrantPointFill:qs.quadrantPointFill,quadrantPointTextFill:qs.quadrantPointTextFill,quadrantXAxisTextFill:qs.quadrantXAxisTextFill,quadrantYAxisTextFill:qs.quadrantYAxisTextFill,quadrantTitleFill:qs.quadrantTitleFill,quadrantInternalBorderStrokeFill:qs.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:qs.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,X.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){X.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){X.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,l=ec().domain([0,1]).range([i,s+i]),u=ec().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+i,x2:s+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function Cq(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function XTe(t){return!/^\d+$/.test(t)}function KTe(t){return!/^\d+px$/.test(t)}var qm,QTe=I(()=>{"use strict";qm=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};o(Cq,"validateHexCode");o(XTe,"validateNumber");o(KTe,"validateSizeInPixels")});function ef(t){return fr(t.trim(),lst)}function cst(t){Ya.setData({quadrant1Text:ef(t.text)})}function ust(t){Ya.setData({quadrant2Text:ef(t.text)})}function hst(t){Ya.setData({quadrant3Text:ef(t.text)})}function fst(t){Ya.setData({quadrant4Text:ef(t.text)})}function dst(t){Ya.setData({xAxisLeftText:ef(t.text)})}function pst(t){Ya.setData({xAxisRightText:ef(t.text)})}function mst(t){Ya.setData({yAxisTopText:ef(t.text)})}function gst(t){Ya.setData({yAxisBottomText:ef(t.text)})}function Aq(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(XTe(i))throw new qm(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(Cq(i))throw new qm(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(Cq(i))throw new qm(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(KTe(i))throw new qm(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function yst(t,e,r,n,i){let a=Aq(i);Ya.addPoints([{x:r,y:n,text:ef(t.text),className:e,...a}])}function vst(t,e){Ya.addClass(t,Aq(e))}function xst(t){Ya.setConfig({chartWidth:t})}function bst(t){Ya.setConfig({chartHeight:t})}function Tst(){let t=xe(),{themeVariables:e,quadrantChart:r}=t;return r&&Ya.setConfig(r),Ya.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),Ya.setData({titleText:Wr()}),Ya.build()}var lst,Ya,wst,ZTe,JTe=I(()=>{"use strict";Qt();wr();ki();jTe();QTe();lst=xe();o(ef,"textSanitizer");Ya=new y7;o(cst,"setQuadrant1Text");o(ust,"setQuadrant2Text");o(hst,"setQuadrant3Text");o(fst,"setQuadrant4Text");o(dst,"setXAxisLeftText");o(pst,"setXAxisRightText");o(mst,"setYAxisTopText");o(gst,"setYAxisBottomText");o(Aq,"parseStyles");o(yst,"addPoint");o(vst,"addClass");o(xst,"setWidth");o(bst,"setHeight");o(Tst,"getQuadrantData");wst=o(function(){Ya.clear(),Mr()},"clear"),ZTe={setWidth:xst,setHeight:bst,setQuadrant1Text:cst,setQuadrant2Text:ust,setQuadrant3Text:hst,setQuadrant4Text:fst,setXAxisLeftText:dst,setXAxisRightText:pst,setYAxisTopText:mst,setYAxisBottomText:gst,parseStyles:Aq,addPoint:yst,addClass:vst,getQuadrantData:Tst,clear:wst,setAccTitle:zr,getAccTitle:Vr,setDiagramTitle:Xr,getDiagramTitle:Wr,getAccDescription:Ur,setAccDescription:qr}});var kst,e3e,t3e=I(()=>{"use strict";kr();Qt();gt();Fi();kst=o((t,e,r,n)=>{function i(D){return D==="top"?"hanging":"middle"}o(i,"getDominantBaseLine");function a(D){return D==="left"?"start":"middle"}o(a,"getTextAnchor");function s(D){return`translate(${D.x}, ${D.y}) rotate(${D.rotation||0})`}o(s,"getTransformation");let l=xe();X.debug(`Rendering quadrant chart -`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=He("#i"+e));let d=(u==="sandbox"?He(h.nodes()[0].contentDocument.body):He("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;Sn(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),T=p.append("g").attr("class","labels"),E=p.append("g").attr("class","title");y.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",D=>D.x1).attr("y1",D=>D.y1).attr("x2",D=>D.x2).attr("y2",D=>D.y2).style("stroke",D=>D.strokeFill).style("stroke-width",D=>D.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",D=>D.x).attr("y",D=>D.y).attr("width",D=>D.width).attr("height",D=>D.height).attr("fill",D=>D.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",D=>D.text.fill).attr("font-size",D=>D.text.fontSize).attr("dominant-baseline",D=>i(D.text.horizontalPos)).attr("text-anchor",D=>a(D.text.verticalPos)).attr("transform",D=>s(D.text)).text(D=>D.text.text),T.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(D=>D.text).attr("fill",D=>D.fill).attr("font-size",D=>D.fontSize).attr("dominant-baseline",D=>i(D.horizontalPos)).attr("text-anchor",D=>a(D.verticalPos)).attr("transform",D=>s(D));let C=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");C.append("circle").attr("cx",D=>D.x).attr("cy",D=>D.y).attr("r",D=>D.radius).attr("fill",D=>D.fill).attr("stroke",D=>D.strokeColor).attr("stroke-width",D=>D.strokeWidth),C.append("text").attr("x",0).attr("y",0).text(D=>D.text.text).attr("fill",D=>D.text.fill).attr("font-size",D=>D.text.fontSize).attr("dominant-baseline",D=>i(D.text.horizontalPos)).attr("text-anchor",D=>a(D.text.verticalPos)).attr("transform",D=>s(D.text))},"draw"),e3e={draw:kst}});var r3e={};vr(r3e,{diagram:()=>Sst});var Sst,n3e=I(()=>{"use strict";YTe();JTe();t3e();Sst={parser:HTe,db:ZTe,renderer:e3e,styles:o(()=>"","styles")}});var _q,s3e,o3e=I(()=>{"use strict";_q=(function(){var t=o(function(N,M,P,B){for(P=P||{},B=N.length;B--;P[N[B]]=M);return P},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],E=[1,43],w=[1,42],k=[1,47],C=[1,50],D=[1,10,12,14,16,18,19,21,23,34,35,36],R=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],L=[1,64],S={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(M,P,B,F,G,$,V){var K=$.length-1;switch(G){case 5:F.setOrientation($[K]);break;case 9:F.setDiagramTitle($[K].text.trim());break;case 12:F.setLineData({text:"",type:"text"},$[K]);break;case 13:F.setLineData($[K-1],$[K]);break;case 14:F.setBarData({text:"",type:"text"},$[K]);break;case 15:F.setBarData($[K-1],$[K]);break;case 16:this.$=$[K].trim(),F.setAccTitle(this.$);break;case 17:case 18:this.$=$[K].trim(),F.setAccDescription(this.$);break;case 19:this.$=$[K-1];break;case 20:this.$=[Number($[K-2]),...$[K]];break;case 21:this.$=[Number($[K])];break;case 22:F.setXAxisTitle($[K]);break;case 23:F.setXAxisTitle($[K-1]);break;case 24:F.setXAxisTitle({type:"text",text:""});break;case 25:F.setXAxisBand($[K]);break;case 26:F.setXAxisRangeData(Number($[K-2]),Number($[K]));break;case 27:this.$=$[K-1];break;case 28:this.$=[$[K-2],...$[K]];break;case 29:this.$=[$[K]];break;case 30:F.setYAxisTitle($[K]);break;case 31:F.setYAxisTitle($[K-1]);break;case 32:F.setYAxisTitle({type:"text",text:""});break;case 33:F.setYAxisRangeData(Number($[K-2]),Number($[K]));break;case 37:this.$={text:$[K],type:"text"};break;case 38:this.$={text:$[K],type:"text"};break;case 39:this.$={text:$[K],type:"markdown"};break;case 40:this.$=$[K];break;case 41:this.$=$[K-1]+""+$[K];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:39,13:38,24:E,27:w,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:45,15:44,27:k,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:49,17:48,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:52,17:51,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{20:[1,53]},{22:[1,54]},t(D,[2,18]),{1:[2,2]},t(D,[2,8]),t(D,[2,9]),t(R,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T}),t(R,[2,38]),t(R,[2,39]),t(O,[2,40]),t(O,[2,42]),t(O,[2,43]),t(O,[2,44]),t(O,[2,45]),t(O,[2,46]),t(O,[2,47]),t(O,[2,48]),t(O,[2,49]),t(O,[2,50]),t(O,[2,51]),t(D,[2,10]),t(D,[2,22],{30:41,29:56,24:E,27:w}),t(D,[2,24]),t(D,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(D,[2,11]),t(D,[2,30],{33:60,27:k}),t(D,[2,32]),{31:[1,61]},t(D,[2,12]),{17:62,24:C},{25:63,27:L},t(D,[2,14]),{17:65,24:C},t(D,[2,16]),t(D,[2,17]),t(O,[2,41]),t(D,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(D,[2,31]),{27:[1,69]},t(D,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(D,[2,15]),t(D,[2,26]),t(D,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(D,[2,33]),t(D,[2,19]),{25:73,27:L},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(M,P){if(P.recoverable)this.trace(M);else{var B=new Error(M);throw B.hash=P,B}},"parseError"),parse:o(function(M){var P=this,B=[0],F=[],G=[null],$=[],V=this.table,K="",ee=0,H=0,he=0,Z=2,de=1,re=$.slice.call(arguments,1),ne=Object.create(this.lexer),te={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&(te.yy[Q]=this.yy[Q]);ne.setInput(M,te.yy),te.yy.lexer=ne,te.yy.parser=this,typeof ne.yylloc>"u"&&(ne.yylloc={});var le=ne.yylloc;$.push(le);var J=ne.options&&ne.options.ranges;typeof te.yy.parseError=="function"?this.parseError=te.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ge(Y){B.length=B.length-2*Y,G.length=G.length-Y,$.length=$.length-Y}o(ge,"popStack");function ie(){var Y;return Y=F.pop()||ne.lex()||de,typeof Y!="number"&&(Y instanceof Array&&(F=Y,Y=F.pop()),Y=P.symbols_[Y]||Y),Y}o(ie,"lex");for(var Te,j,Ge,ye,$e,Xe,Ue={},Le,Ie,Me,Ae;;){if(Ge=B[B.length-1],this.defaultActions[Ge]?ye=this.defaultActions[Ge]:((Te===null||typeof Te>"u")&&(Te=ie()),ye=V[Ge]&&V[Ge][Te]),typeof ye>"u"||!ye.length||!ye[0]){var ze="";Ae=[];for(Le in V[Ge])this.terminals_[Le]&&Le>Z&&Ae.push("'"+this.terminals_[Le]+"'");ne.showPosition?ze="Parse error on line "+(ee+1)+`: -`+ne.showPosition()+` -Expecting `+Ae.join(", ")+", got '"+(this.terminals_[Te]||Te)+"'":ze="Parse error on line "+(ee+1)+": Unexpected "+(Te==de?"end of input":"'"+(this.terminals_[Te]||Te)+"'"),this.parseError(ze,{text:ne.match,token:this.terminals_[Te]||Te,line:ne.yylineno,loc:le,expected:Ae})}if(ye[0]instanceof Array&&ye.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ge+", token: "+Te);switch(ye[0]){case 1:B.push(Te),G.push(ne.yytext),$.push(ne.yylloc),B.push(ye[1]),Te=null,j?(Te=j,j=null):(H=ne.yyleng,K=ne.yytext,ee=ne.yylineno,le=ne.yylloc,he>0&&he--);break;case 2:if(Ie=this.productions_[ye[1]][1],Ue.$=G[G.length-Ie],Ue._$={first_line:$[$.length-(Ie||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(Ie||1)].first_column,last_column:$[$.length-1].last_column},J&&(Ue._$.range=[$[$.length-(Ie||1)].range[0],$[$.length-1].range[1]]),Xe=this.performAction.apply(Ue,[K,H,ee,te.yy,ye[1],G,$].concat(re)),typeof Xe<"u")return Xe;Ie&&(B=B.slice(0,-1*Ie*2),G=G.slice(0,-1*Ie),$=$.slice(0,-1*Ie)),B.push(this.productions_[ye[1]][0]),G.push(Ue.$),$.push(Ue._$),Me=V[B[B.length-2]][B[B.length-1]],B.push(Me);break;case 3:return!0}}return!0},"parse")},A=(function(){var N={EOF:1,parseError:o(function(P,B){if(this.yy.parser)this.yy.parser.parseError(P,B);else throw new Error(P)},"parseError"),setInput:o(function(M,P){return this.yy=P||this.yy||{},this._input=M,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var M=this._input[0];this.yytext+=M,this.yyleng++,this.offset++,this.match+=M,this.matched+=M;var P=M.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),M},"input"),unput:o(function(M){var P=M.length,B=M.split(/(?:\r\n?|\n)/g);this._input=M+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var F=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),B.length-1&&(this.yylineno-=B.length-1);var G=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:B?(B.length===F.length?this.yylloc.first_column:0)+F[F.length-B.length].length-B[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[G[0],G[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(M){this.unput(this.match.slice(M))},"less"),pastInput:o(function(){var M=this.matched.substr(0,this.matched.length-this.match.length);return(M.length>20?"...":"")+M.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var M=this.match;return M.length<20&&(M+=this._input.substr(0,20-M.length)),(M.substr(0,20)+(M.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var M=this.pastInput(),P=new Array(M.length+1).join("-");return M+this.upcomingInput()+` -`+P+"^"},"showPosition"),test_match:o(function(M,P){var B,F,G;if(this.options.backtrack_lexer&&(G={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&&(G.yylloc.range=this.yylloc.range.slice(0))),F=M[0].match(/(?:\r\n?|\n).*/g),F&&(this.yylineno+=F.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:F?F[F.length-1].length-F[F.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+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],B=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),B)return B;if(this._backtrack){for(var $ in G)this[$]=G[$];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var M,P,B,F;this._more||(this.yytext="",this.match="");for(var G=this._currentRules(),$=0;$P[0].length)){if(P=B,F=$,this.options.backtrack_lexer){if(M=this.test_match(B,G[$]),M!==!1)return M;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(M=this.test_match(P,G[F]),M!==!1?M:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var P=this.next();return P||this.lex()},"lex"),begin:o(function(P){this.conditionStack.push(P)},"begin"),popState:o(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:o(function(P){this.begin(P)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(P,B,F,G){var $=G;switch(F){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 31;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 27;case 25:return this.popState(),26;break;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return N})();S.lexer=A;function _(){this.yy={}}return o(_,"Parser"),_.prototype=S,S.Parser=_,new _})();_q.parser=_q;s3e=_q});function Dq(t){return t.type==="bar"}function v7(t){return t.type==="band"}function Cv(t){return t.type==="linear"}var x7=I(()=>{"use strict";o(Dq,"isBarPlot");o(v7,"isBandAxisData");o(Cv,"isLinearAxisData")});var Av,Rq=I(()=>{"use strict";yl();Av=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=Nne(i,1,a),l=s?s.width:a.length*r,u=s?s.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var _v,Lq=I(()=>{"use strict";_v=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var b7,l3e=I(()=>{"use strict";kr();gt();Lq();b7=class extends _v{static{o(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=_g().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=_g().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),X.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var T7,c3e=I(()=>{"use strict";kr();Lq();T7=class extends _v{static{o(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=ec().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=ec().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function Nq(t,e,r,n){let i=new Av(n);return v7(t)?new b7(e,r,t.categories,t.title,i):new T7(e,r,[t.min,t.max],t.title,i)}var u3e=I(()=>{"use strict";x7();Rq();l3e();c3e();o(Nq,"getAxis")});function h3e(t,e,r,n){let i=new Av(n);return new Mq(i,t,e,r)}var Mq,f3e=I(()=>{"use strict";Rq();Mq=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};o(h3e,"getChartTitleComponent")});var w7,d3e=I(()=>{"use strict";kr();w7=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=ac().y(n=>n[0]).x(n=>n[1])(e):r=ac().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var k7,p3e=I(()=>{"use strict";k7=class{constructor(e,r,n,i,a,s){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=s}static{o(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function m3e(t,e,r){return new Iq(t,e,r)}var Iq,g3e=I(()=>{"use strict";d3e();p3e();Iq=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new w7(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new k7(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};o(m3e,"getPlotComponent")});var S7,y3e=I(()=>{"use strict";u3e();f3e();g3e();x7();S7=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:h3e(e,r,n,i),plot:m3e(e,r,n),xAxis:Nq(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:Nq(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{o(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>Dq(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>Dq(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var E7,v3e=I(()=>{"use strict";y3e();E7=class{static{o(this,"XYChartBuilder")}static build(e,r,n,i){return new S7(e,r,n,i).getDrawableElement()}}});function b3e(){let t=uf(),e=tr();return Qn(t.xyChart,e.themeVariables.xyChart)}function T3e(){let t=tr();return Qn(gr.xyChart,t.xyChart)}function w3e(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Bq(t){let e=tr();return fr(t.trim(),e)}function _st(t){x3e=t}function Dst(t){t==="horizontal"?t3.chartOrientation="horizontal":t3.chartOrientation="vertical"}function Rst(t){kn.xAxis.title=Bq(t.text)}function k3e(t,e){kn.xAxis={type:"linear",title:kn.xAxis.title,min:t,max:e},C7=!0}function Lst(t){kn.xAxis={type:"band",title:kn.xAxis.title,categories:t.map(e=>Bq(e.text))},C7=!0}function Nst(t){kn.yAxis.title=Bq(t.text)}function Mst(t,e){kn.yAxis={type:"linear",title:kn.yAxis.title,min:t,max:e},Pq=!0}function Ist(t){let e=Math.min(...t),r=Math.max(...t),n=Cv(kn.yAxis)?kn.yAxis.min:1/0,i=Cv(kn.yAxis)?kn.yAxis.max:-1/0;kn.yAxis={type:"linear",title:kn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function S3e(t){let e=[];if(t.length===0)return e;if(!C7){let r=Cv(kn.xAxis)?kn.xAxis.min:1/0,n=Cv(kn.xAxis)?kn.xAxis.max:-1/0;k3e(Math.min(r,1),Math.max(n,t.length))}if(Pq||Ist(t),v7(kn.xAxis)&&(e=kn.xAxis.categories.map((r,n)=>[r,t[n]])),Cv(kn.xAxis)){let r=kn.xAxis.min,n=kn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function E3e(t){return Oq[t===0?0:t%Oq.length]}function Ost(t,e){let r=S3e(e);kn.plots.push({type:"line",strokeFill:E3e(e3),strokeWidth:2,data:r}),e3++}function Pst(t,e){let r=S3e(e);kn.plots.push({type:"bar",fill:E3e(e3),data:r}),e3++}function Bst(){if(kn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return kn.title=Wr(),E7.build(t3,kn,r3,x3e)}function Fst(){return r3}function $st(){return t3}function zst(){return kn}var e3,x3e,t3,r3,kn,Oq,C7,Pq,Gst,C3e,A3e=I(()=>{"use strict";ti();Ka();a2();sr();wr();ki();v3e();x7();e3=0,t3=T3e(),r3=b3e(),kn=w3e(),Oq=r3.plotColorPalette.split(",").map(t=>t.trim()),C7=!1,Pq=!1;o(b3e,"getChartDefaultThemeConfig");o(T3e,"getChartDefaultConfig");o(w3e,"getChartDefaultData");o(Bq,"textSanitizer");o(_st,"setTmpSVGG");o(Dst,"setOrientation");o(Rst,"setXAxisTitle");o(k3e,"setXAxisRangeData");o(Lst,"setXAxisBand");o(Nst,"setYAxisTitle");o(Mst,"setYAxisRangeData");o(Ist,"setYAxisRangeFromPlotData");o(S3e,"transformDataWithoutCategory");o(E3e,"getPlotColorFromPalette");o(Ost,"setLineData");o(Pst,"setBarData");o(Bst,"getDrawableElem");o(Fst,"getChartThemeConfig");o($st,"getChartConfig");o(zst,"getXYChartData");Gst=o(function(){Mr(),e3=0,t3=T3e(),kn=w3e(),r3=b3e(),Oq=r3.plotColorPalette.split(",").map(t=>t.trim()),C7=!1,Pq=!1},"clear"),C3e={getDrawableElem:Bst,clear:Gst,setAccTitle:zr,getAccTitle:Vr,setDiagramTitle:Xr,getDiagramTitle:Wr,getAccDescription:Ur,setAccDescription:qr,setOrientation:Dst,setXAxisTitle:Rst,setXAxisRangeData:k3e,setXAxisBand:Lst,setYAxisTitle:Nst,setYAxisRangeData:Mst,setLineData:Ost,setBarData:Pst,setTmpSVGG:_st,getChartThemeConfig:Fst,getChartConfig:$st,getXYChartData:zst}});var Vst,_3e,D3e=I(()=>{"use strict";gt();Uu();Fi();Vst=o((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),l=i.getXYChartData().plots[0].data.map(T=>T[1]);function u(T){return T==="top"?"text-before-edge":"middle"}o(u,"getDominantBaseLine");function h(T){return T==="left"?"start":T==="right"?"end":"middle"}o(h,"getTextAnchor");function f(T){return`translate(${T.x}, ${T.y}) rotate(${T.rotation||0})`}o(f,"getTextTransformation"),X.debug(`Rendering xychart chart -`+t);let d=Ca(e),p=d.append("g").attr("class","main"),m=p.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Sn(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),m.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));let g=i.getDrawableElem(),y={};function v(T){let E=p,w="";for(let[k]of T.entries()){let C=p;k>0&&y[w]&&(C=y[w]),w+=T[k],E=y[w],E||(E=y[w]=C.append("g").attr("class",T[k]))}return E}o(v,"getGroup");for(let T of g){if(T.data.length===0)continue;let E=v(T.groupTexts);switch(T.type){case"rect":if(E.selectAll("rect").data(T.data).enter().append("rect").attr("x",w=>w.x).attr("y",w=>w.y).attr("width",w=>w.width).attr("height",w=>w.height).attr("fill",w=>w.fill).attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth),s.showDataLabel)if(s.chartOrientation==="horizontal"){let C=function(O,L){let{data:S,label:A}=O;return L*A.length*.7<=S.width-10};var x=C;o(C,"fitsHorizontally");let w=.7,k=T.data.map((O,L)=>({data:O,label:l[L].toString()})).filter(O=>O.data.width>0&&O.data.height>0),D=k.map(O=>{let{data:L}=O,S=L.height*.7;for(;!C(O,S)&&S>0;)S-=1;return S}),R=Math.floor(Math.min(...D));E.selectAll("text").data(k).enter().append("text").attr("x",O=>O.data.x+O.data.width-10).attr("y",O=>O.data.y+O.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${R}px`).text(O=>O.label)}else{let C=function(O,L,S){let{data:A,label:_}=O,M=L*_.length*.7,P=A.x+A.width/2,B=P-M/2,F=P+M/2,G=B>=A.x&&F<=A.x+A.width,$=A.y+S+L<=A.y+A.height;return G&&$};var b=C;o(C,"fitsInBar");let w=10,k=T.data.map((O,L)=>({data:O,label:l[L].toString()})).filter(O=>O.data.width>0&&O.data.height>0),D=k.map(O=>{let{data:L,label:S}=O,A=L.width/(S.length*.7);for(;!C(O,A,10)&&A>0;)A-=1;return A}),R=Math.floor(Math.min(...D));E.selectAll("text").data(k).enter().append("text").attr("x",O=>O.data.x+O.data.width/2).attr("y",O=>O.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${R}px`).text(O=>O.label)}break;case"text":E.selectAll("text").data(T.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",w=>w.fill).attr("font-size",w=>w.fontSize).attr("dominant-baseline",w=>u(w.verticalPos)).attr("text-anchor",w=>h(w.horizontalPos)).attr("transform",w=>f(w)).text(w=>w.text);break;case"path":E.selectAll("path").data(T.data).enter().append("path").attr("d",w=>w.path).attr("fill",w=>w.fill?w.fill:"none").attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth);break}}},"draw"),_3e={draw:Vst}});var R3e={};vr(R3e,{diagram:()=>qst});var qst,L3e=I(()=>{"use strict";o3e();A3e();D3e();qst={parser:s3e,db:C3e,renderer:_3e}});var Fq,I3e,O3e=I(()=>{"use strict";Fq=(function(){var t=o(function(Y,ce,U,ue){for(U=U||{},ue=Y.length;ue--;U[Y[ue]]=ce);return U},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],l=[2,7],u=[1,26],h=[1,27],f=[1,28],d=[1,29],p=[1,33],m=[1,34],g=[1,35],y=[1,36],v=[1,37],x=[1,38],b=[1,24],T=[1,31],E=[1,32],w=[1,30],k=[1,39],C=[1,40],D=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],R=[1,61],O=[89,90],L=[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],S=[27,29],A=[1,70],_=[1,71],N=[1,72],M=[1,73],P=[1,74],B=[1,75],F=[1,76],G=[1,83],$=[1,80],V=[1,84],K=[1,85],ee=[1,86],H=[1,87],he=[1,88],Z=[1,89],de=[1,90],re=[1,91],ne=[1,92],te=[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],Q=[63,64],le=[1,101],J=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],ge=[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],ie=[1,110],Te=[1,106],j=[1,107],Ge=[1,108],ye=[1,109],$e=[1,111],Xe=[1,116],Ue=[1,117],Le=[1,114],Ie=[1,115],Me={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:o(function(ce,U,ue,z,se,oe,be){var pe=oe.length-1;switch(se){case 4:this.$=oe[pe].trim(),z.setAccTitle(this.$);break;case 5:case 6:this.$=oe[pe].trim(),z.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:z.setDirection("TB");break;case 18:z.setDirection("BT");break;case 19:z.setDirection("RL");break;case 20:z.setDirection("LR");break;case 21:z.addRequirement(oe[pe-3],oe[pe-4]);break;case 22:z.addRequirement(oe[pe-5],oe[pe-6]),z.setClass([oe[pe-5]],oe[pe-3]);break;case 23:z.setNewReqId(oe[pe-2]);break;case 24:z.setNewReqText(oe[pe-2]);break;case 25:z.setNewReqRisk(oe[pe-2]);break;case 26:z.setNewReqVerifyMethod(oe[pe-2]);break;case 29:this.$=z.RequirementType.REQUIREMENT;break;case 30:this.$=z.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=z.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=z.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=z.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=z.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=z.RiskLevel.LOW_RISK;break;case 36:this.$=z.RiskLevel.MED_RISK;break;case 37:this.$=z.RiskLevel.HIGH_RISK;break;case 38:this.$=z.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=z.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=z.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=z.VerifyType.VERIFY_TEST;break;case 42:z.addElement(oe[pe-3]);break;case 43:z.addElement(oe[pe-5]),z.setClass([oe[pe-5]],oe[pe-3]);break;case 44:z.setNewElementType(oe[pe-2]);break;case 45:z.setNewElementDocRef(oe[pe-2]);break;case 48:z.addRelationship(oe[pe-2],oe[pe],oe[pe-4]);break;case 49:z.addRelationship(oe[pe-2],oe[pe-4],oe[pe]);break;case 50:this.$=z.Relationships.CONTAINS;break;case 51:this.$=z.Relationships.COPIES;break;case 52:this.$=z.Relationships.DERIVES;break;case 53:this.$=z.Relationships.SATISFIES;break;case 54:this.$=z.Relationships.VERIFIES;break;case 55:this.$=z.Relationships.REFINES;break;case 56:this.$=z.Relationships.TRACES;break;case 57:this.$=oe[pe-2],z.defineClass(oe[pe-1],oe[pe]);break;case 58:z.setClass(oe[pe-1],oe[pe]);break;case 59:z.setClass([oe[pe-2]],oe[pe]);break;case 60:case 62:this.$=[oe[pe]];break;case 61:case 63:this.$=oe[pe-2].concat([oe[pe]]);break;case 64:this.$=oe[pe-2],z.setCssStyle(oe[pe-1],oe[pe]);break;case 65:this.$=[oe[pe]];break;case 66:oe[pe-2].push(oe[pe]),this.$=oe[pe-2];break;case 68:this.$=oe[pe-1]+oe[pe];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:43,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:44,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:45,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:46,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:47,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:48,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:49,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{4:17,5:s,7:50,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:C},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(D,[2,17]),t(D,[2,18]),t(D,[2,19]),t(D,[2,20]),{30:60,33:62,75:R,89:k,90:C},{30:63,33:62,75:R,89:k,90:C},{30:64,33:62,75:R,89:k,90:C},t(O,[2,29]),t(O,[2,30]),t(O,[2,31]),t(O,[2,32]),t(O,[2,33]),t(O,[2,34]),t(L,[2,81]),t(L,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(S,[2,79]),t(S,[2,80]),{27:[1,67],29:[1,68]},t(S,[2,85]),t(S,[2,86]),{62:69,65:A,66:_,67:N,68:M,69:P,70:B,71:F},{62:77,65:A,66:_,67:N,68:M,69:P,70:B,71:F},{30:78,33:62,75:R,89:k,90:C},{73:79,75:G,76:$,78:81,79:82,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne},t(te,[2,60]),t(te,[2,62]),{73:93,75:G,76:$,78:81,79:82,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne},{30:94,33:62,75:R,76:$,89:k,90:C},{5:[1,95]},{30:96,33:62,75:R,89:k,90:C},{5:[1,97]},{30:98,33:62,75:R,89:k,90:C},{63:[1,99]},t(Q,[2,50]),t(Q,[2,51]),t(Q,[2,52]),t(Q,[2,53]),t(Q,[2,54]),t(Q,[2,55]),t(Q,[2,56]),{64:[1,100]},t(D,[2,59],{76:$}),t(D,[2,64],{76:le}),{33:103,75:[1,102],89:k,90:C},t(J,[2,65],{79:104,75:G,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne}),t(ge,[2,67]),t(ge,[2,69]),t(ge,[2,70]),t(ge,[2,71]),t(ge,[2,72]),t(ge,[2,73]),t(ge,[2,74]),t(ge,[2,75]),t(ge,[2,76]),t(ge,[2,77]),t(ge,[2,78]),t(D,[2,57],{76:le}),t(D,[2,58],{76:$}),{5:ie,28:105,31:Te,34:j,36:Ge,38:ye,40:$e},{27:[1,112],76:$},{5:Xe,40:Ue,56:113,57:Le,59:Ie},{27:[1,118],76:$},{33:119,89:k,90:C},{33:120,89:k,90:C},{75:G,78:121,79:82,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne},t(te,[2,61]),t(te,[2,63]),t(ge,[2,68]),t(D,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:ie,28:126,31:Te,34:j,36:Ge,38:ye,40:$e},t(D,[2,28]),{5:[1,127]},t(D,[2,42]),{32:[1,128]},{32:[1,129]},{5:Xe,40:Ue,56:130,57:Le,59:Ie},t(D,[2,47]),{5:[1,131]},t(D,[2,48]),t(D,[2,49]),t(J,[2,66],{79:104,75:G,80:V,81:K,82:ee,83:H,84:he,85:Z,86:de,87:re,88:ne}),{33:132,89:k,90:C},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(D,[2,27]),{5:ie,28:145,31:Te,34:j,36:Ge,38:ye,40:$e},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(D,[2,46]),{5:Xe,40:Ue,56:152,57:Le,59:Ie},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(D,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(D,[2,43]),{5:ie,28:159,31:Te,34:j,36:Ge,38:ye,40:$e},{5:ie,28:160,31:Te,34:j,36:Ge,38:ye,40:$e},{5:ie,28:161,31:Te,34:j,36:Ge,38:ye,40:$e},{5:ie,28:162,31:Te,34:j,36:Ge,38:ye,40:$e},{5:Xe,40:Ue,56:163,57:Le,59:Ie},{5:Xe,40:Ue,56:164,57:Le,59:Ie},t(D,[2,23]),t(D,[2,24]),t(D,[2,25]),t(D,[2,26]),t(D,[2,44]),t(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:o(function(ce,U){if(U.recoverable)this.trace(ce);else{var ue=new Error(ce);throw ue.hash=U,ue}},"parseError"),parse:o(function(ce){var U=this,ue=[0],z=[],se=[null],oe=[],be=this.table,pe="",me=0,De=0,Ce=0,Fe=2,Ye=1,xt=oe.slice.call(arguments,1),je=Object.create(this.lexer),Pe={yy:{}};for(var rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,rt)&&(Pe.yy[rt]=this.yy[rt]);je.setInput(ce,Pe.yy),Pe.yy.lexer=je,Pe.yy.parser=this,typeof je.yylloc>"u"&&(je.yylloc={});var We=je.yylloc;oe.push(We);var ut=je.options&&je.options.ranges;typeof Pe.yy.parseError=="function"?this.parseError=Pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ut(hr){ue.length=ue.length-2*hr,se.length=se.length-hr,oe.length=oe.length-hr}o(Ut,"popStack");function Tt(){var hr;return hr=z.pop()||je.lex()||Ye,typeof hr!="number"&&(hr instanceof Array&&(z=hr,hr=z.pop()),hr=U.symbols_[hr]||hr),hr}o(Tt,"lex");for(var Mt,mt,at,wt,St,bt,pt={},Zr,Lt,Dn,Hr;;){if(at=ue[ue.length-1],this.defaultActions[at]?wt=this.defaultActions[at]:((Mt===null||typeof Mt>"u")&&(Mt=Tt()),wt=be[at]&&be[at][Mt]),typeof wt>"u"||!wt.length||!wt[0]){var mr="";Hr=[];for(Zr in be[at])this.terminals_[Zr]&&Zr>Fe&&Hr.push("'"+this.terminals_[Zr]+"'");je.showPosition?mr="Parse error on line "+(me+1)+`: -`+je.showPosition()+` -Expecting `+Hr.join(", ")+", got '"+(this.terminals_[Mt]||Mt)+"'":mr="Parse error on line "+(me+1)+": Unexpected "+(Mt==Ye?"end of input":"'"+(this.terminals_[Mt]||Mt)+"'"),this.parseError(mr,{text:je.match,token:this.terminals_[Mt]||Mt,line:je.yylineno,loc:We,expected:Hr})}if(wt[0]instanceof Array&&wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+at+", token: "+Mt);switch(wt[0]){case 1:ue.push(Mt),se.push(je.yytext),oe.push(je.yylloc),ue.push(wt[1]),Mt=null,mt?(Mt=mt,mt=null):(De=je.yyleng,pe=je.yytext,me=je.yylineno,We=je.yylloc,Ce>0&&Ce--);break;case 2:if(Lt=this.productions_[wt[1]][1],pt.$=se[se.length-Lt],pt._$={first_line:oe[oe.length-(Lt||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(Lt||1)].first_column,last_column:oe[oe.length-1].last_column},ut&&(pt._$.range=[oe[oe.length-(Lt||1)].range[0],oe[oe.length-1].range[1]]),bt=this.performAction.apply(pt,[pe,De,me,Pe.yy,wt[1],se,oe].concat(xt)),typeof bt<"u")return bt;Lt&&(ue=ue.slice(0,-1*Lt*2),se=se.slice(0,-1*Lt),oe=oe.slice(0,-1*Lt)),ue.push(this.productions_[wt[1]][0]),se.push(pt.$),oe.push(pt._$),Dn=be[ue[ue.length-2]][ue[ue.length-1]],ue.push(Dn);break;case 3:return!0}}return!0},"parse")},Ae=(function(){var Y={EOF:1,parseError:o(function(U,ue){if(this.yy.parser)this.yy.parser.parseError(U,ue);else throw new Error(U)},"parseError"),setInput:o(function(ce,U){return this.yy=U||this.yy||{},this._input=ce,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 ce=this._input[0];this.yytext+=ce,this.yyleng++,this.offset++,this.match+=ce,this.matched+=ce;var U=ce.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),ce},"input"),unput:o(function(ce){var U=ce.length,ue=ce.split(/(?:\r\n?|\n)/g);this._input=ce+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var z=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ue.length-1&&(this.yylineno-=ue.length-1);var se=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ue?(ue.length===z.length?this.yylloc.first_column:0)+z[z.length-ue.length].length-ue[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[se[0],se[0]+this.yyleng-U]),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(ce){this.unput(this.match.slice(ce))},"less"),pastInput:o(function(){var ce=this.matched.substr(0,this.matched.length-this.match.length);return(ce.length>20?"...":"")+ce.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ce=this.match;return ce.length<20&&(ce+=this._input.substr(0,20-ce.length)),(ce.substr(0,20)+(ce.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ce=this.pastInput(),U=new Array(ce.length+1).join("-");return ce+this.upcomingInput()+` -`+U+"^"},"showPosition"),test_match:o(function(ce,U){var ue,z,se;if(this.options.backtrack_lexer&&(se={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(se.yylloc.range=this.yylloc.range.slice(0))),z=ce[0].match(/(?:\r\n?|\n).*/g),z&&(this.yylineno+=z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:z?z[z.length-1].length-z[z.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ce[0].length},this.yytext+=ce[0],this.match+=ce[0],this.matches=ce,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(ce[0].length),this.matched+=ce[0],ue=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ue)return ue;if(this._backtrack){for(var oe in se)this[oe]=se[oe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ce,U,ue,z;this._more||(this.yytext="",this.match="");for(var se=this._currentRules(),oe=0;oeU[0].length)){if(U=ue,z=oe,this.options.backtrack_lexer){if(ce=this.test_match(ue,se[oe]),ce!==!1)return ce;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(ce=this.test_match(U,se[z]),ce!==!1?ce:!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 U=this.next();return U||this.lex()},"lex"),begin:o(function(U){this.conditionStack.push(U)},"begin"),popState:o(function(){var U=this.conditionStack.length-1;return U>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(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},"topState"),pushState:o(function(U){this.begin(U)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(U,ue,z,se){var oe=se;switch(z){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return ue.yytext=ue.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return Y})();Me.lexer=Ae;function ze(){this.yy={}}return o(ze,"Parser"),ze.prototype=Me,Me.Parser=ze,new ze})();Fq.parser=Fq;I3e=Fq});var A7,P3e=I(()=>{"use strict";Qt();gt();ki();A7=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=zr;this.getAccTitle=Vr;this.setAccDescription=qr;this.getAccDescription=Ur;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getConfig=o(()=>xe().requirement,"getConfig");this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),X.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Mr()}setCssStyle(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(let a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(i)for(let a of r){i.classes.push(a);let s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(let n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){let e=xe(),r=[],n=[];for(let i of this.requirements.values()){let a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,r.push(a)}for(let i of this.elements.values()){let a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),r.push(a)}for(let i of this.relations){let a=0,s=i.type===this.Relationships.CONTAINS,l={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look};n.push(l),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}}});var Yst,B3e,F3e=I(()=>{"use strict";Yst=o(t=>` +`,"getStyles"),k3e=Fot});var $ot,zot,S3e,C3e=O(()=>{"use strict";Ar();jt();xt();Ul();Ti();ar();$ot=o(t=>{let e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1).sort((i,a)=>a.value-i.value);return W5().value(i=>i.value)(r)},"createPieArcs"),zot=o((t,e,r,n)=>{K.debug(`rendering pie chart +`+t);let i=n.db,a=ve(),s=Pn(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Ii(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=Uo(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=uc().innerRadius(0).outerRadius(x),T=uc().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let E=i.getSections(),w=$ot(E),k=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],S=0;E.forEach(D=>{S+=D});let A=w.filter(D=>(D.data.value/S*100).toFixed(0)!=="0"),L=Fo(k);m.selectAll("mySlices").data(A).enter().append("path").attr("d",b).attr("fill",D=>L(D.data.label)).attr("class","pieCircle"),m.selectAll("mySlices").data(A).enter().append("text").text(D=>(D.data.value/S*100).toFixed(0)+"%").attr("transform",D=>"translate("+T.centroid(D)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let I=[...E.entries()].map(([D,M])=>({label:D,value:M})),N=m.selectAll(".legend").data(I).enter().append("g").attr("class","legend").attr("transform",(D,M)=>{let R=u+h,P=R*I.length/2,B=12*u,F=M*R-P;return"translate("+B+","+F+")"});N.append("rect").attr("width",u).attr("height",u).style("fill",D=>L(D.label)).style("stroke",D=>L(D.label)),N.append("text").attr("x",u+h).attr("y",u-h).text(D=>i.getShowData()?`${D.label} [${D.value}]`:D.label);let C=Math.max(...N.selectAll("text").nodes().map(D=>D?.getBoundingClientRect().width??0)),_=d+l+u+h+C;p.attr("viewBox",`0 0 ${_} ${f}`),Zr(p,f,_,s.useMaxWidth)},"draw"),S3e={draw:zot}});var A3e={};vr(A3e,{diagram:()=>Got});var Got,_3e=O(()=>{"use strict";w3e();$q();E3e();C3e();Got={parser:T3e,db:D7,renderer:S3e,styles:k3e}});var zq,R3e,L3e=O(()=>{"use strict";zq=(function(){var t=o(function(ce,z,ne,se){for(ne=ne||{},se=ce.length;se--;ne[ce[se]]=z);return ne},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],T=[1,19],E=[1,20],w=[1,21],k=[1,22],S=[1,24],A=[1,25],L=[1,26],I=[1,27],N=[1,28],C=[1,29],_=[1,32],D=[1,33],M=[1,34],R=[1,39],P=[1,40],B=[1,42],F=[1,44],G=[1,62],$=[1,61],V=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],X=[1,65],Q=[1,66],H=[1,67],ie=[1,68],Y=[1,69],le=[1,70],ee=[1,71],J=[1,72],te=[1,73],Z=[1,74],xe=[1,75],de=[1,76],Se=[4,5,6,7,8,9,10,11,12,13,14,15,18],Me=[1,90],ke=[1,91],we=[1,92],_e=[1,99],$e=[1,93],fe=[1,96],Ke=[1,94],Te=[1,95],Be=[1,97],Ue=[1,98],Ge=[1,102],Ne=[10,55,56,57],We=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],j={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(z,ne,se,be,pe,me,Re){var ge=me.length-1;switch(pe){case 23:this.$=me[ge];break;case 24:this.$=me[ge-1]+""+me[ge];break;case 26:this.$=me[ge-1]+me[ge];break;case 27:this.$=[me[ge].trim()];break;case 28:me[ge-2].push(me[ge].trim()),this.$=me[ge-2];break;case 29:this.$=me[ge-4],be.addClass(me[ge-2],me[ge]);break;case 37:this.$=[];break;case 42:this.$=me[ge].trim(),be.setDiagramTitle(this.$);break;case 43:this.$=me[ge].trim(),be.setAccTitle(this.$);break;case 44:case 45:this.$=me[ge].trim(),be.setAccDescription(this.$);break;case 46:be.addSection(me[ge].substr(8)),this.$=me[ge].substr(8);break;case 47:be.addPoint(me[ge-3],"",me[ge-1],me[ge],[]);break;case 48:be.addPoint(me[ge-4],me[ge-3],me[ge-1],me[ge],[]);break;case 49:be.addPoint(me[ge-4],"",me[ge-2],me[ge-1],me[ge]);break;case 50:be.addPoint(me[ge-5],me[ge-4],me[ge-2],me[ge-1],me[ge]);break;case 51:be.setXAxisLeftText(me[ge-2]),be.setXAxisRightText(me[ge]);break;case 52:me[ge-1].text+=" \u27F6 ",be.setXAxisLeftText(me[ge-1]);break;case 53:be.setXAxisLeftText(me[ge]);break;case 54:be.setYAxisBottomText(me[ge-2]),be.setYAxisTopText(me[ge]);break;case 55:me[ge-1].text+=" \u27F6 ",be.setYAxisBottomText(me[ge-1]);break;case 56:be.setYAxisBottomText(me[ge]);break;case 57:be.setQuadrant1Text(me[ge]);break;case 58:be.setQuadrant2Text(me[ge]);break;case 59:be.setQuadrant3Text(me[ge]);break;case 60:be.setQuadrant4Text(me[ge]);break;case 64:this.$={text:me[ge],type:"text"};break;case 65:this.$={text:me[ge-1].text+""+me[ge],type:me[ge-1].type};break;case 66:this.$={text:me[ge],type:"text"};break;case 67:this.$={text:me[ge],type:"markdown"};break;case 68:this.$=me[ge];break;case 69:this.$=me[ge-1]+""+me[ge];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:E,41:w,42:k,48:S,50:A,51:L,52:I,53:N,54:C,60:_,61:D,63:M,64:R,65:P,66:B,67:F}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:E,41:w,42:k,48:S,50:A,51:L,52:I,53:N,54:C,60:_,61:D,63:M,64:R,65:P,66:B,67:F}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:_,61:D,63:M,64:R,65:P,66:B,67:F},{4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,44:[1,57],47:[1,58],58:60,59:59,63:M,64:R,65:P,66:B,67:F},t(V,[2,64]),t(V,[2,66]),t(V,[2,67]),t(V,[2,70]),t(V,[2,71]),t(V,[2,72]),t(V,[2,73]),t(V,[2,74]),t(V,[2,75]),t(V,[2,76]),t(V,[2,77]),t(V,[2,78]),t(V,[2,79]),t(V,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:X,5:Q,6:H,7:ie,8:Y,9:le,10:ee,11:J,12:te,13:Z,14:xe,15:de,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,49:[1,77],63:M,64:R,65:P,66:B,67:F}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,49:[1,78],63:M,64:R,65:P,66:B,67:F}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),{45:[1,79]},{44:[1,80]},t(V,[2,65]),t(V,[2,81]),t(V,[2,82]),t(V,[2,83]),{3:82,4:X,5:Q,6:H,7:ie,8:Y,9:le,10:ee,11:J,12:te,13:Z,14:xe,15:de,18:[1,81]},t(Se,[2,23]),t(Se,[2,1]),t(Se,[2,2]),t(Se,[2,3]),t(Se,[2,4]),t(Se,[2,5]),t(Se,[2,6]),t(Se,[2,7]),t(Se,[2,8]),t(Se,[2,9]),t(Se,[2,10]),t(Se,[2,11]),t(Se,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:_,61:D,63:M,64:R,65:P,66:B,67:F}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:_,61:D,63:M,64:R,65:P,66:B,67:F}),{46:[1,85]},{45:[1,86]},{4:Me,5:ke,6:we,8:_e,11:$e,13:fe,16:89,17:Ke,18:Te,19:Be,20:Ue,22:88,23:87},t(Se,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:$,63:M,64:R,65:P,66:B,67:F}),t(u,[2,47],{22:88,16:89,23:100,4:Me,5:ke,6:we,8:_e,11:$e,13:fe,17:Ke,18:Te,19:Be,20:Ue}),{46:[1,101]},t(u,[2,29],{10:Ge}),t(Ne,[2,27],{16:103,4:Me,5:ke,6:we,8:_e,11:$e,13:fe,17:Ke,18:Te,19:Be,20:Ue}),t(We,[2,25]),t(We,[2,13]),t(We,[2,14]),t(We,[2,15]),t(We,[2,16]),t(We,[2,17]),t(We,[2,18]),t(We,[2,19]),t(We,[2,20]),t(We,[2,21]),t(We,[2,22]),t(u,[2,49],{10:Ge}),t(u,[2,48],{22:88,16:89,23:104,4:Me,5:ke,6:we,8:_e,11:$e,13:fe,17:Ke,18:Te,19:Be,20:Ue}),{4:Me,5:ke,6:we,8:_e,11:$e,13:fe,16:89,17:Ke,18:Te,19:Be,20:Ue,22:105},t(We,[2,26]),t(u,[2,50],{10:Ge}),t(Ne,[2,28],{16:103,4:Me,5:ke,6:we,8:_e,11:$e,13:fe,17:Ke,18:Te,19:Be,20:Ue})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(z,ne){if(ne.recoverable)this.trace(z);else{var se=new Error(z);throw se.hash=ne,se}},"parseError"),parse:o(function(z){var ne=this,se=[0],be=[],pe=[null],me=[],Re=this.table,ge="",Ie=0,qe=0,Pe=0,Xe=2,oe=1,et=me.slice.call(arguments,1),he=Object.create(this.lexer),ot={yy:{}};for(var Dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Dt)&&(ot.yy[Dt]=this.yy[Dt]);he.setInput(z,ot.yy),ot.yy.lexer=he,ot.yy.parser=this,typeof he.yylloc>"u"&&(he.yylloc={});var It=he.yylloc;me.push(It);var wt=he.options&&he.options.ranges;typeof ot.yy.parseError=="function"?this.parseError=ot.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Rt(mt){se.length=se.length-2*mt,pe.length=pe.length-mt,me.length=me.length-mt}o(Rt,"popStack");function it(){var mt;return mt=be.pop()||he.lex()||oe,typeof mt!="number"&&(mt instanceof Array&&(be=mt,mt=be.pop()),mt=ne.symbols_[mt]||mt),mt}o(it,"lex");for(var at,Ct,yt,dt,Ht,cr,Kt={},kr,ur,tr,hr;;){if(yt=se[se.length-1],this.defaultActions[yt]?dt=this.defaultActions[yt]:((at===null||typeof at>"u")&&(at=it()),dt=Re[yt]&&Re[yt][at]),typeof dt>"u"||!dt.length||!dt[0]){var _n="";hr=[];for(kr in Re[yt])this.terminals_[kr]&&kr>Xe&&hr.push("'"+this.terminals_[kr]+"'");he.showPosition?_n="Parse error on line "+(Ie+1)+`: +`+he.showPosition()+` +Expecting `+hr.join(", ")+", got '"+(this.terminals_[at]||at)+"'":_n="Parse error on line "+(Ie+1)+": Unexpected "+(at==oe?"end of input":"'"+(this.terminals_[at]||at)+"'"),this.parseError(_n,{text:he.match,token:this.terminals_[at]||at,line:he.yylineno,loc:It,expected:hr})}if(dt[0]instanceof Array&&dt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+yt+", token: "+at);switch(dt[0]){case 1:se.push(at),pe.push(he.yytext),me.push(he.yylloc),se.push(dt[1]),at=null,Ct?(at=Ct,Ct=null):(qe=he.yyleng,ge=he.yytext,Ie=he.yylineno,It=he.yylloc,Pe>0&&Pe--);break;case 2:if(ur=this.productions_[dt[1]][1],Kt.$=pe[pe.length-ur],Kt._$={first_line:me[me.length-(ur||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(ur||1)].first_column,last_column:me[me.length-1].last_column},wt&&(Kt._$.range=[me[me.length-(ur||1)].range[0],me[me.length-1].range[1]]),cr=this.performAction.apply(Kt,[ge,qe,Ie,ot.yy,dt[1],pe,me].concat(et)),typeof cr<"u")return cr;ur&&(se=se.slice(0,-1*ur*2),pe=pe.slice(0,-1*ur),me=me.slice(0,-1*ur)),se.push(this.productions_[dt[1]][0]),pe.push(Kt.$),me.push(Kt._$),tr=Re[se[se.length-2]][se[se.length-1]],se.push(tr);break;case 3:return!0}}return!0},"parse")},ae=(function(){var ce={EOF:1,parseError:o(function(ne,se){if(this.yy.parser)this.yy.parser.parseError(ne,se);else throw new Error(ne)},"parseError"),setInput:o(function(z,ne){return this.yy=ne||this.yy||{},this._input=z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var z=this._input[0];this.yytext+=z,this.yyleng++,this.offset++,this.match+=z,this.matched+=z;var ne=z.match(/(?:\r\n?|\n).*/g);return ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),z},"input"),unput:o(function(z){var ne=z.length,se=z.split(/(?:\r\n?|\n)/g);this._input=z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ne),this.offset-=ne;var be=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),se.length-1&&(this.yylineno-=se.length-1);var pe=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:se?(se.length===be.length?this.yylloc.first_column:0)+be[be.length-se.length].length-se[0].length:this.yylloc.first_column-ne},this.options.ranges&&(this.yylloc.range=[pe[0],pe[0]+this.yyleng-ne]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(z){this.unput(this.match.slice(z))},"less"),pastInput:o(function(){var z=this.matched.substr(0,this.matched.length-this.match.length);return(z.length>20?"...":"")+z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var z=this.match;return z.length<20&&(z+=this._input.substr(0,20-z.length)),(z.substr(0,20)+(z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var z=this.pastInput(),ne=new Array(z.length+1).join("-");return z+this.upcomingInput()+` +`+ne+"^"},"showPosition"),test_match:o(function(z,ne){var se,be,pe;if(this.options.backtrack_lexer&&(pe={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&&(pe.yylloc.range=this.yylloc.range.slice(0))),be=z[0].match(/(?:\r\n?|\n).*/g),be&&(this.yylineno+=be.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:be?be[be.length-1].length-be[be.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+z[0].length},this.yytext+=z[0],this.match+=z[0],this.matches=z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(z[0].length),this.matched+=z[0],se=this.performAction.call(this,this.yy,this,ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var me in pe)this[me]=pe[me];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var z,ne,se,be;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),me=0;mene[0].length)){if(ne=se,be=me,this.options.backtrack_lexer){if(z=this.test_match(se,pe[me]),z!==!1)return z;if(this._backtrack){ne=!1;continue}else return!1}else if(!this.options.flex)break}return ne?(z=this.test_match(ne,pe[be]),z!==!1?z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var ne=this.next();return ne||this.lex()},"lex"),begin:o(function(ne){this.conditionStack.push(ne)},"begin"),popState:o(function(){var ne=this.conditionStack.length-1;return ne>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(ne){return ne=this.conditionStack.length-1-Math.abs(ne||0),ne>=0?this.conditionStack[ne]:"INITIAL"},"topState"),pushState:o(function(ne){this.begin(ne)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(ne,se,be,pe){var me=pe;switch(be){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return ce})();j.lexer=ae;function U(){this.yy={}}return o(U,"Parser"),U.prototype=j,j.Parser=U,new U})();zq.parser=zq;R3e=zq});var Ws,R7,N3e=O(()=>{"use strict";Ar();La();xt();y2();Ws=yf(),R7=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:gr.quadrantChart?.chartWidth||500,chartWidth:gr.quadrantChart?.chartHeight||500,titlePadding:gr.quadrantChart?.titlePadding||10,titleFontSize:gr.quadrantChart?.titleFontSize||20,quadrantPadding:gr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:gr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:gr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:gr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:gr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:gr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:gr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:gr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:gr.quadrantChart?.pointLabelFontSize||12,pointRadius:gr.quadrantChart?.pointRadius||5,xAxisPosition:gr.quadrantChart?.xAxisPosition||"top",yAxisPosition:gr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:gr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:gr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:Ws.quadrant1Fill,quadrant2Fill:Ws.quadrant2Fill,quadrant3Fill:Ws.quadrant3Fill,quadrant4Fill:Ws.quadrant4Fill,quadrant1TextFill:Ws.quadrant1TextFill,quadrant2TextFill:Ws.quadrant2TextFill,quadrant3TextFill:Ws.quadrant3TextFill,quadrant4TextFill:Ws.quadrant4TextFill,quadrantPointFill:Ws.quadrantPointFill,quadrantPointTextFill:Ws.quadrantPointTextFill,quadrantXAxisTextFill:Ws.quadrantXAxisTextFill,quadrantYAxisTextFill:Ws.quadrantYAxisTextFill,quadrantTitleFill:Ws.quadrantTitleFill,quadrantInternalBorderStrokeFill:Ws.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Ws.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,K.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){K.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){K.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,l=sc().domain([0,1]).range([i,s+i]),u=sc().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+i,x2:s+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function Gq(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function M3e(t){return!/^\d+$/.test(t)}function I3e(t){return!/^\d+px$/.test(t)}var Hm,O3e=O(()=>{"use strict";Hm=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};o(Gq,"validateHexCode");o(M3e,"validateNumber");o(I3e,"validateSizeInPixels")});function of(t){return wr(t.trim(),Uot)}function Wot(t){Ka.setData({quadrant1Text:of(t.text)})}function Hot(t){Ka.setData({quadrant2Text:of(t.text)})}function Yot(t){Ka.setData({quadrant3Text:of(t.text)})}function jot(t){Ka.setData({quadrant4Text:of(t.text)})}function Xot(t){Ka.setData({xAxisLeftText:of(t.text)})}function Kot(t){Ka.setData({xAxisRightText:of(t.text)})}function Qot(t){Ka.setData({yAxisTopText:of(t.text)})}function Zot(t){Ka.setData({yAxisBottomText:of(t.text)})}function Vq(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(M3e(i))throw new Hm(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(Gq(i))throw new Hm(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(Gq(i))throw new Hm(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(I3e(i))throw new Hm(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function Jot(t,e,r,n,i){let a=Vq(i);Ka.addPoints([{x:r,y:n,text:of(t.text),className:e,...a}])}function elt(t,e){Ka.addClass(t,Vq(e))}function tlt(t){Ka.setConfig({chartWidth:t})}function rlt(t){Ka.setConfig({chartHeight:t})}function nlt(){let t=ve(),{themeVariables:e,quadrantChart:r}=t;return r&&Ka.setConfig(r),Ka.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),Ka.setData({titleText:Fr()}),Ka.build()}var Uot,Ka,ilt,P3e,B3e=O(()=>{"use strict";jt();Ur();si();N3e();O3e();Uot=ve();o(of,"textSanitizer");Ka=new R7;o(Wot,"setQuadrant1Text");o(Hot,"setQuadrant2Text");o(Yot,"setQuadrant3Text");o(jot,"setQuadrant4Text");o(Xot,"setXAxisLeftText");o(Kot,"setXAxisRightText");o(Qot,"setYAxisTopText");o(Zot,"setYAxisBottomText");o(Vq,"parseStyles");o(Jot,"addPoint");o(elt,"addClass");o(tlt,"setWidth");o(rlt,"setHeight");o(nlt,"getQuadrantData");ilt=o(function(){Ka.clear(),_r()},"clear"),P3e={setWidth:tlt,setHeight:rlt,setQuadrant1Text:Wot,setQuadrant2Text:Hot,setQuadrant3Text:Yot,setQuadrant4Text:jot,setXAxisLeftText:Xot,setXAxisRightText:Kot,setYAxisTopText:Qot,setYAxisBottomText:Zot,parseStyles:Vq,addPoint:Jot,addClass:elt,getQuadrantData:nlt,clear:ilt,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,getAccDescription:Br,setAccDescription:Pr}});var alt,F3e,$3e=O(()=>{"use strict";Ar();jt();xt();Ti();alt=o((t,e,r,n)=>{function i(A){return A==="top"?"hanging":"middle"}o(i,"getDominantBaseLine");function a(A){return A==="left"?"start":"middle"}o(a,"getTextAnchor");function s(A){return`translate(${A.x}, ${A.y}) rotate(${A.rotation||0})`}o(s,"getTransformation");let l=ve();K.debug(`Rendering quadrant chart +`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=je("#i"+e));let d=(u==="sandbox"?je(h.nodes()[0].contentDocument.body):je("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;Zr(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),T=p.append("g").attr("class","labels"),E=p.append("g").attr("class","title");y.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",A=>A.x1).attr("y1",A=>A.y1).attr("x2",A=>A.x2).attr("y2",A=>A.y2).style("stroke",A=>A.strokeFill).style("stroke-width",A=>A.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",A=>A.x).attr("y",A=>A.y).attr("width",A=>A.width).attr("height",A=>A.height).attr("fill",A=>A.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text)).text(A=>A.text.text),T.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(A=>A.text).attr("fill",A=>A.fill).attr("font-size",A=>A.fontSize).attr("dominant-baseline",A=>i(A.horizontalPos)).attr("text-anchor",A=>a(A.verticalPos)).attr("transform",A=>s(A));let S=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");S.append("circle").attr("cx",A=>A.x).attr("cy",A=>A.y).attr("r",A=>A.radius).attr("fill",A=>A.fill).attr("stroke",A=>A.strokeColor).attr("stroke-width",A=>A.strokeWidth),S.append("text").attr("x",0).attr("y",0).text(A=>A.text.text).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text))},"draw"),F3e={draw:alt}});var z3e={};vr(z3e,{diagram:()=>slt});var slt,G3e=O(()=>{"use strict";L3e();B3e();$3e();slt={parser:R3e,db:P3e,renderer:F3e,styles:o(()=>"","styles")}});var qq,U3e,W3e=O(()=>{"use strict";qq=(function(){var t=o(function(M,R,P,B){for(P=P||{},B=M.length;B--;P[M[B]]=R);return P},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],E=[1,43],w=[1,42],k=[1,47],S=[1,50],A=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],I=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],N=[1,64],C={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(R,P,B,F,G,$,V){var X=$.length-1;switch(G){case 5:F.setOrientation($[X]);break;case 9:F.setDiagramTitle($[X].text.trim());break;case 12:F.setLineData({text:"",type:"text"},$[X]);break;case 13:F.setLineData($[X-1],$[X]);break;case 14:F.setBarData({text:"",type:"text"},$[X]);break;case 15:F.setBarData($[X-1],$[X]);break;case 16:this.$=$[X].trim(),F.setAccTitle(this.$);break;case 17:case 18:this.$=$[X].trim(),F.setAccDescription(this.$);break;case 19:this.$=$[X-1];break;case 20:this.$=[Number($[X-2]),...$[X]];break;case 21:this.$=[Number($[X])];break;case 22:F.setXAxisTitle($[X]);break;case 23:F.setXAxisTitle($[X-1]);break;case 24:F.setXAxisTitle({type:"text",text:""});break;case 25:F.setXAxisBand($[X]);break;case 26:F.setXAxisRangeData(Number($[X-2]),Number($[X]));break;case 27:this.$=$[X-1];break;case 28:this.$=[$[X-2],...$[X]];break;case 29:this.$=[$[X]];break;case 30:F.setYAxisTitle($[X]);break;case 31:F.setYAxisTitle($[X-1]);break;case 32:F.setYAxisTitle({type:"text",text:""});break;case 33:F.setYAxisRangeData(Number($[X-2]),Number($[X]));break;case 37:this.$={text:$[X],type:"text"};break;case 38:this.$={text:$[X],type:"text"};break;case 39:this.$={text:$[X],type:"markdown"};break;case 40:this.$=$[X];break;case 41:this.$=$[X-1]+""+$[X];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:39,13:38,24:E,27:w,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:45,15:44,27:k,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:49,17:48,24:S,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:52,17:51,24:S,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{20:[1,53]},{22:[1,54]},t(A,[2,18]),{1:[2,2]},t(A,[2,8]),t(A,[2,9]),t(L,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T}),t(L,[2,38]),t(L,[2,39]),t(I,[2,40]),t(I,[2,42]),t(I,[2,43]),t(I,[2,44]),t(I,[2,45]),t(I,[2,46]),t(I,[2,47]),t(I,[2,48]),t(I,[2,49]),t(I,[2,50]),t(I,[2,51]),t(A,[2,10]),t(A,[2,22],{30:41,29:56,24:E,27:w}),t(A,[2,24]),t(A,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(A,[2,11]),t(A,[2,30],{33:60,27:k}),t(A,[2,32]),{31:[1,61]},t(A,[2,12]),{17:62,24:S},{25:63,27:N},t(A,[2,14]),{17:65,24:S},t(A,[2,16]),t(A,[2,17]),t(I,[2,41]),t(A,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(A,[2,31]),{27:[1,69]},t(A,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(A,[2,15]),t(A,[2,26]),t(A,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(A,[2,33]),t(A,[2,19]),{25:73,27:N},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(R,P){if(P.recoverable)this.trace(R);else{var B=new Error(R);throw B.hash=P,B}},"parseError"),parse:o(function(R){var P=this,B=[0],F=[],G=[null],$=[],V=this.table,X="",Q=0,H=0,ie=0,Y=2,le=1,ee=$.slice.call(arguments,1),J=Object.create(this.lexer),te={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(te.yy[Z]=this.yy[Z]);J.setInput(R,te.yy),te.yy.lexer=J,te.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var xe=J.yylloc;$.push(xe);var de=J.options&&J.options.ranges;typeof te.yy.parseError=="function"?this.parseError=te.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(j){B.length=B.length-2*j,G.length=G.length-j,$.length=$.length-j}o(Se,"popStack");function Me(){var j;return j=F.pop()||J.lex()||le,typeof j!="number"&&(j instanceof Array&&(F=j,j=F.pop()),j=P.symbols_[j]||j),j}o(Me,"lex");for(var ke,we,_e,$e,fe,Ke,Te={},Be,Ue,Ge,Ne;;){if(_e=B[B.length-1],this.defaultActions[_e]?$e=this.defaultActions[_e]:((ke===null||typeof ke>"u")&&(ke=Me()),$e=V[_e]&&V[_e][ke]),typeof $e>"u"||!$e.length||!$e[0]){var We="";Ne=[];for(Be in V[_e])this.terminals_[Be]&&Be>Y&&Ne.push("'"+this.terminals_[Be]+"'");J.showPosition?We="Parse error on line "+(Q+1)+`: +`+J.showPosition()+` +Expecting `+Ne.join(", ")+", got '"+(this.terminals_[ke]||ke)+"'":We="Parse error on line "+(Q+1)+": Unexpected "+(ke==le?"end of input":"'"+(this.terminals_[ke]||ke)+"'"),this.parseError(We,{text:J.match,token:this.terminals_[ke]||ke,line:J.yylineno,loc:xe,expected:Ne})}if($e[0]instanceof Array&&$e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_e+", token: "+ke);switch($e[0]){case 1:B.push(ke),G.push(J.yytext),$.push(J.yylloc),B.push($e[1]),ke=null,we?(ke=we,we=null):(H=J.yyleng,X=J.yytext,Q=J.yylineno,xe=J.yylloc,ie>0&&ie--);break;case 2:if(Ue=this.productions_[$e[1]][1],Te.$=G[G.length-Ue],Te._$={first_line:$[$.length-(Ue||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(Ue||1)].first_column,last_column:$[$.length-1].last_column},de&&(Te._$.range=[$[$.length-(Ue||1)].range[0],$[$.length-1].range[1]]),Ke=this.performAction.apply(Te,[X,H,Q,te.yy,$e[1],G,$].concat(ee)),typeof Ke<"u")return Ke;Ue&&(B=B.slice(0,-1*Ue*2),G=G.slice(0,-1*Ue),$=$.slice(0,-1*Ue)),B.push(this.productions_[$e[1]][0]),G.push(Te.$),$.push(Te._$),Ge=V[B[B.length-2]][B[B.length-1]],B.push(Ge);break;case 3:return!0}}return!0},"parse")},_=(function(){var M={EOF:1,parseError:o(function(P,B){if(this.yy.parser)this.yy.parser.parseError(P,B);else throw new Error(P)},"parseError"),setInput:o(function(R,P){return this.yy=P||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:o(function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var P=R.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},"input"),unput:o(function(R){var P=R.length,B=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var F=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),B.length-1&&(this.yylineno-=B.length-1);var G=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:B?(B.length===F.length?this.yylloc.first_column:0)+F[F.length-B.length].length-B[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[G[0],G[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(R){this.unput(this.match.slice(R))},"less"),pastInput:o(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:o(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:o(function(){var R=this.pastInput(),P=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+P+"^"},"showPosition"),test_match:o(function(R,P){var B,F,G;if(this.options.backtrack_lexer&&(G={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&&(G.yylloc.range=this.yylloc.range.slice(0))),F=R[0].match(/(?:\r\n?|\n).*/g),F&&(this.yylineno+=F.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:F?F[F.length-1].length-F[F.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+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],B=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),B)return B;if(this._backtrack){for(var $ in G)this[$]=G[$];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,P,B,F;this._more||(this.yytext="",this.match="");for(var G=this._currentRules(),$=0;$P[0].length)){if(P=B,F=$,this.options.backtrack_lexer){if(R=this.test_match(B,G[$]),R!==!1)return R;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(R=this.test_match(P,G[F]),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:o(function(){var P=this.next();return P||this.lex()},"lex"),begin:o(function(P){this.conditionStack.push(P)},"begin"),popState:o(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:o(function(P){this.begin(P)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(P,B,F,G){var $=G;switch(F){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 31;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 27;case 25:return this.popState(),26;break;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return M})();C.lexer=_;function D(){this.yy={}}return o(D,"Parser"),D.prototype=C,C.Parser=D,new D})();qq.parser=qq;U3e=qq});function Uq(t){return t.type==="bar"}function L7(t){return t.type==="band"}function Iv(t){return t.type==="linear"}var N7=O(()=>{"use strict";o(Uq,"isBarPlot");o(L7,"isBandAxisData");o(Iv,"isLinearAxisData")});var Ov,Wq=O(()=>{"use strict";co();Ov=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=gie(i,1,a),l=s?s.width:a.length*r,u=s?s.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var Pv,Hq=O(()=>{"use strict";Pv=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var M7,H3e=O(()=>{"use strict";Ar();xt();Hq();M7=class extends Pv{static{o(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=Og().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=Og().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),K.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var I7,Y3e=O(()=>{"use strict";Ar();Hq();I7=class extends Pv{static{o(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=sc().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=sc().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function Yq(t,e,r,n){let i=new Ov(n);return L7(t)?new M7(e,r,t.categories,t.title,i):new I7(e,r,[t.min,t.max],t.title,i)}var j3e=O(()=>{"use strict";N7();Wq();H3e();Y3e();o(Yq,"getAxis")});function X3e(t,e,r,n){let i=new Ov(n);return new jq(i,t,e,r)}var jq,K3e=O(()=>{"use strict";Wq();jq=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};o(X3e,"getChartTitleComponent")});var O7,Q3e=O(()=>{"use strict";Ar();O7=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=hc().y(n=>n[0]).x(n=>n[1])(e):r=hc().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var P7,Z3e=O(()=>{"use strict";P7=class{constructor(e,r,n,i,a,s){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=s}static{o(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function J3e(t,e,r){return new Xq(t,e,r)}var Xq,ewe=O(()=>{"use strict";Q3e();Z3e();Xq=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new O7(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new P7(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};o(J3e,"getPlotComponent")});var B7,twe=O(()=>{"use strict";j3e();K3e();ewe();N7();B7=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:X3e(e,r,n,i),plot:J3e(e,r,n),xAxis:Yq(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:Yq(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{o(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>Uq(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>Uq(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var F7,rwe=O(()=>{"use strict";twe();F7=class{static{o(this,"XYChartBuilder")}static build(e,r,n,i){return new B7(e,r,n,i).getDrawableElement()}}});function iwe(){let t=yf(),e=Zt();return Pn(t.xyChart,e.themeVariables.xyChart)}function awe(){let t=Zt();return Pn(gr.xyChart,t.xyChart)}function swe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Zq(t){let e=Zt();return wr(t.trim(),e)}function ult(t){nwe=t}function hlt(t){t==="horizontal"?f3.chartOrientation="horizontal":f3.chartOrientation="vertical"}function flt(t){An.xAxis.title=Zq(t.text)}function owe(t,e){An.xAxis={type:"linear",title:An.xAxis.title,min:t,max:e},$7=!0}function dlt(t){An.xAxis={type:"band",title:An.xAxis.title,categories:t.map(e=>Zq(e.text))},$7=!0}function plt(t){An.yAxis.title=Zq(t.text)}function mlt(t,e){An.yAxis={type:"linear",title:An.yAxis.title,min:t,max:e},Qq=!0}function glt(t){let e=Math.min(...t),r=Math.max(...t),n=Iv(An.yAxis)?An.yAxis.min:1/0,i=Iv(An.yAxis)?An.yAxis.max:-1/0;An.yAxis={type:"linear",title:An.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function lwe(t){let e=[];if(t.length===0)return e;if(!$7){let r=Iv(An.xAxis)?An.xAxis.min:1/0,n=Iv(An.xAxis)?An.xAxis.max:-1/0;owe(Math.min(r,1),Math.max(n,t.length))}if(Qq||glt(t),L7(An.xAxis)&&(e=An.xAxis.categories.map((r,n)=>[r,t[n]])),Iv(An.xAxis)){let r=An.xAxis.min,n=An.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function cwe(t){return Kq[t===0?0:t%Kq.length]}function ylt(t,e){let r=lwe(e);An.plots.push({type:"line",strokeFill:cwe(h3),strokeWidth:2,data:r}),h3++}function vlt(t,e){let r=lwe(e);An.plots.push({type:"bar",fill:cwe(h3),data:r}),h3++}function xlt(){if(An.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return An.title=Fr(),F7.build(f3,An,d3,nwe)}function blt(){return d3}function Tlt(){return f3}function wlt(){return An}var h3,nwe,f3,d3,An,Kq,$7,Qq,klt,uwe,hwe=O(()=>{"use strict";$r();La();y2();ar();Ur();si();rwe();N7();h3=0,f3=awe(),d3=iwe(),An=swe(),Kq=d3.plotColorPalette.split(",").map(t=>t.trim()),$7=!1,Qq=!1;o(iwe,"getChartDefaultThemeConfig");o(awe,"getChartDefaultConfig");o(swe,"getChartDefaultData");o(Zq,"textSanitizer");o(ult,"setTmpSVGG");o(hlt,"setOrientation");o(flt,"setXAxisTitle");o(owe,"setXAxisRangeData");o(dlt,"setXAxisBand");o(plt,"setYAxisTitle");o(mlt,"setYAxisRangeData");o(glt,"setYAxisRangeFromPlotData");o(lwe,"transformDataWithoutCategory");o(cwe,"getPlotColorFromPalette");o(ylt,"setLineData");o(vlt,"setBarData");o(xlt,"getDrawableElem");o(blt,"getChartThemeConfig");o(Tlt,"getChartConfig");o(wlt,"getXYChartData");klt=o(function(){_r(),h3=0,f3=awe(),An=swe(),d3=iwe(),Kq=d3.plotColorPalette.split(",").map(t=>t.trim()),$7=!1,Qq=!1},"clear"),uwe={getDrawableElem:xlt,clear:klt,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,getAccDescription:Br,setAccDescription:Pr,setOrientation:hlt,setXAxisTitle:flt,setXAxisRangeData:owe,setXAxisBand:dlt,setYAxisTitle:plt,setYAxisRangeData:mlt,setLineData:ylt,setBarData:vlt,setTmpSVGG:ult,getChartThemeConfig:blt,getChartConfig:Tlt,getXYChartData:wlt}});var Elt,fwe,dwe=O(()=>{"use strict";xt();Ul();Ti();Elt=o((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),l=i.getXYChartData().plots[0].data.map(T=>T[1]);function u(T){return T==="top"?"text-before-edge":"middle"}o(u,"getDominantBaseLine");function h(T){return T==="left"?"start":T==="right"?"end":"middle"}o(h,"getTextAnchor");function f(T){return`translate(${T.x}, ${T.y}) rotate(${T.rotation||0})`}o(f,"getTextTransformation"),K.debug(`Rendering xychart chart +`+t);let d=Ii(e),p=d.append("g").attr("class","main"),m=p.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Zr(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),m.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));let g=i.getDrawableElem(),y={};function v(T){let E=p,w="";for(let[k]of T.entries()){let S=p;k>0&&y[w]&&(S=y[w]),w+=T[k],E=y[w],E||(E=y[w]=S.append("g").attr("class",T[k]))}return E}o(v,"getGroup");for(let T of g){if(T.data.length===0)continue;let E=v(T.groupTexts);switch(T.type){case"rect":if(E.selectAll("rect").data(T.data).enter().append("rect").attr("x",w=>w.x).attr("y",w=>w.y).attr("width",w=>w.width).attr("height",w=>w.height).attr("fill",w=>w.fill).attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth),s.showDataLabel)if(s.chartOrientation==="horizontal"){let S=function(I,N){let{data:C,label:_}=I;return N*_.length*.7<=C.width-10};var x=S;o(S,"fitsHorizontally");let w=.7,k=T.data.map((I,N)=>({data:I,label:l[N].toString()})).filter(I=>I.data.width>0&&I.data.height>0),A=k.map(I=>{let{data:N}=I,C=N.height*.7;for(;!S(I,C)&&C>0;)C-=1;return C}),L=Math.floor(Math.min(...A));E.selectAll("text").data(k).enter().append("text").attr("x",I=>I.data.x+I.data.width-10).attr("y",I=>I.data.y+I.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${L}px`).text(I=>I.label)}else{let S=function(I,N,C){let{data:_,label:D}=I,R=N*D.length*.7,P=_.x+_.width/2,B=P-R/2,F=P+R/2,G=B>=_.x&&F<=_.x+_.width,$=_.y+C+N<=_.y+_.height;return G&&$};var b=S;o(S,"fitsInBar");let w=10,k=T.data.map((I,N)=>({data:I,label:l[N].toString()})).filter(I=>I.data.width>0&&I.data.height>0),A=k.map(I=>{let{data:N,label:C}=I,_=N.width/(C.length*.7);for(;!S(I,_,10)&&_>0;)_-=1;return _}),L=Math.floor(Math.min(...A));E.selectAll("text").data(k).enter().append("text").attr("x",I=>I.data.x+I.data.width/2).attr("y",I=>I.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${L}px`).text(I=>I.label)}break;case"text":E.selectAll("text").data(T.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",w=>w.fill).attr("font-size",w=>w.fontSize).attr("dominant-baseline",w=>u(w.verticalPos)).attr("text-anchor",w=>h(w.horizontalPos)).attr("transform",w=>f(w)).text(w=>w.text);break;case"path":E.selectAll("path").data(T.data).enter().append("path").attr("d",w=>w.path).attr("fill",w=>w.fill?w.fill:"none").attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth);break}}},"draw"),fwe={draw:Elt}});var pwe={};vr(pwe,{diagram:()=>Slt});var Slt,mwe=O(()=>{"use strict";W3e();hwe();dwe();Slt={parser:U3e,db:uwe,renderer:fwe}});var Jq,vwe,xwe=O(()=>{"use strict";Jq=(function(){var t=o(function(j,ae,U,ce){for(U=U||{},ce=j.length;ce--;U[j[ce]]=ae);return U},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],l=[2,7],u=[1,26],h=[1,27],f=[1,28],d=[1,29],p=[1,33],m=[1,34],g=[1,35],y=[1,36],v=[1,37],x=[1,38],b=[1,24],T=[1,31],E=[1,32],w=[1,30],k=[1,39],S=[1,40],A=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],L=[1,61],I=[89,90],N=[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],C=[27,29],_=[1,70],D=[1,71],M=[1,72],R=[1,73],P=[1,74],B=[1,75],F=[1,76],G=[1,83],$=[1,80],V=[1,84],X=[1,85],Q=[1,86],H=[1,87],ie=[1,88],Y=[1,89],le=[1,90],ee=[1,91],J=[1,92],te=[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],Z=[63,64],xe=[1,101],de=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Se=[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],Me=[1,110],ke=[1,106],we=[1,107],_e=[1,108],$e=[1,109],fe=[1,111],Ke=[1,116],Te=[1,117],Be=[1,114],Ue=[1,115],Ge={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:o(function(ae,U,ce,z,ne,se,be){var pe=se.length-1;switch(ne){case 4:this.$=se[pe].trim(),z.setAccTitle(this.$);break;case 5:case 6:this.$=se[pe].trim(),z.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:z.setDirection("TB");break;case 18:z.setDirection("BT");break;case 19:z.setDirection("RL");break;case 20:z.setDirection("LR");break;case 21:z.addRequirement(se[pe-3],se[pe-4]);break;case 22:z.addRequirement(se[pe-5],se[pe-6]),z.setClass([se[pe-5]],se[pe-3]);break;case 23:z.setNewReqId(se[pe-2]);break;case 24:z.setNewReqText(se[pe-2]);break;case 25:z.setNewReqRisk(se[pe-2]);break;case 26:z.setNewReqVerifyMethod(se[pe-2]);break;case 29:this.$=z.RequirementType.REQUIREMENT;break;case 30:this.$=z.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=z.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=z.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=z.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=z.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=z.RiskLevel.LOW_RISK;break;case 36:this.$=z.RiskLevel.MED_RISK;break;case 37:this.$=z.RiskLevel.HIGH_RISK;break;case 38:this.$=z.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=z.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=z.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=z.VerifyType.VERIFY_TEST;break;case 42:z.addElement(se[pe-3]);break;case 43:z.addElement(se[pe-5]),z.setClass([se[pe-5]],se[pe-3]);break;case 44:z.setNewElementType(se[pe-2]);break;case 45:z.setNewElementDocRef(se[pe-2]);break;case 48:z.addRelationship(se[pe-2],se[pe],se[pe-4]);break;case 49:z.addRelationship(se[pe-2],se[pe-4],se[pe]);break;case 50:this.$=z.Relationships.CONTAINS;break;case 51:this.$=z.Relationships.COPIES;break;case 52:this.$=z.Relationships.DERIVES;break;case 53:this.$=z.Relationships.SATISFIES;break;case 54:this.$=z.Relationships.VERIFIES;break;case 55:this.$=z.Relationships.REFINES;break;case 56:this.$=z.Relationships.TRACES;break;case 57:this.$=se[pe-2],z.defineClass(se[pe-1],se[pe]);break;case 58:z.setClass(se[pe-1],se[pe]);break;case 59:z.setClass([se[pe-2]],se[pe]);break;case 60:case 62:this.$=[se[pe]];break;case 61:case 63:this.$=se[pe-2].concat([se[pe]]);break;case 64:this.$=se[pe-2],z.setCssStyle(se[pe-1],se[pe]);break;case 65:this.$=[se[pe]];break;case 66:se[pe-2].push(se[pe]),this.$=se[pe-2];break;case 68:this.$=se[pe-1]+se[pe];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:43,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:44,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:45,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:46,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:47,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:48,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:49,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{4:17,5:s,7:50,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:E,77:w,89:k,90:S},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(A,[2,17]),t(A,[2,18]),t(A,[2,19]),t(A,[2,20]),{30:60,33:62,75:L,89:k,90:S},{30:63,33:62,75:L,89:k,90:S},{30:64,33:62,75:L,89:k,90:S},t(I,[2,29]),t(I,[2,30]),t(I,[2,31]),t(I,[2,32]),t(I,[2,33]),t(I,[2,34]),t(N,[2,81]),t(N,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(C,[2,79]),t(C,[2,80]),{27:[1,67],29:[1,68]},t(C,[2,85]),t(C,[2,86]),{62:69,65:_,66:D,67:M,68:R,69:P,70:B,71:F},{62:77,65:_,66:D,67:M,68:R,69:P,70:B,71:F},{30:78,33:62,75:L,89:k,90:S},{73:79,75:G,76:$,78:81,79:82,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J},t(te,[2,60]),t(te,[2,62]),{73:93,75:G,76:$,78:81,79:82,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J},{30:94,33:62,75:L,76:$,89:k,90:S},{5:[1,95]},{30:96,33:62,75:L,89:k,90:S},{5:[1,97]},{30:98,33:62,75:L,89:k,90:S},{63:[1,99]},t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(Z,[2,54]),t(Z,[2,55]),t(Z,[2,56]),{64:[1,100]},t(A,[2,59],{76:$}),t(A,[2,64],{76:xe}),{33:103,75:[1,102],89:k,90:S},t(de,[2,65],{79:104,75:G,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J}),t(Se,[2,67]),t(Se,[2,69]),t(Se,[2,70]),t(Se,[2,71]),t(Se,[2,72]),t(Se,[2,73]),t(Se,[2,74]),t(Se,[2,75]),t(Se,[2,76]),t(Se,[2,77]),t(Se,[2,78]),t(A,[2,57],{76:xe}),t(A,[2,58],{76:$}),{5:Me,28:105,31:ke,34:we,36:_e,38:$e,40:fe},{27:[1,112],76:$},{5:Ke,40:Te,56:113,57:Be,59:Ue},{27:[1,118],76:$},{33:119,89:k,90:S},{33:120,89:k,90:S},{75:G,78:121,79:82,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J},t(te,[2,61]),t(te,[2,63]),t(Se,[2,68]),t(A,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:Me,28:126,31:ke,34:we,36:_e,38:$e,40:fe},t(A,[2,28]),{5:[1,127]},t(A,[2,42]),{32:[1,128]},{32:[1,129]},{5:Ke,40:Te,56:130,57:Be,59:Ue},t(A,[2,47]),{5:[1,131]},t(A,[2,48]),t(A,[2,49]),t(de,[2,66],{79:104,75:G,80:V,81:X,82:Q,83:H,84:ie,85:Y,86:le,87:ee,88:J}),{33:132,89:k,90:S},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(A,[2,27]),{5:Me,28:145,31:ke,34:we,36:_e,38:$e,40:fe},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(A,[2,46]),{5:Ke,40:Te,56:152,57:Be,59:Ue},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(A,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(A,[2,43]),{5:Me,28:159,31:ke,34:we,36:_e,38:$e,40:fe},{5:Me,28:160,31:ke,34:we,36:_e,38:$e,40:fe},{5:Me,28:161,31:ke,34:we,36:_e,38:$e,40:fe},{5:Me,28:162,31:ke,34:we,36:_e,38:$e,40:fe},{5:Ke,40:Te,56:163,57:Be,59:Ue},{5:Ke,40:Te,56:164,57:Be,59:Ue},t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),t(A,[2,26]),t(A,[2,44]),t(A,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:o(function(ae,U){if(U.recoverable)this.trace(ae);else{var ce=new Error(ae);throw ce.hash=U,ce}},"parseError"),parse:o(function(ae){var U=this,ce=[0],z=[],ne=[null],se=[],be=this.table,pe="",me=0,Re=0,ge=0,Ie=2,qe=1,Pe=se.slice.call(arguments,1),Xe=Object.create(this.lexer),oe={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(oe.yy[et]=this.yy[et]);Xe.setInput(ae,oe.yy),oe.yy.lexer=Xe,oe.yy.parser=this,typeof Xe.yylloc>"u"&&(Xe.yylloc={});var he=Xe.yylloc;se.push(he);var ot=Xe.options&&Xe.options.ranges;typeof oe.yy.parseError=="function"?this.parseError=oe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Dt(tr){ce.length=ce.length-2*tr,ne.length=ne.length-tr,se.length=se.length-tr}o(Dt,"popStack");function It(){var tr;return tr=z.pop()||Xe.lex()||qe,typeof tr!="number"&&(tr instanceof Array&&(z=tr,tr=z.pop()),tr=U.symbols_[tr]||tr),tr}o(It,"lex");for(var wt,Rt,it,at,Ct,yt,dt={},Ht,cr,Kt,kr;;){if(it=ce[ce.length-1],this.defaultActions[it]?at=this.defaultActions[it]:((wt===null||typeof wt>"u")&&(wt=It()),at=be[it]&&be[it][wt]),typeof at>"u"||!at.length||!at[0]){var ur="";kr=[];for(Ht in be[it])this.terminals_[Ht]&&Ht>Ie&&kr.push("'"+this.terminals_[Ht]+"'");Xe.showPosition?ur="Parse error on line "+(me+1)+`: +`+Xe.showPosition()+` +Expecting `+kr.join(", ")+", got '"+(this.terminals_[wt]||wt)+"'":ur="Parse error on line "+(me+1)+": Unexpected "+(wt==qe?"end of input":"'"+(this.terminals_[wt]||wt)+"'"),this.parseError(ur,{text:Xe.match,token:this.terminals_[wt]||wt,line:Xe.yylineno,loc:he,expected:kr})}if(at[0]instanceof Array&&at.length>1)throw new Error("Parse Error: multiple actions possible at state: "+it+", token: "+wt);switch(at[0]){case 1:ce.push(wt),ne.push(Xe.yytext),se.push(Xe.yylloc),ce.push(at[1]),wt=null,Rt?(wt=Rt,Rt=null):(Re=Xe.yyleng,pe=Xe.yytext,me=Xe.yylineno,he=Xe.yylloc,ge>0&&ge--);break;case 2:if(cr=this.productions_[at[1]][1],dt.$=ne[ne.length-cr],dt._$={first_line:se[se.length-(cr||1)].first_line,last_line:se[se.length-1].last_line,first_column:se[se.length-(cr||1)].first_column,last_column:se[se.length-1].last_column},ot&&(dt._$.range=[se[se.length-(cr||1)].range[0],se[se.length-1].range[1]]),yt=this.performAction.apply(dt,[pe,Re,me,oe.yy,at[1],ne,se].concat(Pe)),typeof yt<"u")return yt;cr&&(ce=ce.slice(0,-1*cr*2),ne=ne.slice(0,-1*cr),se=se.slice(0,-1*cr)),ce.push(this.productions_[at[1]][0]),ne.push(dt.$),se.push(dt._$),Kt=be[ce[ce.length-2]][ce[ce.length-1]],ce.push(Kt);break;case 3:return!0}}return!0},"parse")},Ne=(function(){var j={EOF:1,parseError:o(function(U,ce){if(this.yy.parser)this.yy.parser.parseError(U,ce);else throw new Error(U)},"parseError"),setInput:o(function(ae,U){return this.yy=U||this.yy||{},this._input=ae,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var ae=this._input[0];this.yytext+=ae,this.yyleng++,this.offset++,this.match+=ae,this.matched+=ae;var U=ae.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),ae},"input"),unput:o(function(ae){var U=ae.length,ce=ae.split(/(?:\r\n?|\n)/g);this._input=ae+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var z=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ce.length-1&&(this.yylineno-=ce.length-1);var ne=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ce?(ce.length===z.length?this.yylloc.first_column:0)+z[z.length-ce.length].length-ce[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[ne[0],ne[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(ae){this.unput(this.match.slice(ae))},"less"),pastInput:o(function(){var ae=this.matched.substr(0,this.matched.length-this.match.length);return(ae.length>20?"...":"")+ae.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ae=this.match;return ae.length<20&&(ae+=this._input.substr(0,20-ae.length)),(ae.substr(0,20)+(ae.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ae=this.pastInput(),U=new Array(ae.length+1).join("-");return ae+this.upcomingInput()+` +`+U+"^"},"showPosition"),test_match:o(function(ae,U){var ce,z,ne;if(this.options.backtrack_lexer&&(ne={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&&(ne.yylloc.range=this.yylloc.range.slice(0))),z=ae[0].match(/(?:\r\n?|\n).*/g),z&&(this.yylineno+=z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:z?z[z.length-1].length-z[z.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ae[0].length},this.yytext+=ae[0],this.match+=ae[0],this.matches=ae,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ae[0].length),this.matched+=ae[0],ce=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ce)return ce;if(this._backtrack){for(var se in ne)this[se]=ne[se];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ae,U,ce,z;this._more||(this.yytext="",this.match="");for(var ne=this._currentRules(),se=0;seU[0].length)){if(U=ce,z=se,this.options.backtrack_lexer){if(ae=this.test_match(ce,ne[se]),ae!==!1)return ae;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(ae=this.test_match(U,ne[z]),ae!==!1?ae:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var U=this.next();return U||this.lex()},"lex"),begin:o(function(U){this.conditionStack.push(U)},"begin"),popState:o(function(){var U=this.conditionStack.length-1;return U>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(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},"topState"),pushState:o(function(U){this.begin(U)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(U,ce,z,ne){var se=ne;switch(z){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return ce.yytext=ce.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return j})();Ge.lexer=Ne;function We(){this.yy={}}return o(We,"Parser"),We.prototype=Ge,Ge.Parser=We,new We})();Jq.parser=Jq;vwe=Jq});var z7,bwe=O(()=>{"use strict";jt();xt();si();z7=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=Lr;this.getAccTitle=Or;this.setAccDescription=Pr;this.getAccDescription=Br;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getConfig=o(()=>ve().requirement,"getConfig");this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),K.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,_r()}setCssStyle(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(let a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(i)for(let a of r){i.classes.push(a);let s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(let n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){let e=ve(),r=[],n=[];for(let i of this.requirements.values()){let a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,r.push(a)}for(let i of this.elements.values()){let a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),r.push(a)}for(let i of this.relations){let a=0,s=i.type===this.Relationships.CONTAINS,l={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`\xAB${i.type}\xBB`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(l),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}}});var Dlt,Twe,wwe=O(()=>{"use strict";Dlt=o(t=>` marker { fill: ${t.relationColor}; @@ -1642,6 +1676,15 @@ Expecting `+Hr.join(", ")+", got '"+(this.terminals_[Mt]||Mt)+"'":mr="Parse erro .relationshipLabel { fill: ${t.relationLabelColor}; } + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + } + .edgeLabel .label rect { + fill: ${t.edgeLabelBackground}; + } + .edgeLabel .label text { + fill: ${t.relationLabelColor}; + } .divider { stroke: ${t.nodeBorder}; stroke-width: 1; @@ -1658,16 +1701,16 @@ Expecting `+Hr.join(", ")+", got '"+(this.terminals_[Mt]||Mt)+"'":mr="Parse erro background-color: ${t.edgeLabelBackground}; } -`,"getStyles"),B3e=Yst});var $q={};vr($q,{draw:()=>jst});var jst,$3e=I(()=>{"use strict";Qt();gt();y0();Cd();Ad();sr();jst=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing requirement diagram (unified)",e);let{securityLevel:i,state:a,layout:s}=xe(),l=n.db.getData(),u=xl(e,i);l.type=n.type,l.layoutAlgorithm=ku(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=["requirement_contains","requirement_arrow"],l.diagramId=e,await _l(l,u);let h=8;jt.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),mo(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw")});var z3e={};vr(z3e,{diagram:()=>Xst});var Xst,G3e=I(()=>{"use strict";O3e();P3e();F3e();$3e();Xst={parser:I3e,get db(){return new A7},renderer:$q,styles:B3e}});var zq,U3e,W3e=I(()=>{"use strict";zq=(function(){var t=o(function(ne,te,Q,le){for(Q=Q||{},le=ne.length;le--;Q[ne[le]]=te);return Q},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,13],u=[1,14],h=[1,16],f=[1,17],d=[1,18],p=[1,24],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],T=[1,31],E=[1,32],w=[1,33],k=[1,34],C=[1,35],D=[1,36],R=[1,37],O=[1,38],L=[1,39],S=[1,41],A=[1,42],_=[1,43],N=[1,44],M=[1,45],P=[1,46],B=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,55,60,61,62,63,71],F=[2,71],G=[4,5,16,50,52,53],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],V=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,55,60,61,62,63,71],K=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,55,60,61,62,63,71],ee=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,55,60,61,62,63,71],H=[69,70,71],he=[1,127],Z={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,actor_with_config:54,note:55,placement:56,text2:57,over:58,actor_pair:59,links:60,link:61,properties:62,details:63,spaceList:64,",":65,left_of:66,right_of:67,signaltype:68,"+":69,"-":70,ACTOR:71,config_object:72,CONFIG_START:73,CONFIG_CONTENT:74,CONFIG_END:75,SOLID_OPEN_ARROW:76,DOTTED_OPEN_ARROW:77,SOLID_ARROW:78,BIDIRECTIONAL_SOLID_ARROW:79,DOTTED_ARROW:80,BIDIRECTIONAL_DOTTED_ARROW:81,SOLID_CROSS:82,DOTTED_CROSS:83,SOLID_POINT:84,DOTTED_POINT:85,TXT:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",55:"note",58:"over",60:"links",61:"link",62:"properties",63:"details",65:",",66:"left_of",67:"right_of",69:"+",70:"-",71:"ACTOR",73:"CONFIG_START",74:"CONFIG_CONTENT",75:"CONFIG_END",76:"SOLID_OPEN_ARROW",77:"DOTTED_OPEN_ARROW",78:"SOLID_ARROW",79:"BIDIRECTIONAL_SOLID_ARROW",80:"DOTTED_ARROW",81:"BIDIRECTIONAL_DOTTED_ARROW",82:"SOLID_CROSS",83:"DOTTED_CROSS",84:"SOLID_POINT",85:"DOTTED_POINT",86:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[64,2],[64,1],[59,3],[59,1],[56,1],[56,1],[17,5],[17,5],[17,4],[54,2],[72,3],[22,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[57,1]],performAction:o(function(te,Q,le,J,ge,ie,Te){var j=ie.length-1;switch(ge){case 3:return J.apply(ie[j]),ie[j];break;case 4:case 9:this.$=[];break;case 5:case 10:ie[j-1].push(ie[j]),this.$=ie[j-1];break;case 6:case 7:case 11:case 12:this.$=ie[j];break;case 8:case 13:this.$=[];break;case 15:ie[j].type="createParticipant",this.$=ie[j];break;case 16:ie[j-1].unshift({type:"boxStart",boxData:J.parseBoxData(ie[j-2])}),ie[j-1].push({type:"boxEnd",boxText:ie[j-2]}),this.$=ie[j-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ie[j-2]),sequenceIndexStep:Number(ie[j-1]),sequenceVisible:!0,signalType:J.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ie[j-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:J.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:J.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:J.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:J.LINETYPE.ACTIVE_START,actor:ie[j-1].actor};break;case 23:this.$={type:"activeEnd",signalType:J.LINETYPE.ACTIVE_END,actor:ie[j-1].actor};break;case 29:J.setDiagramTitle(ie[j].substring(6)),this.$=ie[j].substring(6);break;case 30:J.setDiagramTitle(ie[j].substring(7)),this.$=ie[j].substring(7);break;case 31:this.$=ie[j].trim(),J.setAccTitle(this.$);break;case 32:case 33:this.$=ie[j].trim(),J.setAccDescription(this.$);break;case 34:ie[j-1].unshift({type:"loopStart",loopText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.LOOP_START}),ie[j-1].push({type:"loopEnd",loopText:ie[j-2],signalType:J.LINETYPE.LOOP_END}),this.$=ie[j-1];break;case 35:ie[j-1].unshift({type:"rectStart",color:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.RECT_START}),ie[j-1].push({type:"rectEnd",color:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.RECT_END}),this.$=ie[j-1];break;case 36:ie[j-1].unshift({type:"optStart",optText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.OPT_START}),ie[j-1].push({type:"optEnd",optText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.OPT_END}),this.$=ie[j-1];break;case 37:ie[j-1].unshift({type:"altStart",altText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.ALT_START}),ie[j-1].push({type:"altEnd",signalType:J.LINETYPE.ALT_END}),this.$=ie[j-1];break;case 38:ie[j-1].unshift({type:"parStart",parText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.PAR_START}),ie[j-1].push({type:"parEnd",signalType:J.LINETYPE.PAR_END}),this.$=ie[j-1];break;case 39:ie[j-1].unshift({type:"parStart",parText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.PAR_OVER_START}),ie[j-1].push({type:"parEnd",signalType:J.LINETYPE.PAR_END}),this.$=ie[j-1];break;case 40:ie[j-1].unshift({type:"criticalStart",criticalText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.CRITICAL_START}),ie[j-1].push({type:"criticalEnd",signalType:J.LINETYPE.CRITICAL_END}),this.$=ie[j-1];break;case 41:ie[j-1].unshift({type:"breakStart",breakText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.BREAK_START}),ie[j-1].push({type:"breakEnd",optText:J.parseMessage(ie[j-2]),signalType:J.LINETYPE.BREAK_END}),this.$=ie[j-1];break;case 43:this.$=ie[j-3].concat([{type:"option",optionText:J.parseMessage(ie[j-1]),signalType:J.LINETYPE.CRITICAL_OPTION},ie[j]]);break;case 45:this.$=ie[j-3].concat([{type:"and",parText:J.parseMessage(ie[j-1]),signalType:J.LINETYPE.PAR_AND},ie[j]]);break;case 47:this.$=ie[j-3].concat([{type:"else",altText:J.parseMessage(ie[j-1]),signalType:J.LINETYPE.ALT_ELSE},ie[j]]);break;case 48:ie[j-3].draw="participant",ie[j-3].type="addParticipant",ie[j-3].description=J.parseMessage(ie[j-1]),this.$=ie[j-3];break;case 49:ie[j-1].draw="participant",ie[j-1].type="addParticipant",this.$=ie[j-1];break;case 50:ie[j-3].draw="actor",ie[j-3].type="addParticipant",ie[j-3].description=J.parseMessage(ie[j-1]),this.$=ie[j-3];break;case 51:ie[j-1].draw="actor",ie[j-1].type="addParticipant",this.$=ie[j-1];break;case 52:ie[j-1].type="destroyParticipant",this.$=ie[j-1];break;case 53:ie[j-1].draw="participant",ie[j-1].type="addParticipant",this.$=ie[j-1];break;case 54:this.$=[ie[j-1],{type:"addNote",placement:ie[j-2],actor:ie[j-1].actor,text:ie[j]}];break;case 55:ie[j-2]=[].concat(ie[j-1],ie[j-1]).slice(0,2),ie[j-2][0]=ie[j-2][0].actor,ie[j-2][1]=ie[j-2][1].actor,this.$=[ie[j-1],{type:"addNote",placement:J.PLACEMENT.OVER,actor:ie[j-2].slice(0,2),text:ie[j]}];break;case 56:this.$=[ie[j-1],{type:"addLinks",actor:ie[j-1].actor,text:ie[j]}];break;case 57:this.$=[ie[j-1],{type:"addALink",actor:ie[j-1].actor,text:ie[j]}];break;case 58:this.$=[ie[j-1],{type:"addProperties",actor:ie[j-1].actor,text:ie[j]}];break;case 59:this.$=[ie[j-1],{type:"addDetails",actor:ie[j-1].actor,text:ie[j]}];break;case 62:this.$=[ie[j-2],ie[j]];break;case 63:this.$=ie[j];break;case 64:this.$=J.PLACEMENT.LEFTOF;break;case 65:this.$=J.PLACEMENT.RIGHTOF;break;case 66:this.$=[ie[j-4],ie[j-1],{type:"addMessage",from:ie[j-4].actor,to:ie[j-1].actor,signalType:ie[j-3],msg:ie[j],activate:!0},{type:"activeStart",signalType:J.LINETYPE.ACTIVE_START,actor:ie[j-1].actor}];break;case 67:this.$=[ie[j-4],ie[j-1],{type:"addMessage",from:ie[j-4].actor,to:ie[j-1].actor,signalType:ie[j-3],msg:ie[j]},{type:"activeEnd",signalType:J.LINETYPE.ACTIVE_END,actor:ie[j-4].actor}];break;case 68:this.$=[ie[j-3],ie[j-1],{type:"addMessage",from:ie[j-3].actor,to:ie[j-1].actor,signalType:ie[j-2],msg:ie[j]}];break;case 69:this.$={type:"addParticipant",actor:ie[j-1],config:ie[j]};break;case 70:this.$=ie[j-1].trim();break;case 71:this.$={type:"addParticipant",actor:ie[j]};break;case 72:this.$=J.LINETYPE.SOLID_OPEN;break;case 73:this.$=J.LINETYPE.DOTTED_OPEN;break;case 74:this.$=J.LINETYPE.SOLID;break;case 75:this.$=J.LINETYPE.BIDIRECTIONAL_SOLID;break;case 76:this.$=J.LINETYPE.DOTTED;break;case 77:this.$=J.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 78:this.$=J.LINETYPE.SOLID_CROSS;break;case 79:this.$=J.LINETYPE.DOTTED_CROSS;break;case 80:this.$=J.LINETYPE.SOLID_POINT;break;case 81:this.$=J.LINETYPE.DOTTED_POINT;break;case 82:this.$=J.parseMessage(ie[j].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,55,60,61,62,63,71],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},t(B,[2,5]),{9:47,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},t(B,[2,7]),t(B,[2,8]),t(B,[2,14]),{12:48,50:R,52:O,53:L},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,71:P},{22:55,71:P},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(B,[2,29]),t(B,[2,30]),{32:[1,61]},{34:[1,62]},t(B,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,54:72,71:[1,73]},{22:74,71:P},{22:75,71:P},{68:76,76:[1,77],77:[1,78],78:[1,79],79:[1,80],80:[1,81],81:[1,82],82:[1,83],83:[1,84],84:[1,85],85:[1,86]},{56:87,58:[1,88],66:[1,89],67:[1,90]},{22:91,71:P},{22:92,71:P},{22:93,71:P},{22:94,71:P},t([5,51,65,76,77,78,79,80,81,82,83,84,85,86],F),t(B,[2,6]),t(B,[2,15]),t(G,[2,9],{10:95}),t(B,[2,17]),{5:[1,97],19:[1,96]},{5:[1,98]},t(B,[2,21]),{5:[1,99]},{5:[1,100]},t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),t(B,[2,31]),t(B,[2,32]),t($,i,{7:101}),t($,i,{7:102}),t($,i,{7:103}),t(V,i,{40:104,7:105}),t(K,i,{42:106,7:107}),t(K,i,{7:107,42:108}),t(ee,i,{45:109,7:110}),t($,i,{7:111}),{5:[1,113],51:[1,112]},{5:[1,114]},t([5,51],F,{72:115,73:[1,116]}),{5:[1,118],51:[1,117]},{5:[1,119]},{22:122,69:[1,120],70:[1,121],71:P},t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(H,[2,81]),{22:123,71:P},{22:125,59:124,71:P},{71:[2,64]},{71:[2,65]},{57:126,86:he},{57:128,86:he},{57:129,86:he},{57:130,86:he},{4:[1,133],5:[1,135],11:132,12:134,16:[1,131],50:R,52:O,53:L},{5:[1,136]},t(B,[2,19]),t(B,[2,20]),t(B,[2,22]),t(B,[2,23]),{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,137],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,138],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,139],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{16:[1,140]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,46],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,49:[1,141],50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{16:[1,142]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,44],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,48:[1,143],50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{16:[1,144]},{16:[1,145]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,42],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,47:[1,146],50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,147],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:E,41:w,43:k,44:C,46:D,50:R,52:O,53:L,55:S,60:A,61:_,62:N,63:M,71:P},{15:[1,148]},t(B,[2,49]),t(B,[2,53]),{5:[2,69]},{74:[1,149]},{15:[1,150]},t(B,[2,51]),t(B,[2,52]),{22:151,71:P},{22:152,71:P},{57:153,86:he},{57:154,86:he},{57:155,86:he},{65:[1,156],86:[2,63]},{5:[2,56]},{5:[2,82]},{5:[2,57]},{5:[2,58]},{5:[2,59]},t(B,[2,16]),t(G,[2,10]),{12:157,50:R,52:O,53:L},t(G,[2,12]),t(G,[2,13]),t(B,[2,18]),t(B,[2,34]),t(B,[2,35]),t(B,[2,36]),t(B,[2,37]),{15:[1,158]},t(B,[2,38]),{15:[1,159]},t(B,[2,39]),t(B,[2,40]),{15:[1,160]},t(B,[2,41]),{5:[1,161]},{75:[1,162]},{5:[1,163]},{57:164,86:he},{57:165,86:he},{5:[2,68]},{5:[2,54]},{5:[2,55]},{22:166,71:P},t(G,[2,11]),t(V,i,{7:105,40:167}),t(K,i,{7:107,42:168}),t(ee,i,{7:110,45:169}),t(B,[2,48]),{5:[2,70]},t(B,[2,50]),{5:[2,66]},{5:[2,67]},{86:[2,62]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],89:[2,64],90:[2,65],115:[2,69],126:[2,56],127:[2,82],128:[2,57],129:[2,58],130:[2,59],153:[2,68],154:[2,54],155:[2,55],162:[2,70],164:[2,66],165:[2,67],166:[2,62],167:[2,47],168:[2,45],169:[2,43]},parseError:o(function(te,Q){if(Q.recoverable)this.trace(te);else{var le=new Error(te);throw le.hash=Q,le}},"parseError"),parse:o(function(te){var Q=this,le=[0],J=[],ge=[null],ie=[],Te=this.table,j="",Ge=0,ye=0,$e=0,Xe=2,Ue=1,Le=ie.slice.call(arguments,1),Ie=Object.create(this.lexer),Me={yy:{}};for(var Ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ae)&&(Me.yy[Ae]=this.yy[Ae]);Ie.setInput(te,Me.yy),Me.yy.lexer=Ie,Me.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ze=Ie.yylloc;ie.push(ze);var Y=Ie.options&&Ie.options.ranges;typeof Me.yy.parseError=="function"?this.parseError=Me.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ce(je){le.length=le.length-2*je,ge.length=ge.length-je,ie.length=ie.length-je}o(ce,"popStack");function U(){var je;return je=J.pop()||Ie.lex()||Ue,typeof je!="number"&&(je instanceof Array&&(J=je,je=J.pop()),je=Q.symbols_[je]||je),je}o(U,"lex");for(var ue,z,se,oe,be,pe,me={},De,Ce,Fe,Ye;;){if(se=le[le.length-1],this.defaultActions[se]?oe=this.defaultActions[se]:((ue===null||typeof ue>"u")&&(ue=U()),oe=Te[se]&&Te[se][ue]),typeof oe>"u"||!oe.length||!oe[0]){var xt="";Ye=[];for(De in Te[se])this.terminals_[De]&&De>Xe&&Ye.push("'"+this.terminals_[De]+"'");Ie.showPosition?xt="Parse error on line "+(Ge+1)+`: -`+Ie.showPosition()+` -Expecting `+Ye.join(", ")+", got '"+(this.terminals_[ue]||ue)+"'":xt="Parse error on line "+(Ge+1)+": Unexpected "+(ue==Ue?"end of input":"'"+(this.terminals_[ue]||ue)+"'"),this.parseError(xt,{text:Ie.match,token:this.terminals_[ue]||ue,line:Ie.yylineno,loc:ze,expected:Ye})}if(oe[0]instanceof Array&&oe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+ue);switch(oe[0]){case 1:le.push(ue),ge.push(Ie.yytext),ie.push(Ie.yylloc),le.push(oe[1]),ue=null,z?(ue=z,z=null):(ye=Ie.yyleng,j=Ie.yytext,Ge=Ie.yylineno,ze=Ie.yylloc,$e>0&&$e--);break;case 2:if(Ce=this.productions_[oe[1]][1],me.$=ge[ge.length-Ce],me._$={first_line:ie[ie.length-(Ce||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(Ce||1)].first_column,last_column:ie[ie.length-1].last_column},Y&&(me._$.range=[ie[ie.length-(Ce||1)].range[0],ie[ie.length-1].range[1]]),pe=this.performAction.apply(me,[j,ye,Ge,Me.yy,oe[1],ge,ie].concat(Le)),typeof pe<"u")return pe;Ce&&(le=le.slice(0,-1*Ce*2),ge=ge.slice(0,-1*Ce),ie=ie.slice(0,-1*Ce)),le.push(this.productions_[oe[1]][0]),ge.push(me.$),ie.push(me._$),Fe=Te[le[le.length-2]][le[le.length-1]],le.push(Fe);break;case 3:return!0}}return!0},"parse")},de=(function(){var ne={EOF:1,parseError:o(function(Q,le){if(this.yy.parser)this.yy.parser.parseError(Q,le);else throw new Error(Q)},"parseError"),setInput:o(function(te,Q){return this.yy=Q||this.yy||{},this._input=te,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var te=this._input[0];this.yytext+=te,this.yyleng++,this.offset++,this.match+=te,this.matched+=te;var Q=te.match(/(?:\r\n?|\n).*/g);return Q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),te},"input"),unput:o(function(te){var Q=te.length,le=te.split(/(?:\r\n?|\n)/g);this._input=te+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Q),this.offset-=Q;var J=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),le.length-1&&(this.yylineno-=le.length-1);var ge=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:le?(le.length===J.length?this.yylloc.first_column:0)+J[J.length-le.length].length-le[0].length:this.yylloc.first_column-Q},this.options.ranges&&(this.yylloc.range=[ge[0],ge[0]+this.yyleng-Q]),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(te){this.unput(this.match.slice(te))},"less"),pastInput:o(function(){var te=this.matched.substr(0,this.matched.length-this.match.length);return(te.length>20?"...":"")+te.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var te=this.match;return te.length<20&&(te+=this._input.substr(0,20-te.length)),(te.substr(0,20)+(te.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var te=this.pastInput(),Q=new Array(te.length+1).join("-");return te+this.upcomingInput()+` -`+Q+"^"},"showPosition"),test_match:o(function(te,Q){var le,J,ge;if(this.options.backtrack_lexer&&(ge={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&&(ge.yylloc.range=this.yylloc.range.slice(0))),J=te[0].match(/(?:\r\n?|\n).*/g),J&&(this.yylineno+=J.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:J?J[J.length-1].length-J[J.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+te[0].length},this.yytext+=te[0],this.match+=te[0],this.matches=te,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(te[0].length),this.matched+=te[0],le=this.performAction.call(this,this.yy,this,Q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),le)return le;if(this._backtrack){for(var ie in ge)this[ie]=ge[ie];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var te,Q,le,J;this._more||(this.yytext="",this.match="");for(var ge=this._currentRules(),ie=0;ieQ[0].length)){if(Q=le,J=ie,this.options.backtrack_lexer){if(te=this.test_match(le,ge[ie]),te!==!1)return te;if(this._backtrack){Q=!1;continue}else return!1}else if(!this.options.flex)break}return Q?(te=this.test_match(Q,ge[J]),te!==!1?te:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Q=this.next();return Q||this.lex()},"lex"),begin:o(function(Q){this.conditionStack.push(Q)},"begin"),popState:o(function(){var Q=this.conditionStack.length-1;return Q>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(Q){return Q=this.conditionStack.length-1-Math.abs(Q||0),Q>=0?this.conditionStack[Q]:"INITIAL"},"topState"),pushState:o(function(Q){this.begin(Q)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Q,le,J,ge){var ie=ge;switch(J){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("CONFIG"),73;break;case 8:return 74;case 9:return this.popState(),this.popState(),75;break;case 10:return le.yytext=le.yytext.trim(),71;break;case 11:return le.yytext=le.yytext.trim(),this.begin("ALIAS"),71;break;case 12:return this.begin("LINE"),14;break;case 13:return this.begin("ID"),50;break;case 14:return this.begin("ID"),52;break;case 15:return 13;case 16:return this.begin("ID"),53;break;case 17:return le.yytext=le.yytext.trim(),this.begin("ALIAS"),71;break;case 18:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 19:return this.popState(),this.popState(),5;break;case 20:return this.begin("LINE"),36;break;case 21:return this.begin("LINE"),37;break;case 22:return this.begin("LINE"),38;break;case 23:return this.begin("LINE"),39;break;case 24:return this.begin("LINE"),49;break;case 25:return this.begin("LINE"),41;break;case 26:return this.begin("LINE"),43;break;case 27:return this.begin("LINE"),48;break;case 28:return this.begin("LINE"),44;break;case 29:return this.begin("LINE"),47;break;case 30:return this.begin("LINE"),46;break;case 31:return this.popState(),15;break;case 32:return 16;case 33:return 66;case 34:return 67;case 35:return 60;case 36:return 61;case 37:return 62;case 38:return 63;case 39:return 58;case 40:return 55;case 41:return this.begin("ID"),21;break;case 42:return this.begin("ID"),23;break;case 43:return 29;case 44:return 30;case 45:return this.begin("acc_title"),31;break;case 46:return this.popState(),"acc_title_value";break;case 47:return this.begin("acc_descr"),33;break;case 48:return this.popState(),"acc_descr_value";break;case 49:this.begin("acc_descr_multiline");break;case 50:this.popState();break;case 51:return"acc_descr_multiline_value";case 52:return 6;case 53:return 18;case 54:return 20;case 55:return 65;case 56:return 5;case 57:return le.yytext=le.yytext.trim(),71;break;case 58:return 78;case 59:return 79;case 60:return 80;case 61:return 81;case 62:return 76;case 63:return 77;case 64:return 82;case 65:return 83;case 66:return 84;case 67:return 85;case 68:return 86;case 69:return 86;case 70:return 69;case 71:return 70;case 72:return 5;case 73:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^\<->\->:\n,;@]+?([\-]*[^\<->\->:\n,;@]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^<\->\->:\n,;]+?([\-]*[^<\->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[50,51],inclusive:!1},acc_descr:{rules:[48],inclusive:!1},acc_title:{rules:[46],inclusive:!1},ID:{rules:[2,3,7,10,11,17],inclusive:!1},ALIAS:{rules:[2,3,18,19],inclusive:!1},LINE:{rules:[2,3,31],inclusive:!1},CONFIG:{rules:[8,9],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,49,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73],inclusive:!0}}};return ne})();Z.lexer=de;function re(){this.yy={}}return o(re,"Parser"),re.prototype=Z,Z.Parser=re,new re})();zq.parser=zq;U3e=zq});var Jst,eot,tot,n3,_7,Gq=I(()=>{"use strict";Qt();Hx();gt();KV();wr();ki();Jst={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},eot={FILLED:0,OPEN:1},tot={LEFTOF:0,RIGHTOF:1,OVER:2},n3={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},_7=class{constructor(){this.state=new wv(()=>({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=zr;this.setAccDescription=qr;this.setDiagramTitle=Xr;this.getAccTitle=Vr;this.getAccDescription=Ur;this.getDiagramTitle=Wr;this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(xe().wrap),this.LINETYPE=Jst,this.ARROWTYPE=eot,this.PLACEMENT=tot}static{o(this,"SequenceDB")}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,l;if(a!==void 0){let h;a.includes(` +`,"getStyles"),Twe=Dlt});var eU={};vr(eU,{draw:()=>Rlt});var Rlt,kwe=O(()=>{"use strict";jt();xt();b0();Rd();Ld();ar();Rlt=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing requirement diagram (unified)",e);let{securityLevel:i,state:a,layout:s}=ve(),l=n.db.getData(),u=Sl(e,i);l.type=n.type,l.layoutAlgorithm=Ru(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=["requirement_contains","requirement_arrow"],l.diagramId=e,await Ol(l,u);let h=8;Xt.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),bo(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw")});var Ewe={};vr(Ewe,{diagram:()=>Llt});var Llt,Swe=O(()=>{"use strict";xwe();bwe();wwe();kwe();Llt={parser:vwe,get db(){return new z7},renderer:eU,styles:Twe}});var tU,_we,Dwe=O(()=>{"use strict";tU=(function(){var t=o(function(Re,ge,Ie,qe){for(Ie=Ie||{},qe=Re.length;qe--;Ie[Re[qe]]=ge);return Ie},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,12],u=[1,14],h=[1,15],f=[1,17],d=[1,18],p=[1,19],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],T=[1,31],E=[1,32],w=[1,33],k=[1,34],S=[1,35],A=[1,36],L=[1,37],I=[1,38],N=[1,39],C=[1,40],_=[1,42],D=[1,43],M=[1,44],R=[1,45],P=[1,46],B=[1,47],F=[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],G=[1,74],$=[1,80],V=[1,81],X=[1,82],Q=[1,83],H=[1,84],ie=[1,85],Y=[1,86],le=[1,87],ee=[1,88],J=[1,89],te=[1,90],Z=[1,91],xe=[1,92],de=[1,93],Se=[1,94],Me=[1,95],ke=[1,96],we=[1,97],_e=[1,98],$e=[1,99],fe=[1,100],Ke=[1,101],Te=[1,102],Be=[1,103],Ue=[1,104],Ge=[1,105],Ne=[2,78],We=[4,5,17,51,53,54],j=[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],ae=[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],U=[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],ce=[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],z=[5,52],ne=[70,71,72,73],se=[1,151],be={trace:o(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:o(function(ge,Ie,qe,Pe,Xe,oe,et){var he=oe.length-1;switch(Xe){case 3:return Pe.apply(oe[he]),oe[he];break;case 4:case 10:this.$=[];break;case 5:case 11:oe[he-1].push(oe[he]),this.$=oe[he-1];break;case 6:case 7:case 12:case 13:this.$=oe[he];break;case 8:case 9:case 14:this.$=[];break;case 16:oe[he].type="createParticipant",this.$=oe[he];break;case 17:oe[he-1].unshift({type:"boxStart",boxData:Pe.parseBoxData(oe[he-2])}),oe[he-1].push({type:"boxEnd",boxText:oe[he-2]}),this.$=oe[he-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(oe[he-2]),sequenceIndexStep:Number(oe[he-1]),sequenceVisible:!0,signalType:Pe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(oe[he-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:Pe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:Pe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:Pe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:Pe.LINETYPE.ACTIVE_START,actor:oe[he-1].actor};break;case 24:this.$={type:"activeEnd",signalType:Pe.LINETYPE.ACTIVE_END,actor:oe[he-1].actor};break;case 30:Pe.setDiagramTitle(oe[he].substring(6)),this.$=oe[he].substring(6);break;case 31:Pe.setDiagramTitle(oe[he].substring(7)),this.$=oe[he].substring(7);break;case 32:this.$=oe[he].trim(),Pe.setAccTitle(this.$);break;case 33:case 34:this.$=oe[he].trim(),Pe.setAccDescription(this.$);break;case 35:oe[he-1].unshift({type:"loopStart",loopText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.LOOP_START}),oe[he-1].push({type:"loopEnd",loopText:oe[he-2],signalType:Pe.LINETYPE.LOOP_END}),this.$=oe[he-1];break;case 36:oe[he-1].unshift({type:"rectStart",color:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.RECT_START}),oe[he-1].push({type:"rectEnd",color:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.RECT_END}),this.$=oe[he-1];break;case 37:oe[he-1].unshift({type:"optStart",optText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.OPT_START}),oe[he-1].push({type:"optEnd",optText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.OPT_END}),this.$=oe[he-1];break;case 38:oe[he-1].unshift({type:"altStart",altText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.ALT_START}),oe[he-1].push({type:"altEnd",signalType:Pe.LINETYPE.ALT_END}),this.$=oe[he-1];break;case 39:oe[he-1].unshift({type:"parStart",parText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.PAR_START}),oe[he-1].push({type:"parEnd",signalType:Pe.LINETYPE.PAR_END}),this.$=oe[he-1];break;case 40:oe[he-1].unshift({type:"parStart",parText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.PAR_OVER_START}),oe[he-1].push({type:"parEnd",signalType:Pe.LINETYPE.PAR_END}),this.$=oe[he-1];break;case 41:oe[he-1].unshift({type:"criticalStart",criticalText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.CRITICAL_START}),oe[he-1].push({type:"criticalEnd",signalType:Pe.LINETYPE.CRITICAL_END}),this.$=oe[he-1];break;case 42:oe[he-1].unshift({type:"breakStart",breakText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.BREAK_START}),oe[he-1].push({type:"breakEnd",optText:Pe.parseMessage(oe[he-2]),signalType:Pe.LINETYPE.BREAK_END}),this.$=oe[he-1];break;case 44:this.$=oe[he-3].concat([{type:"option",optionText:Pe.parseMessage(oe[he-1]),signalType:Pe.LINETYPE.CRITICAL_OPTION},oe[he]]);break;case 46:this.$=oe[he-3].concat([{type:"and",parText:Pe.parseMessage(oe[he-1]),signalType:Pe.LINETYPE.PAR_AND},oe[he]]);break;case 48:this.$=oe[he-3].concat([{type:"else",altText:Pe.parseMessage(oe[he-1]),signalType:Pe.LINETYPE.ALT_ELSE},oe[he]]);break;case 49:oe[he-3].draw="participant",oe[he-3].type="addParticipant",oe[he-3].description=Pe.parseMessage(oe[he-1]),this.$=oe[he-3];break;case 50:oe[he-1].draw="participant",oe[he-1].type="addParticipant",this.$=oe[he-1];break;case 51:oe[he-3].draw="actor",oe[he-3].type="addParticipant",oe[he-3].description=Pe.parseMessage(oe[he-1]),this.$=oe[he-3];break;case 52:case 57:oe[he-1].draw="actor",oe[he-1].type="addParticipant",this.$=oe[he-1];break;case 53:oe[he-1].type="destroyParticipant",this.$=oe[he-1];break;case 54:oe[he-3].draw="participant",oe[he-3].type="addParticipant",oe[he-3].description=Pe.parseMessage(oe[he-1]),this.$=oe[he-3];break;case 55:oe[he-1].draw="participant",oe[he-1].type="addParticipant",this.$=oe[he-1];break;case 56:oe[he-3].draw="actor",oe[he-3].type="addParticipant",oe[he-3].description=Pe.parseMessage(oe[he-1]),this.$=oe[he-3];break;case 58:this.$=[oe[he-1],{type:"addNote",placement:oe[he-2],actor:oe[he-1].actor,text:oe[he]}];break;case 59:oe[he-2]=[].concat(oe[he-1],oe[he-1]).slice(0,2),oe[he-2][0]=oe[he-2][0].actor,oe[he-2][1]=oe[he-2][1].actor,this.$=[oe[he-1],{type:"addNote",placement:Pe.PLACEMENT.OVER,actor:oe[he-2].slice(0,2),text:oe[he]}];break;case 60:this.$=[oe[he-1],{type:"addLinks",actor:oe[he-1].actor,text:oe[he]}];break;case 61:this.$=[oe[he-1],{type:"addALink",actor:oe[he-1].actor,text:oe[he]}];break;case 62:this.$=[oe[he-1],{type:"addProperties",actor:oe[he-1].actor,text:oe[he]}];break;case 63:this.$=[oe[he-1],{type:"addDetails",actor:oe[he-1].actor,text:oe[he]}];break;case 66:this.$=[oe[he-2],oe[he]];break;case 67:this.$=oe[he];break;case 68:this.$=Pe.PLACEMENT.LEFTOF;break;case 69:this.$=Pe.PLACEMENT.RIGHTOF;break;case 70:this.$=[oe[he-4],oe[he-1],{type:"addMessage",from:oe[he-4].actor,to:oe[he-1].actor,signalType:oe[he-3],msg:oe[he],activate:!0},{type:"activeStart",signalType:Pe.LINETYPE.ACTIVE_START,actor:oe[he-1].actor}];break;case 71:this.$=[oe[he-4],oe[he-1],{type:"addMessage",from:oe[he-4].actor,to:oe[he-1].actor,signalType:oe[he-3],msg:oe[he]},{type:"activeEnd",signalType:Pe.LINETYPE.ACTIVE_END,actor:oe[he-4].actor}];break;case 72:this.$=[oe[he-4],oe[he-1],{type:"addMessage",from:oe[he-4].actor,to:oe[he-1].actor,signalType:oe[he-3],msg:oe[he],activate:!0,centralConnection:Pe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:Pe.LINETYPE.CENTRAL_CONNECTION,actor:oe[he-1].actor}];break;case 73:this.$=[oe[he-4],oe[he-1],{type:"addMessage",from:oe[he-4].actor,to:oe[he-1].actor,signalType:oe[he-2],msg:oe[he],activate:!1,centralConnection:Pe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:Pe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:oe[he-4].actor}];break;case 74:this.$=[oe[he-5],oe[he-1],{type:"addMessage",from:oe[he-5].actor,to:oe[he-1].actor,signalType:oe[he-3],msg:oe[he],activate:!0,centralConnection:Pe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:Pe.LINETYPE.CENTRAL_CONNECTION,actor:oe[he-1].actor},{type:"centralConnectionReverse",signalType:Pe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:oe[he-5].actor}];break;case 75:this.$=[oe[he-3],oe[he-1],{type:"addMessage",from:oe[he-3].actor,to:oe[he-1].actor,signalType:oe[he-2],msg:oe[he]}];break;case 76:this.$={type:"addParticipant",actor:oe[he-1],config:oe[he]};break;case 77:this.$=oe[he-1].trim();break;case 78:this.$={type:"addParticipant",actor:oe[he]};break;case 79:this.$=Pe.LINETYPE.SOLID_OPEN;break;case 80:this.$=Pe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=Pe.LINETYPE.SOLID;break;case 82:this.$=Pe.LINETYPE.SOLID_TOP;break;case 83:this.$=Pe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=Pe.LINETYPE.STICK_TOP;break;case 85:this.$=Pe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=Pe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=Pe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=Pe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=Pe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=Pe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=Pe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=Pe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=Pe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=Pe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=Pe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=Pe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=Pe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=Pe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=Pe.LINETYPE.DOTTED;break;case 100:this.$=Pe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=Pe.LINETYPE.SOLID_CROSS;break;case 102:this.$=Pe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=Pe.LINETYPE.SOLID_POINT;break;case 104:this.$=Pe.LINETYPE.DOTTED_POINT;break;case 105:this.$=Pe.parseMessage(oe[he].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},t(F,[2,5]),{9:48,13:13,14:u,15:h,18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},t(F,[2,7]),t(F,[2,8]),t(F,[2,9]),t(F,[2,15]),{13:49,51:I,53:N,54:C},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:B},{23:56,73:B},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(F,[2,30]),t(F,[2,31]),{33:[1,62]},{35:[1,63]},t(F,[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:G},{23:75,55:76,73:G},{23:77,73:B},{69:78,72:[1,79],78:$,79:V,80:X,81:Q,82:H,83:ie,84:Y,85:le,86:ee,87:J,88:te,89:Z,90:xe,91:de,92:Se,93:Me,94:ke,95:we,96:_e,97:$e,98:fe,99:Ke,100:Te,101:Be,102:Ue,103:Ge},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:B},{23:111,73:B},{23:112,73:B},{23:113,73:B},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ne),t(F,[2,6]),t(F,[2,16]),t(We,[2,10],{11:114}),t(F,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(F,[2,22]),{5:[1,118]},{5:[1,119]},t(F,[2,25]),t(F,[2,26]),t(F,[2,27]),t(F,[2,28]),t(F,[2,29]),t(F,[2,32]),t(F,[2,33]),t(j,i,{7:120}),t(j,i,{7:121}),t(j,i,{7:122}),t(ae,i,{41:123,7:124}),t(U,i,{43:125,7:126}),t(U,i,{7:126,43:127}),t(ce,i,{46:128,7:129}),t(j,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(z,Ne,{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:B},{69:146,78:$,79:V,80:X,81:Q,82:H,83:ie,84:Y,85:le,86:ee,87:J,88:te,89:Z,90:xe,91:de,92:Se,93:Me,94:ke,95:we,96:_e,97:$e,98:fe,99:Ke,100:Te,101:Be,102:Ue,103:Ge},t(ne,[2,79]),t(ne,[2,80]),t(ne,[2,81]),t(ne,[2,82]),t(ne,[2,83]),t(ne,[2,84]),t(ne,[2,85]),t(ne,[2,86]),t(ne,[2,87]),t(ne,[2,88]),t(ne,[2,89]),t(ne,[2,90]),t(ne,[2,91]),t(ne,[2,92]),t(ne,[2,93]),t(ne,[2,94]),t(ne,[2,95]),t(ne,[2,96]),t(ne,[2,97]),t(ne,[2,98]),t(ne,[2,99]),t(ne,[2,100]),t(ne,[2,101]),t(ne,[2,102]),t(ne,[2,103]),t(ne,[2,104]),{23:147,73:B},{23:149,60:148,73:B},{73:[2,68]},{73:[2,69]},{58:150,104:se},{58:152,104:se},{58:153,104:se},{58:154,104:se},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:I,53:N,54:C},{5:[1,160]},t(F,[2,20]),t(F,[2,21]),t(F,[2,23]),t(F,[2,24]),{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,161],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,162],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,163],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{17:[1,164]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,47],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,50:[1,165],51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{17:[1,166]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,45],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,49:[1,167],51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[2,43],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,48:[1,170],51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{4:a,5:s,8:8,9:10,10:l,13:13,14:u,15:h,17:[1,171],18:16,19:f,22:d,23:41,24:p,25:20,26:21,27:22,28:23,29:24,30:m,31:g,32:y,34:v,36:x,37:b,38:T,39:E,40:w,42:k,44:S,45:A,47:L,51:I,53:N,54:C,56:_,61:D,62:M,63:R,64:P,73:B},{16:[1,172]},t(F,[2,50]),{16:[1,173]},t(F,[2,55]),t(z,[2,76]),{76:[1,174]},{16:[1,175]},t(F,[2,52]),{16:[1,176]},t(F,[2,57]),t(F,[2,53]),{23:177,73:B},{23:178,73:B},{23:179,73:B},{58:180,104:se},{23:181,72:[1,182],73:B},{58:183,104:se},{58:184,104:se},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(F,[2,17]),t(We,[2,11]),{13:186,51:I,53:N,54:C},t(We,[2,13]),t(We,[2,14]),t(F,[2,19]),t(F,[2,35]),t(F,[2,36]),t(F,[2,37]),t(F,[2,38]),{16:[1,187]},t(F,[2,39]),{16:[1,188]},t(F,[2,40]),t(F,[2,41]),{16:[1,189]},t(F,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:se},{58:196,104:se},{58:197,104:se},{5:[2,75]},{58:198,104:se},{23:199,73:B},{5:[2,58]},{5:[2,59]},{23:200,73:B},t(We,[2,12]),t(ae,i,{7:124,41:201}),t(U,i,{7:126,43:202}),t(ce,i,{7:129,46:203}),t(F,[2,49]),t(F,[2,54]),t(z,[2,77]),t(F,[2,51]),t(F,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:se},{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:o(function(ge,Ie){if(Ie.recoverable)this.trace(ge);else{var qe=new Error(ge);throw qe.hash=Ie,qe}},"parseError"),parse:o(function(ge){var Ie=this,qe=[0],Pe=[],Xe=[null],oe=[],et=this.table,he="",ot=0,Dt=0,It=0,wt=2,Rt=1,it=oe.slice.call(arguments,1),at=Object.create(this.lexer),Ct={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(Ct.yy[yt]=this.yy[yt]);at.setInput(ge,Ct.yy),Ct.yy.lexer=at,Ct.yy.parser=this,typeof at.yylloc>"u"&&(at.yylloc={});var dt=at.yylloc;oe.push(dt);var Ht=at.options&&at.options.ranges;typeof Ct.yy.parseError=="function"?this.parseError=Ct.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function cr(Cr){qe.length=qe.length-2*Cr,Xe.length=Xe.length-Cr,oe.length=oe.length-Cr}o(cr,"popStack");function Kt(){var Cr;return Cr=Pe.pop()||at.lex()||Rt,typeof Cr!="number"&&(Cr instanceof Array&&(Pe=Cr,Cr=Pe.pop()),Cr=Ie.symbols_[Cr]||Cr),Cr}o(Kt,"lex");for(var kr,ur,tr,hr,_n,mt,Le={},ct,St,Mr,tn;;){if(tr=qe[qe.length-1],this.defaultActions[tr]?hr=this.defaultActions[tr]:((kr===null||typeof kr>"u")&&(kr=Kt()),hr=et[tr]&&et[tr][kr]),typeof hr>"u"||!hr.length||!hr[0]){var cn="";tn=[];for(ct in et[tr])this.terminals_[ct]&&ct>wt&&tn.push("'"+this.terminals_[ct]+"'");at.showPosition?cn="Parse error on line "+(ot+1)+`: +`+at.showPosition()+` +Expecting `+tn.join(", ")+", got '"+(this.terminals_[kr]||kr)+"'":cn="Parse error on line "+(ot+1)+": Unexpected "+(kr==Rt?"end of input":"'"+(this.terminals_[kr]||kr)+"'"),this.parseError(cn,{text:at.match,token:this.terminals_[kr]||kr,line:at.yylineno,loc:dt,expected:tn})}if(hr[0]instanceof Array&&hr.length>1)throw new Error("Parse Error: multiple actions possible at state: "+tr+", token: "+kr);switch(hr[0]){case 1:qe.push(kr),Xe.push(at.yytext),oe.push(at.yylloc),qe.push(hr[1]),kr=null,ur?(kr=ur,ur=null):(Dt=at.yyleng,he=at.yytext,ot=at.yylineno,dt=at.yylloc,It>0&&It--);break;case 2:if(St=this.productions_[hr[1]][1],Le.$=Xe[Xe.length-St],Le._$={first_line:oe[oe.length-(St||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(St||1)].first_column,last_column:oe[oe.length-1].last_column},Ht&&(Le._$.range=[oe[oe.length-(St||1)].range[0],oe[oe.length-1].range[1]]),mt=this.performAction.apply(Le,[he,Dt,ot,Ct.yy,hr[1],Xe,oe].concat(it)),typeof mt<"u")return mt;St&&(qe=qe.slice(0,-1*St*2),Xe=Xe.slice(0,-1*St),oe=oe.slice(0,-1*St)),qe.push(this.productions_[hr[1]][0]),Xe.push(Le.$),oe.push(Le._$),Mr=et[qe[qe.length-2]][qe[qe.length-1]],qe.push(Mr);break;case 3:return!0}}return!0},"parse")},pe=(function(){var Re={EOF:1,parseError:o(function(Ie,qe){if(this.yy.parser)this.yy.parser.parseError(Ie,qe);else throw new Error(Ie)},"parseError"),setInput:o(function(ge,Ie){return this.yy=Ie||this.yy||{},this._input=ge,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 ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var Ie=ge.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},"input"),unput:o(function(ge){var Ie=ge.length,qe=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Pe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),qe.length-1&&(this.yylineno-=qe.length-1);var Xe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:qe?(qe.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-qe.length].length-qe[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[Xe[0],Xe[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(ge){this.unput(this.match.slice(ge))},"less"),pastInput:o(function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ge=this.match;return ge.length<20&&(ge+=this._input.substr(0,20-ge.length)),(ge.substr(0,20)+(ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ge=this.pastInput(),Ie=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+` +`+Ie+"^"},"showPosition"),test_match:o(function(ge,Ie){var qe,Pe,Xe;if(this.options.backtrack_lexer&&(Xe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Xe.yylloc.range=this.yylloc.range.slice(0))),Pe=ge[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ge[0].length},this.yytext+=ge[0],this.match+=ge[0],this.matches=ge,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(ge[0].length),this.matched+=ge[0],qe=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),qe)return qe;if(this._backtrack){for(var oe in Xe)this[oe]=Xe[oe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,Ie,qe,Pe;this._more||(this.yytext="",this.match="");for(var Xe=this._currentRules(),oe=0;oeIe[0].length)){if(Ie=qe,Pe=oe,this.options.backtrack_lexer){if(ge=this.test_match(qe,Xe[oe]),ge!==!1)return ge;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(ge=this.test_match(Ie,Xe[Pe]),ge!==!1?ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ie=this.next();return Ie||this.lex()},"lex"),begin:o(function(Ie){this.conditionStack.push(Ie)},"begin"),popState:o(function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},"topState"),pushState:o(function(Ie){this.begin(Ie)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Ie,qe,Pe,Xe){var oe=Xe;switch(Pe){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;break;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;break;case 10:return this.popState(),this.popState(),77;break;case 11:return qe.yytext=qe.yytext.trim(),73;break;case 12:return qe.yytext=qe.yytext.trim(),this.begin("ALIAS"),73;break;case 13:return qe.yytext=qe.yytext.trim(),this.popState(),73;break;case 14:return this.popState(),10;break;case 15:return this.begin("LINE"),15;break;case 16:return this.begin("ID"),51;break;case 17:return this.begin("ID"),53;break;case 18:return 14;case 19:return this.begin("ID"),54;break;case 20:return this.popState(),this.popState(),this.begin("LINE"),52;break;case 21:return this.popState(),this.popState(),5;break;case 22:return this.begin("LINE"),37;break;case 23:return this.begin("LINE"),38;break;case 24:return this.begin("LINE"),39;break;case 25:return this.begin("LINE"),40;break;case 26:return this.begin("LINE"),50;break;case 27:return this.begin("LINE"),42;break;case 28:return this.begin("LINE"),44;break;case 29:return this.begin("LINE"),49;break;case 30:return this.begin("LINE"),45;break;case 31:return this.begin("LINE"),48;break;case 32:return this.begin("LINE"),47;break;case 33:return this.popState(),16;break;case 34:return 17;case 35:return 67;case 36:return 68;case 37:return 61;case 38:return 62;case 39:return 63;case 40:return 64;case 41:return 59;case 42:return 56;case 43:return this.begin("ID"),22;break;case 44:return this.begin("ID"),24;break;case 45:return 30;case 46:return 31;case 47:return this.begin("acc_title"),32;break;case 48:return this.popState(),"acc_title_value";break;case 49:return this.begin("acc_descr"),34;break;case 50:return this.popState(),"acc_descr_value";break;case 51:this.begin("acc_descr_multiline");break;case 52:this.popState();break;case 53:return"acc_descr_multiline_value";case 54:return 6;case 55:return 19;case 56:return 21;case 57:return 66;case 58:return 5;case 59:return qe.yytext=qe.yytext.trim(),73;break;case 60:return 80;case 61:return 97;case 62:return 98;case 63:return 99;case 64:return 78;case 65:return 79;case 66:return 100;case 67:return 101;case 68:return 102;case 69:return 103;case 70:return 85;case 71:return 86;case 72:return 87;case 73:return 88;case 74:return 93;case 75:return 94;case 76:return 95;case 77:return 96;case 78:return 81;case 79:return 82;case 80:return 83;case 81:return 84;case 82:return 89;case 83:return 90;case 84:return 91;case 85:return 92;case 86:return 104;case 87:return 104;case 88:return 70;case 89:return 71;case 90:return 72;case 91:return 5;case 92:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \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,/^(?: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:[52,53],inclusive:!1},acc_descr:{rules:[50],inclusive:!1},acc_title:{rules:[48],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14],inclusive:!1},ALIAS:{rules:[2,3,20,21],inclusive:!1},LINE:{rules:[2,3,33],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,15,16,17,18,19,22,23,24,25,26,27,28,29,30,31,32,34,35,36,37,38,39,40,41,42,43,44,45,46,47,49,51,54,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],inclusive:!0}}};return Re})();be.lexer=pe;function me(){this.yy={}}return o(me,"Parser"),me.prototype=be,be.Parser=me,new me})();tU.parser=tU;_we=tU});var Olt,Plt,Blt,p3,G7,rU=O(()=>{"use strict";jt();ib();xt();fq();Ur();si();Olt={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},Plt={FILLED:0,OPEN:1},Blt={LEFTOF:0,RIGHTOF:1,OVER:2},p3={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},G7=class{constructor(){this.state=new Rv(()=>({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=Lr;this.setAccDescription=Pr;this.setDiagramTitle=zr;this.getAccTitle=Or;this.getAccDescription=Br;this.getDiagramTitle=Fr;this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(ve().wrap),this.LINETYPE=Olt,this.ARROWTYPE=Plt,this.PLACEMENT=Blt}static{o(this,"SequenceDB")}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,l;if(a!==void 0){let h;a.includes(` `)?h=a+` `:h=`{ `+a+` -}`,l=Wf(h,{schema:Uf})}i=l?.type??i;let u=this.state.records.actors.get(e);if(u){if(this.state.records.currentBox&&u.box&&this.state.records.currentBox!==u.box)throw new Error(`A same participant should only be defined in one Box: ${u.name} can't be in '${u.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=u.box?u.box:this.state.records.currentBox,u.box=s,u&&r===u.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){let h=this.state.records.actors.get(this.state.records.prevActor);h&&(h.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();let r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:xe().sequence?.wrap??!1}clear(){this.state.reset(),Mr()}parseMessage(e){let r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return X.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){let r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e),n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{let l=new Option().style;l.color=n,l.color!==n&&(n="transparent",i=e.trim())}let{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?fr(s,xe()):void 0,color:n,wrap:a}}addNote(e,r,n){let i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){let n=this.getActor(e);try{let i=fr(r.text,xe());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");let a=JSON.parse(i);this.insertLinks(n,a)}catch(i){X.error("error while parsing actor link text",i)}}addALink(e,r){let n=this.getActor(e);try{let i={},a=fr(r.text,xe()),s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");let l=a.slice(0,s-1).trim(),u=a.slice(s+1).trim();i[l]=u,this.insertLinks(n,i)}catch(i){X.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(let n in r)e.links[n]=r[n]}addProperties(e,r){let n=this.getActor(e);try{let i=fr(r.text,xe()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){X.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(let n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){let n=this.getActor(e),i=document.getElementById(r.text);try{let a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){X.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":zr(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 xe().sequence}}});var rot,H3e,Y3e=I(()=>{"use strict";rot=o(t=>`.actor { +}`,l=Kf(h,{schema:Xf})}i=l?.type??i,l?.alias&&(!n||n.text===r)&&(n={text:l.alias,wrap:n?.wrap,type:i});let u=this.state.records.actors.get(e);if(u){if(this.state.records.currentBox&&u.box&&this.state.records.currentBox!==u.box)throw new Error(`A same participant should only be defined in one Box: ${u.name} can't be in '${u.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=u.box?u.box:this.state.records.currentBox,u.box=s,u&&r===u.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){let h=this.state.records.actors.get(this.state.records.prevActor);h&&(h.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},u}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();let r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:ve().sequence?.wrap??!1}clear(){this.state.reset(),_r()}parseMessage(e){let r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return K.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){let r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e),n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{let l=new Option().style;l.color=n,l.color!==n&&(n="transparent",i=e.trim())}let{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?wr(s,ve()):void 0,color:n,wrap:a}}addNote(e,r,n){let i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){let n=this.getActor(e);try{let i=wr(r.text,ve());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");let a=JSON.parse(i);this.insertLinks(n,a)}catch(i){K.error("error while parsing actor link text",i)}}addALink(e,r){let n=this.getActor(e);try{let i={},a=wr(r.text,ve()),s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");let l=a.slice(0,s-1).trim(),u=a.slice(s+1).trim();i[l]=u,this.insertLinks(n,i)}catch(i){K.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(let n in r)e.links[n]=r[n]}addProperties(e,r){let n=this.getActor(e);try{let i=wr(r.text,ve()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){K.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(let n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){let n=this.getActor(e),i=document.getElementById(r.text);try{let a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){K.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"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":Lr(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return ve().sequence}}});var Flt,Rwe,Lwe=O(()=>{"use strict";Flt=o(t=>`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; } @@ -1789,25 +1832,25 @@ Expecting `+Ye.join(", ")+", got '"+(this.terminals_[ue]||ue)+"'":xt="Parse erro stroke-width: 2px; } -`,"getStyles"),H3e=rot});var Vq,up,fp,dp,D7,hp,i3,not,R7,a3,Um,j3e,jr,qq,iot,aot,sot,oot,lot,cot,uot,hot,fot,dot,pot,mot,got,X3e,yot,vot,xot,bot,Tot,wot,kot,K3e,Sot,tf,Eot,Ri,Q3e=I(()=>{"use strict";Vq=Aa(Fg(),1);ti();sr();wr();Cx();up=36,fp="actor-top",dp="actor-bottom",D7="actor-box",hp="actor-man",i3=o(function(t,e){return t0(t,e)},"drawRect"),not=o(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,Vq.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),Eot(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),R7=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),a3=o(async function(t,e,r=null){let n=t.append("foreignObject"),i=await vf(e.text,tr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-s.height))}return[n]},"drawKatex"),Um=o(function(t,e){let r=0,n=0,i=e.text.split(nt.lineBreakRegex),[a,s]=ru(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||fN;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),j3e=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Um(t,e),n},"drawLabel"),jr=-1,qq=o((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),iot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(jr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R7(`actor${jr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=jr,e.links!=null&&u.attr("id","root-"+jr));let h=Na();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${dp}`:f+=` ${fp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=i3(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?H5(u,h.x+h.width-20,h.y+10,m.substr(1)):W5(u,h.x+h.width-20,h.y+10,m)}tf(r,Nn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${D7}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),aot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(jr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R7(`actor${jr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=jr,e.links!=null&&u.attr("id","root-"+jr));let h=Na();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${dp}`:f+=` ${fp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=6,p={...h,x:h.x+-d,y:h.y+ +d,class:"actor"},m=i3(u,h);if(i3(u,p),e.rectData=h,e.properties?.icon){let y=e.properties.icon.trim();y.charAt(0)==="@"?H5(u,h.x+h.width-20,h.y+10,y.substr(1)):W5(u,h.x+h.width-20,h.y+10,y)}tf(r,Nn(e.description))(e.description,u,h.x-d,h.y+d,h.width,h.height,{class:`actor ${D7}`},r);let g=e.height;if(m.node){let y=m.node().getBBox();e.height=y.height,g=y.height}return g},"drawActorTypeCollections"),sot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower(),u=l;n||(jr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R7(`actor${jr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=jr,e.links!=null&&u.attr("id","root-"+jr));let h=Na(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${dp}`:f+=` ${fp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=h.height/2,p=d/(2.5+h.height/50),m=u.append("g"),g=u.append("g");if(m.append("path").attr("d",`M ${h.x},${h.y+d} +`,"getStyles"),Rwe=Flt});var nU,pp,mp,gp,V7,Ym,m3,$lt,q7,g3,jm,Nwe,Qr,iU,zlt,Glt,Vlt,qlt,Ult,Wlt,Hlt,Ylt,jlt,Xlt,Klt,Qlt,Zlt,Mwe,Jlt,ect,tct,rct,nct,ict,act,Iwe,sct,lf,oct,lct,cct,uct,hct,Qn,Owe=O(()=>{"use strict";nU=Ra(Wg(),1);$r();ar();Ur();a0();pp=36,mp="actor-top",gp="actor-bottom",V7="actor-box",Ym="actor-man",m3=o(function(t,e){return i0(t,e)},"drawRect"),$lt=o(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,nU.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),oct(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),q7=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),g3=o(async function(t,e,r=null){let n=t.append("foreignObject"),i=await gg(e.text,Zt()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-s.height))}return[n]},"drawKatex"),jm=o(function(t,e){let r=0,n=0,i=e.text.split(st.lineBreakRegex),[a,s]=Uo(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||AN;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),Nwe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,jm(t,e),n},"drawLabel"),Qr=-1,iU=o((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),zlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(Qr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",q7(`actor${Qr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Qr,e.links!=null&&u.attr("id","root-"+Qr));let h=Oa();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${gp}`:f+=` ${mp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=m3(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?ak(u,h.x+h.width-20,h.y+10,m.substr(1)):ik(u,h.x+h.width-20,h.y+10,m)}lf(r,Jn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${V7}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),Glt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(Qr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",q7(`actor${Qr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Qr,e.links!=null&&u.attr("id","root-"+Qr));let h=Oa();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${gp}`:f+=` ${mp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=6,p={...h,x:h.x+-d,y:h.y+ +d,class:"actor"},m=m3(u,h);if(m3(u,p),e.rectData=h,e.properties?.icon){let y=e.properties.icon.trim();y.charAt(0)==="@"?ak(u,h.x+h.width-20,h.y+10,y.substr(1)):ik(u,h.x+h.width-20,h.y+10,y)}lf(r,Jn(e.description))(e.description,u,h.x-d,h.y+d,h.width,h.height,{class:`actor ${V7}`},r);let g=e.height;if(m.node){let y=m.node().getBBox();e.height=y.height,g=y.height}return g},"drawActorTypeCollections"),Vlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower(),u=l;n||(Qr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",q7(`actor${Qr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Qr,e.links!=null&&u.attr("id","root-"+Qr));let h=Oa(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${gp}`:f+=` ${mp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name;let d=h.height/2,p=d/(2.5+h.height/50),m=u.append("g"),g=u.append("g");if(m.append("path").attr("d",`M ${h.x},${h.y+d} a ${p},${d} 0 0 0 0,${h.height} h ${h.width-2*p} a ${p},${d} 0 0 0 0,-${h.height} Z `).attr("class",f),g.append("path").attr("d",`M ${h.x},${h.y+d} - a ${p},${d} 0 0 0 0,${h.height}`).attr("stroke","#666").attr("stroke-width","1px").attr("class",f),m.attr("transform",`translate(${p}, ${-(h.height/2)})`),g.attr("transform",`translate(${h.width-p}, ${-h.height/2})`),e.rectData=h,e.properties?.icon){let x=e.properties.icon.trim(),b=h.x+h.width-20,T=h.y+10;x.charAt(0)==="@"?H5(u,b,T,x.substr(1)):W5(u,b,T,x)}tf(r,Nn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${D7}`},r);let y=e.height,v=m.select("path:last-child");if(v.node()){let x=v.node().getBBox();e.height=x.height,y=x.height}return y},"drawActorTypeQueue"),oot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower();n||(jr++,l.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=jr);let u=t.append("g"),h=hp;n?h+=` ${dp}`:h+=` ${fp}`,u.attr("class",h),u.attr("name",e.name);let f=Na();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+30,m=18;u.append("defs").append("marker").attr("id","filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("fill","#eaeaf7").attr("stroke","#666").attr("stroke-width",1.2),u.append("line").attr("marker-end","url(#filled-head-control)").attr("transform",`translate(${d}, ${p-m})`);let g=u.node().getBBox();return e.height=g.height+2*(r?.sequence?.labelBoxHeight??0),tf(r,Nn(e.description))(e.description,u,f.x,f.y+m+(n?5:10),f.width,f.height,{class:`actor ${hp}`},r),e.height},"drawActorTypeControl"),lot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower(),u=t.append("g"),h=hp;n?h+=` ${dp}`:h+=` ${fp}`,u.attr("class",h),u.attr("name",e.name);let f=Na();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+(n?10:25),m=18;u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("width",e.width).attr("height",e.height),u.append("line").attr("x1",d-m).attr("x2",d+m).attr("y1",p+m).attr("y2",p+m).attr("stroke","#333").attr("stroke-width",2);let g=u.node().getBBox();return e.height=g.height+(r?.sequence?.labelBoxHeight??0),n||(jr++,l.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=jr),tf(r,Nn(e.description))(e.description,u,f.x,f.y+(n?(p-i+m-5)/2:(p+m-i)/2),f.width,f.height,{class:`actor ${hp}`},r),n?u.attr("transform",`translate(0, ${m/2})`):u.attr("transform",`translate(0, ${m/2})`),e.height},"drawActorTypeEntity"),cot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height+2*r.boxTextMargin,l=t.append("g").lower(),u=l;n||(jr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R7(`actor${jr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=jr,e.links!=null&&u.attr("id","root-"+jr));let h=Na(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${dp}`:f+=` ${fp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name,h.x=e.x,h.y=i;let d=h.width/4,p=h.width/4,m=d/2,g=m/(2.5+d/50),y=u.append("g"),v=` + a ${p},${d} 0 0 0 0,${h.height}`).attr("stroke","#666").attr("stroke-width","1px").attr("class",f),m.attr("transform",`translate(${p}, ${-(h.height/2)})`),g.attr("transform",`translate(${h.width-p}, ${-h.height/2})`),e.rectData=h,e.properties?.icon){let x=e.properties.icon.trim(),b=h.x+h.width-20,T=h.y+10;x.charAt(0)==="@"?ak(u,b,T,x.substr(1)):ik(u,b,T,x)}lf(r,Jn(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${V7}`},r);let y=e.height,v=m.select("path:last-child");if(v.node()){let x=v.node().getBBox();e.height=x.height,y=x.height}return y},"drawActorTypeQueue"),qlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower();n||(Qr++,l.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Qr);let u=t.append("g"),h=Ym;n?h+=` ${gp}`:h+=` ${mp}`,u.attr("class",h),u.attr("name",e.name);let f=Oa();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+32,m=22;u.append("defs").append("marker").attr("id","filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("fill","#eaeaf7").attr("stroke","#666").attr("stroke-width",1.2),u.append("line").attr("marker-end","url(#filled-head-control)").attr("transform",`translate(${d}, ${p-m})`);let g=u.node().getBBox();return e.height=g.height+2*(r?.sequence?.labelBoxHeight??0),lf(r,Jn(e.description))(e.description,u,f.x,f.y+m+(n?5:12),f.width,f.height,{class:`actor ${Ym}`},r),e.height},"drawActorTypeControl"),Ult=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+75,l=t.append("g").lower(),u=t.append("g"),h="actor";n?h+=` ${gp}`:h+=` ${mp}`,u.attr("class",h),u.attr("name",e.name);let f=Oa();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor";let d=e.x+e.width/2,p=i+(n?10:25),m=22;u.append("circle").attr("cx",d).attr("cy",p).attr("r",m).attr("width",e.width).attr("height",e.height),u.append("line").attr("x1",d-m).attr("x2",d+m).attr("y1",p+m).attr("y2",p+m).attr("stroke-width",2);let g=u.node().getBBox();return e.height=g.height+(r?.sequence?.labelBoxHeight??0),n||(Qr++,l.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Qr),lf(r,Jn(e.description))(e.description,u,f.x,f.y+(n?15:30),f.width,f.height,{class:`actor ${Ym}`},r),n?u.attr("transform",`translate(0, ${m})`):u.attr("transform",`translate(0, ${m/2-5})`),e.height},"drawActorTypeEntity"),Wlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height+2*r.boxTextMargin,l=t.append("g").lower(),u=l;n||(Qr++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",q7(`actor${Qr}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Qr,e.links!=null&&u.attr("id","root-"+Qr));let h=Oa(),f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${gp}`:f+=` ${mp}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.name=e.name,h.x=e.x,h.y=i;let d=h.width/3,p=h.width/3,m=d/2,g=m/(2.5+d/50),y=u.append("g"),v=` M ${h.x},${h.y+g} a ${m},${g} 0 0 0 ${d},0 a ${m},${g} 0 0 0 -${d},0 l 0,${p-2*g} a ${m},${g} 0 0 0 ${d},0 l 0,-${p-2*g} -`;y.append("path").attr("d",v).attr("fill","#eaeaea").attr("stroke","#000").attr("stroke-width",1).attr("class",f),n?y.attr("transform",`translate(${d*1.5}, ${h.height/4-2*g})`):y.attr("transform",`translate(${d*1.5}, ${(h.height+g)/4})`),e.rectData=h,tf(r,Nn(e.description))(e.description,u,h.x,h.y+(n?(h.height+p)/4:(h.height+g)/2),h.width,h.height,{class:`actor ${D7}`},r);let x=y.select("path:last-child");if(x.node()){let b=x.node().getBBox();e.height=b.height+(r.sequence.labelBoxHeight??0)}return e.height},"drawActorTypeDatabase"),uot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=30,u=t.append("g").lower();n||(jr++,u.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=jr);let h=t.append("g"),f=hp;n?f+=` ${dp}`:f+=` ${fp}`,h.attr("class",f),h.attr("name",e.name);let d=Na();d.x=e.x,d.y=i,d.fill="#eaeaea",d.width=e.width,d.height=e.height,d.class="actor",h.append("line").attr("id","actor-man-torso"+jr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+10).attr("x2",e.x+e.width/2-15).attr("y2",i+10),h.append("line").attr("id","actor-man-arms"+jr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+0).attr("x2",e.x+e.width/2-l*2.5).attr("y2",i+20),h.append("circle").attr("cx",e.x+e.width/2).attr("cy",i+10).attr("r",l);let p=h.node().getBBox();return e.height=p.height+(r.sequence.labelBoxHeight??0),tf(r,Nn(e.description))(e.description,h,d.x,d.y+(n?l/2-4:l/2+3),d.width,d.height,{class:`actor ${hp}`},r),n?h.attr("transform",`translate(0,${l/2+7})`):h.attr("transform",`translate(0,${l/2+7})`),e.height},"drawActorTypeBoundary"),hot=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=t.append("g").lower();n||(jr++,l.append("line").attr("id","actor"+jr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=jr);let u=t.append("g"),h=hp;n?h+=` ${dp}`:h+=` ${fp}`,u.attr("class",h),u.attr("name",e.name);let f=Na();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+jr).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+jr).attr("x1",a-up/2).attr("y1",i+33).attr("x2",a+up/2).attr("y2",i+33),u.append("line").attr("x1",a-up/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+up/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,tf(r,Nn(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${hp}`},r),e.height},"drawActorTypeActor"),fot=o(async function(t,e,r,n){switch(e.type){case"actor":return await hot(t,e,r,n);case"participant":return await iot(t,e,r,n);case"boundary":return await uot(t,e,r,n);case"control":return await oot(t,e,r,n);case"entity":return await lot(t,e,r,n);case"database":return await cot(t,e,r,n);case"collections":return await aot(t,e,r,n);case"queue":return await sot(t,e,r,n)}},"drawActor"),dot=o(function(t,e,r){let i=t.append("g");X3e(i,e),e.name&&tf(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),pot=o(function(t){return t.append("g")},"anchorElement"),mot=o(function(t,e,r,n,i){let a=Na(),s=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,i3(s,a)},"drawActivation"),got=o(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=o(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=Ex();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=s||20,m.textMargin=a,m.class="labelText",j3e(d,m),m=K3e(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=Nn(m.text)?await a3(d,m,e):Um(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,Nn(m.text)?(e.starty=e.sections[y].y,await a3(d,m,e)):Um(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,T)=>b+T));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),X3e=o(function(t,e){U5(t,e)},"drawBackgroundRect"),yot=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),vot=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),xot=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),bot=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),Tot=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),wot=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),kot=o(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),K3e=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),Sot=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),tf=(function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=ru(m),b=a.split(nt.lineBreakRegex);for(let T=0;T{let s=Wm(Oe),l=a.actorKeys.reduce((d,p)=>d+=t.get(p).width+(t.get(p).margin||0),0),u=Oe.boxMargin*8;l+=u,l-=2*Oe.boxTextMargin,a.wrap&&(a.name=jt.wrapLabel(a.name,l-2*Oe.wrapPadding,s));let h=jt.calculateTextDimensions(a.name,s);i=nt.getMax(h.height,i);let f=nt.getMax(l,h.width+2*Oe.wrapPadding);if(a.margin=Oe.boxTextMargin,la.textMaxHeight=i),nt.getMax(n,Oe.height)}var Oe,ct,Cot,Wm,Dv,Uq,_ot,Dot,Wq,J3e,ewe,L7,Z3e,Lot,Mot,Oot,Pot,Bot,twe,rwe=I(()=>{"use strict";kr();Q3e();gt();wr();wr();Cx();Qt();tg();sr();Fi();Gq();Oe={},ct={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ewe(xe())},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=this,a=0;function s(l){return o(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Oe.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Oe.boxMargin,Math.max),i.updateVal(ct.data,"startx",t-f*Oe.boxMargin,Math.min),i.updateVal(ct.data,"stopx",r+f*Oe.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Oe.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Oe.boxMargin,Math.max),i.updateVal(ct.data,"starty",e-f*Oe.boxMargin,Math.min),i.updateVal(ct.data,"stopy",n+f*Oe.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,n){let i=nt.getMin(t,r),a=nt.getMax(t,r),s=nt.getMin(e,n),l=nt.getMax(e,n);this.updateVal(ct.data,"startx",i,Math.min),this.updateVal(ct.data,"starty",s,Math.min),this.updateVal(ct.data,"stopx",a,Math.max),this.updateVal(ct.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),newActivation:o(function(t,e,r){let n=r.get(t.from),i=L7(t.from).length||0,a=n.x+n.width/2+(i-1)*Oe.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Oe.activationWidth,stopy:void 0,actor:t.from,anchored:Ri.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:ct.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=nt.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},Cot=o(async function(t,e){ct.bumpVerticalPos(Oe.boxMargin),e.height=Oe.boxMargin,e.starty=ct.getVerticalPos();let r=Na();r.x=e.startx,r.y=e.starty,r.width=e.width||Oe.width,r.class="note";let n=t.append("g"),i=Ri.drawRect(n,r),a=Ex();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Oe.noteFontFamily,a.fontSize=Oe.noteFontSize,a.fontWeight=Oe.noteFontWeight,a.anchor=Oe.noteAlign,a.textMargin=Oe.noteMargin,a.valign="center";let s=Nn(a.text)?await a3(n,a):Um(n,a),l=Math.round(s.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Oe.noteMargin),e.height+=l+2*Oe.noteMargin,ct.bumpVerticalPos(l+2*Oe.noteMargin),e.stopy=e.starty+l+2*Oe.noteMargin,e.stopx=e.startx+r.width,ct.insert(e.startx,e.starty,e.stopx,e.stopy),ct.models.addNote(e)},"drawNote"),Wm=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),Dv=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),Uq=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(Aot,"boundMessage");_ot=o(async function(t,e,r,n){let{startx:i,stopx:a,starty:s,message:l,type:u,sequenceIndex:h,sequenceVisible:f}=e,d=jt.calculateTextDimensions(l,Wm(Oe)),p=Ex();p.x=i,p.y=s+10,p.width=a-i,p.class="messageText",p.dy="1em",p.text=l,p.fontFamily=Oe.messageFontFamily,p.fontSize=Oe.messageFontSize,p.fontWeight=Oe.messageFontWeight,p.anchor=Oe.messageAlign,p.valign="center",p.textMargin=Oe.wrapPadding,p.tspan=!1,Nn(p.text)?await a3(t,p,{startx:i,stopx:a,starty:r}):Um(t,p);let m=d.width,g;i===a?Oe.rightAngles?g=t.append("path").attr("d",`M ${i},${r} H ${i+nt.getMax(Oe.width/2,m/2)} V ${r+25} H ${i}`):g=t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(g=t.append("line"),g.attr("x1",i),g.attr("y1",r),g.attr("x2",a),g.attr("y2",r)),u===n.db.LINETYPE.DOTTED||u===n.db.LINETYPE.DOTTED_CROSS||u===n.db.LINETYPE.DOTTED_POINT||u===n.db.LINETYPE.DOTTED_OPEN||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let y="";Oe.arrowMarkerAbsolute&&(y=Np(!0)),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(u===n.db.LINETYPE.SOLID||u===n.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+y+"#arrowhead)"),(u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(g.attr("marker-start","url("+y+"#arrowhead)"),g.attr("marker-end","url("+y+"#arrowhead)")),(u===n.db.LINETYPE.SOLID_POINT||u===n.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+y+"#filled-head)"),(u===n.db.LINETYPE.SOLID_CROSS||u===n.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+y+"#crosshead)"),(f||Oe.showSequenceNumbers)&&((u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(ii&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),ewe=o(function(t){$n(Oe,t),t.fontFamily&&(Oe.actorFontFamily=Oe.noteFontFamily=Oe.messageFontFamily=t.fontFamily),t.fontSize&&(Oe.actorFontSize=Oe.noteFontSize=Oe.messageFontSize=t.fontSize),t.fontWeight&&(Oe.actorFontWeight=Oe.noteFontWeight=Oe.messageFontWeight=t.fontWeight)},"setConf"),L7=o(function(t){return ct.activations.filter(function(e){return e.actor===t})},"actorActivations"),Z3e=o(function(t,e){let r=e.get(t),n=L7(t),i=n.reduce(function(s,l){return nt.getMin(s,l.startx)},r.x+r.width/2-1),a=n.reduce(function(s,l){return nt.getMax(s,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");o(Wu,"adjustLoopHeightForWrap");o(Rot,"adjustCreatedDestroyedData");Lot=o(async function(t,e,r,n){let{securityLevel:i,sequence:a}=xe();Oe=a;let s;i==="sandbox"&&(s=He("#i"+e));let l=i==="sandbox"?He(s.nodes()[0].contentDocument.body):He("body"),u=i==="sandbox"?s.nodes()[0].contentDocument:document;ct.init(),X.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):He(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),T=await Not(f,y,n);if(Oe.height=await Iot(f,T,m),Ri.insertComputerIcon(h),Ri.insertDatabaseIcon(h),Ri.insertClockIcon(h),x&&(ct.bumpVerticalPos(Oe.boxMargin),b&&ct.bumpVerticalPos(m[0].textMaxHeight)),Oe.hideUnusedParticipants===!0){let B=new Set;y.forEach(F=>{B.add(F.from),B.add(F.to)}),g=g.filter(F=>B.has(F))}Dot(h,f,d,g,0,y,!1);let E=await Bot(y,f,T,n);Ri.insertArrowHead(h),Ri.insertArrowCrossHead(h),Ri.insertArrowFilledHead(h),Ri.insertSequenceNumber(h);function w(B,F){let G=ct.endActivation(B);G.starty+18>F&&(G.starty=F-6,F+=12),Ri.drawActivation(h,G,F,Oe,L7(B.from).length),ct.insert(G.startx,F-10,G.stopx,F)}o(w,"activeEnd");let k=1,C=1,D=[],R=[],O=0;for(let B of y){let F,G,$;switch(B.type){case n.db.LINETYPE.NOTE:ct.resetVerticalPos(),G=B.noteModel,await Cot(h,G);break;case n.db.LINETYPE.ACTIVE_START:ct.newActivation(B,h,f);break;case n.db.LINETYPE.ACTIVE_END:w(B,ct.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.LOOP_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"loop",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.RECT_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin,V=>ct.newLoop(void 0,V.message));break;case n.db.LINETYPE.RECT_END:F=ct.endLoop(),R.push(F),ct.models.addLoop(F),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.OPT_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"opt",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.ALT_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.ALT_ELSE:Wu(E,B,Oe.boxMargin+Oe.boxTextMargin,Oe.boxMargin,V=>ct.addSectionToLoop(V));break;case n.db.LINETYPE.ALT_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"alt",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V)),ct.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:Wu(E,B,Oe.boxMargin+Oe.boxTextMargin,Oe.boxMargin,V=>ct.addSectionToLoop(V));break;case n.db.LINETYPE.PAR_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"par",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.AUTONUMBER:k=B.message.start||k,C=B.message.step||C,B.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.CRITICAL_OPTION:Wu(E,B,Oe.boxMargin+Oe.boxTextMargin,Oe.boxMargin,V=>ct.addSectionToLoop(V));break;case n.db.LINETYPE.CRITICAL_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"critical",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;case n.db.LINETYPE.BREAK_START:Wu(E,B,Oe.boxMargin,Oe.boxMargin+Oe.boxTextMargin,V=>ct.newLoop(V));break;case n.db.LINETYPE.BREAK_END:F=ct.endLoop(),await Ri.drawLoop(h,F,"break",Oe),ct.bumpVerticalPos(F.stopy-ct.getVerticalPos()),ct.models.addLoop(F);break;default:try{$=B.msgModel,$.starty=ct.getVerticalPos(),$.sequenceIndex=k,$.sequenceVisible=n.db.showSequenceNumbers();let V=await Aot(h,$);Rot(B,$,V,O,f,d,p),D.push({messageModel:$,lineStartY:V}),ct.models.addMessage($)}catch(V){X.error("error while drawing message",V)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(B.type)&&(k=k+C),O++}X.debug("createdActors",d),X.debug("destroyedActors",p),await Wq(h,f,g,!1);for(let B of D)await _ot(h,B.messageModel,B.lineStartY,n);Oe.mirrorActors&&await Wq(h,f,g,!0),R.forEach(B=>Ri.drawBackgroundRect(h,B)),qq(h,f,g,Oe);for(let B of ct.models.boxes){B.height=ct.getVerticalPos()-B.y,ct.insert(B.x,B.y,B.x+B.width,B.height);let F=Oe.boxMargin*2;B.startx=B.x-F,B.starty=B.y-F*.25,B.stopx=B.startx+B.width+2*F,B.stopy=B.starty+B.height+F*.75,B.stroke="rgb(0,0,0, 0.5)",Ri.drawBox(h,B,Oe)}x&&ct.bumpVerticalPos(Oe.boxMargin);let L=J3e(h,f,g,u),{bounds:S}=ct.getBounds();S.startx===void 0&&(S.startx=0),S.starty===void 0&&(S.starty=0),S.stopx===void 0&&(S.stopx=0),S.stopy===void 0&&(S.stopy=0);let A=S.stopy-S.starty;A2,d=o(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Oe.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(u-=d(3)));let p=[n,i,a,s],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=jt.wrapLabel(t.message,nt.getMax(m+2*Oe.wrapPadding,Oe.width),Wm(Oe)));let g=jt.calculateTextDimensions(t.message,Wm(Oe));return{width:nt.getMax(t.wrap?0:g.width+2*Oe.wrapPadding,m+2*Oe.wrapPadding,Oe.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),Bot=o(async function(t,e,r,n){let i={},a=[],s,l,u;for(let h of t){switch(h.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:h.message&&(s=a.pop(),i[s.id]=s,i[h.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=L7(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Oe.activationWidth/2,g={startx:m,stopx:m+Oe.activationWidth,actor:h.from,enabled:!0};ct.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=ct.activations.map(p=>p.actor).lastIndexOf(h.from);ct.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await Oot(h,e,n),h.noteModel=l,a.forEach(d=>{s=d,s.from=nt.getMin(s.from,l.startx),s.to=nt.getMax(s.to,l.startx+l.width),s.width=nt.getMax(s.width,Math.abs(s.from-s.to))-Oe.labelBoxWidth})):(u=Pot(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=nt.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=nt.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=nt.getMax(s.width,Math.abs(s.to-s.from))-Oe.labelBoxWidth}else s.from=nt.getMin(u.startx,s.from),s.to=nt.getMax(u.stopx,s.to),s.width=nt.getMax(s.width,u.width)-Oe.labelBoxWidth}))}return ct.activations=[],X.debug("Loop type widths:",i),i},"calculateLoopBounds"),twe={bounds:ct,drawActors:Wq,drawActorsPopup:J3e,setConf:ewe,draw:Lot}});var nwe={};vr(nwe,{diagram:()=>Fot});var Fot,iwe=I(()=>{"use strict";W3e();Gq();Y3e();Qt();rwe();Fot={parser:U3e,get db(){return new _7},renderer:twe,styles:H3e,init:o(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,A2({sequence:{wrap:t.wrap}}))},"init")}});var Hq,N7,Yq=I(()=>{"use strict";Hq=(function(){var t=o(function(Ie,Me,Ae,ze){for(Ae=Ae||{},ze=Ie.length;ze--;Ae[Ie[ze]]=Me);return Ae},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,42],s=[1,26],l=[1,24],u=[1,25],h=[1,32],f=[1,33],d=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],T=[1,29],E=[1,30],w=[1,31],k=[1,44],C=[1,46],D=[1,43],R=[1,47],O=[1,9],L=[1,8,9],S=[1,58],A=[1,59],_=[1,60],N=[1,61],M=[1,62],P=[1,63],B=[1,64],F=[1,8,9,41],G=[1,76],$=[1,8,9,12,13,22,39,41,44,68,69,70,71,72,73,74,79,81],V=[1,8,9,12,13,18,20,22,39,41,44,50,60,68,69,70,71,72,73,74,79,81,86,100,102,103],K=[13,60,86,100,102,103],ee=[13,60,73,74,86,100,102,103],H=[13,60,68,69,70,71,72,86,100,102,103],he=[1,100],Z=[1,117],de=[1,113],re=[1,109],ne=[1,115],te=[1,110],Q=[1,111],le=[1,112],J=[1,114],ge=[1,116],ie=[22,48,60,61,82,86,87,88,89,90],Te=[1,8,9,39,41,44],j=[1,8,9,22],Ge=[1,145],ye=[1,8,9,61],$e=[1,8,9,22,48,60,61,82,86,87,88,89,90],Xe={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,emptyBody:47,SPACE:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",48:"SPACE",49:"ANNOTATION_START",50:"ANNOTATION_END",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[43,2],[43,3],[47,0],[47,2],[47,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:o(function(Me,Ae,ze,Y,ce,U,ue){var z=U.length-1;switch(ce){case 8:this.$=U[z-1];break;case 9:case 10:case 13:case 15:this.$=U[z];break;case 11:case 14:this.$=U[z-2]+"."+U[z];break;case 12:case 16:this.$=U[z-1]+U[z];break;case 17:case 18:this.$=U[z-1]+"~"+U[z]+"~";break;case 19:Y.addRelation(U[z]);break;case 20:U[z-1].title=Y.cleanupLabel(U[z]),Y.addRelation(U[z-1]);break;case 31:this.$=U[z].trim(),Y.setAccTitle(this.$);break;case 32:case 33:this.$=U[z].trim(),Y.setAccDescription(this.$);break;case 34:Y.addClassesToNamespace(U[z-3],U[z-1]);break;case 35:Y.addClassesToNamespace(U[z-4],U[z-1]);break;case 36:this.$=U[z],Y.addNamespace(U[z]);break;case 37:this.$=[U[z]];break;case 38:this.$=[U[z-1]];break;case 39:U[z].unshift(U[z-2]),this.$=U[z];break;case 41:Y.setCssClass(U[z-2],U[z]);break;case 42:Y.addMembers(U[z-3],U[z-1]);break;case 44:Y.setCssClass(U[z-5],U[z-3]),Y.addMembers(U[z-5],U[z-1]);break;case 45:this.$=U[z],Y.addClass(U[z]);break;case 46:this.$=U[z-1],Y.addClass(U[z-1]),Y.setClassLabel(U[z-1],U[z]);break;case 50:Y.addAnnotation(U[z],U[z-2]);break;case 51:case 64:this.$=[U[z]];break;case 52:U[z].push(U[z-1]),this.$=U[z];break;case 53:break;case 54:Y.addMember(U[z-1],Y.cleanupLabel(U[z]));break;case 55:break;case 56:break;case 57:this.$={id1:U[z-2],id2:U[z],relation:U[z-1],relationTitle1:"none",relationTitle2:"none"};break;case 58:this.$={id1:U[z-3],id2:U[z],relation:U[z-1],relationTitle1:U[z-2],relationTitle2:"none"};break;case 59:this.$={id1:U[z-3],id2:U[z],relation:U[z-2],relationTitle1:"none",relationTitle2:U[z-1]};break;case 60:this.$={id1:U[z-4],id2:U[z],relation:U[z-2],relationTitle1:U[z-3],relationTitle2:U[z-1]};break;case 61:Y.addNote(U[z],U[z-1]);break;case 62:Y.addNote(U[z]);break;case 63:this.$=U[z-2],Y.defineClass(U[z-1],U[z]);break;case 65:this.$=U[z-2].concat([U[z]]);break;case 66:Y.setDirection("TB");break;case 67:Y.setDirection("BT");break;case 68:Y.setDirection("RL");break;case 69:Y.setDirection("LR");break;case 70:this.$={type1:U[z-2],type2:U[z],lineType:U[z-1]};break;case 71:this.$={type1:"none",type2:U[z],lineType:U[z-1]};break;case 72:this.$={type1:U[z-1],type2:"none",lineType:U[z]};break;case 73:this.$={type1:"none",type2:"none",lineType:U[z]};break;case 74:this.$=Y.relationType.AGGREGATION;break;case 75:this.$=Y.relationType.EXTENSION;break;case 76:this.$=Y.relationType.COMPOSITION;break;case 77:this.$=Y.relationType.DEPENDENCY;break;case 78:this.$=Y.relationType.LOLLIPOP;break;case 79:this.$=Y.lineType.LINE;break;case 80:this.$=Y.lineType.DOTTED_LINE;break;case 81:case 87:this.$=U[z-2],Y.setClickEvent(U[z-1],U[z]);break;case 82:case 88:this.$=U[z-3],Y.setClickEvent(U[z-2],U[z-1]),Y.setTooltip(U[z-2],U[z]);break;case 83:this.$=U[z-2],Y.setLink(U[z-1],U[z]);break;case 84:this.$=U[z-3],Y.setLink(U[z-2],U[z-1],U[z]);break;case 85:this.$=U[z-3],Y.setLink(U[z-2],U[z-1]),Y.setTooltip(U[z-2],U[z]);break;case 86:this.$=U[z-4],Y.setLink(U[z-3],U[z-2],U[z]),Y.setTooltip(U[z-3],U[z-1]);break;case 89:this.$=U[z-3],Y.setClickEvent(U[z-2],U[z-1],U[z]);break;case 90:this.$=U[z-4],Y.setClickEvent(U[z-3],U[z-2],U[z-1]),Y.setTooltip(U[z-3],U[z]);break;case 91:this.$=U[z-3],Y.setLink(U[z-2],U[z]);break;case 92:this.$=U[z-4],Y.setLink(U[z-3],U[z-1],U[z]);break;case 93:this.$=U[z-4],Y.setLink(U[z-3],U[z-1]),Y.setTooltip(U[z-3],U[z]);break;case 94:this.$=U[z-5],Y.setLink(U[z-4],U[z-2],U[z]),Y.setTooltip(U[z-4],U[z-1]);break;case 95:this.$=U[z-2],Y.setCssStyle(U[z-1],U[z]);break;case 96:Y.setCssClass(U[z-1],U[z]);break;case 97:this.$=[U[z]];break;case 98:U[z-2].push(U[z]),this.$=U[z-2];break;case 100:this.$=U[z-1]+U[z];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:C,102:D,103:R},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(O,[2,5],{8:[1,48]}),{8:[1,49]},t(L,[2,19],{22:[1,50]}),t(L,[2,21]),t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),t(L,[2,26]),t(L,[2,27]),t(L,[2,28]),t(L,[2,29]),t(L,[2,30]),{34:[1,51]},{36:[1,52]},t(L,[2,33]),t(L,[2,53],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:S,69:A,70:_,71:N,72:M,73:P,74:B}),{39:[1,65]},t(F,[2,40],{39:[1,67],44:[1,66]}),t(L,[2,55]),t(L,[2,56]),{16:68,60:p,86:k,100:C,102:D},{16:39,17:40,19:69,60:p,86:k,100:C,102:D,103:R},{16:39,17:40,19:70,60:p,86:k,100:C,102:D,103:R},{16:39,17:40,19:71,60:p,86:k,100:C,102:D,103:R},{60:[1,72]},{13:[1,73]},{16:39,17:40,19:74,60:p,86:k,100:C,102:D,103:R},{13:G,55:75},{58:77,60:[1,78]},t(L,[2,66]),t(L,[2,67]),t(L,[2,68]),t(L,[2,69]),t($,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],60:p,86:k,100:C,102:D,103:R}),t($,[2,15],{20:[1,82]}),{15:83,16:84,17:85,60:p,86:k,100:C,102:D,103:R},{16:39,17:40,19:86,60:p,86:k,100:C,102:D,103:R},t(V,[2,123]),t(V,[2,124]),t(V,[2,125]),t(V,[2,126]),t([1,8,9,12,13,20,22,39,41,44,68,69,70,71,72,73,74,79,81],[2,127]),t(O,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:87,33:e,35:r,37:n,42:i,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:C,102:D,103:R}),{5:88,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:C,102:D,103:R},t(L,[2,20]),t(L,[2,31]),t(L,[2,32]),{13:[1,90],16:39,17:40,19:89,60:p,86:k,100:C,102:D,103:R},{53:91,66:56,67:57,68:S,69:A,70:_,71:N,72:M,73:P,74:B},t(L,[2,54]),{67:92,73:P,74:B},t(K,[2,73],{66:93,68:S,69:A,70:_,71:N,72:M}),t(ee,[2,74]),t(ee,[2,75]),t(ee,[2,76]),t(ee,[2,77]),t(ee,[2,78]),t(H,[2,79]),t(H,[2,80]),{8:[1,95],24:96,40:94,43:23,46:a},{16:97,60:p,86:k,100:C,102:D},{41:[1,99],45:98,51:he},{50:[1,101]},{13:[1,102]},{13:[1,103]},{79:[1,104],81:[1,105]},{22:Z,48:de,59:106,60:re,82:ne,84:107,85:108,86:te,87:Q,88:le,89:J,90:ge},{60:[1,118]},{13:G,55:119},t(L,[2,62]),t(L,[2,128]),{22:Z,48:de,59:120,60:re,61:[1,121],82:ne,84:107,85:108,86:te,87:Q,88:le,89:J,90:ge},t(ie,[2,64]),{16:39,17:40,19:122,60:p,86:k,100:C,102:D,103:R},t($,[2,16]),t($,[2,17]),t($,[2,18]),{39:[2,36]},{15:124,16:84,17:85,18:[1,123],39:[2,9],60:p,86:k,100:C,102:D,103:R},{39:[2,10]},t(Te,[2,45],{11:125,12:[1,126]}),t(O,[2,7]),{9:[1,127]},t(j,[2,57]),{16:39,17:40,19:128,60:p,86:k,100:C,102:D,103:R},{13:[1,130],16:39,17:40,19:129,60:p,86:k,100:C,102:D,103:R},t(K,[2,72],{66:131,68:S,69:A,70:_,71:N,72:M}),t(K,[2,71]),{41:[1,132]},{24:96,40:133,43:23,46:a},{8:[1,134],41:[2,37]},t(F,[2,41],{39:[1,135]}),{41:[1,136]},t(F,[2,43]),{41:[2,51],45:137,51:he},{16:39,17:40,19:138,60:p,86:k,100:C,102:D,103:R},t(L,[2,81],{13:[1,139]}),t(L,[2,83],{13:[1,141],77:[1,140]}),t(L,[2,87],{13:[1,142],80:[1,143]}),{13:[1,144]},t(L,[2,95],{61:Ge}),t(ye,[2,97],{85:146,22:Z,48:de,60:re,82:ne,86:te,87:Q,88:le,89:J,90:ge}),t($e,[2,99]),t($e,[2,101]),t($e,[2,102]),t($e,[2,103]),t($e,[2,104]),t($e,[2,105]),t($e,[2,106]),t($e,[2,107]),t($e,[2,108]),t($e,[2,109]),t(L,[2,96]),t(L,[2,61]),t(L,[2,63],{61:Ge}),{60:[1,147]},t($,[2,14]),{15:148,16:84,17:85,60:p,86:k,100:C,102:D,103:R},{39:[2,12]},t(Te,[2,46]),{13:[1,149]},{1:[2,4]},t(j,[2,59]),t(j,[2,58]),{16:39,17:40,19:150,60:p,86:k,100:C,102:D,103:R},t(K,[2,70]),t(L,[2,34]),{41:[1,151]},{24:96,40:152,41:[2,38],43:23,46:a},{45:153,51:he},t(F,[2,42]),{41:[2,52]},t(L,[2,50]),t(L,[2,82]),t(L,[2,84]),t(L,[2,85],{77:[1,154]}),t(L,[2,88]),t(L,[2,89],{13:[1,155]}),t(L,[2,91],{13:[1,157],77:[1,156]}),{22:Z,48:de,60:re,82:ne,84:158,85:108,86:te,87:Q,88:le,89:J,90:ge},t($e,[2,100]),t(ie,[2,65]),{39:[2,11]},{14:[1,159]},t(j,[2,60]),t(L,[2,35]),{41:[2,39]},{41:[1,160]},t(L,[2,86]),t(L,[2,90]),t(L,[2,92]),t(L,[2,93],{77:[1,161]}),t(ye,[2,98],{85:146,22:Z,48:de,60:re,82:ne,86:te,87:Q,88:le,89:J,90:ge}),t(Te,[2,8]),t(F,[2,44]),t(L,[2,94])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],124:[2,12],127:[2,4],137:[2,52],148:[2,11],152:[2,39]},parseError:o(function(Me,Ae){if(Ae.recoverable)this.trace(Me);else{var ze=new Error(Me);throw ze.hash=Ae,ze}},"parseError"),parse:o(function(Me){var Ae=this,ze=[0],Y=[],ce=[null],U=[],ue=this.table,z="",se=0,oe=0,be=0,pe=2,me=1,De=U.slice.call(arguments,1),Ce=Object.create(this.lexer),Fe={yy:{}};for(var Ye in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ye)&&(Fe.yy[Ye]=this.yy[Ye]);Ce.setInput(Me,Fe.yy),Fe.yy.lexer=Ce,Fe.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var xt=Ce.yylloc;U.push(xt);var je=Ce.options&&Ce.options.ranges;typeof Fe.yy.parseError=="function"?this.parseError=Fe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(Lt){ze.length=ze.length-2*Lt,ce.length=ce.length-Lt,U.length=U.length-Lt}o(Pe,"popStack");function rt(){var Lt;return Lt=Y.pop()||Ce.lex()||me,typeof Lt!="number"&&(Lt instanceof Array&&(Y=Lt,Lt=Y.pop()),Lt=Ae.symbols_[Lt]||Lt),Lt}o(rt,"lex");for(var We,ut,Ut,Tt,Mt,mt,at={},wt,St,bt,pt;;){if(Ut=ze[ze.length-1],this.defaultActions[Ut]?Tt=this.defaultActions[Ut]:((We===null||typeof We>"u")&&(We=rt()),Tt=ue[Ut]&&ue[Ut][We]),typeof Tt>"u"||!Tt.length||!Tt[0]){var Zr="";pt=[];for(wt in ue[Ut])this.terminals_[wt]&&wt>pe&&pt.push("'"+this.terminals_[wt]+"'");Ce.showPosition?Zr="Parse error on line "+(se+1)+`: -`+Ce.showPosition()+` -Expecting `+pt.join(", ")+", got '"+(this.terminals_[We]||We)+"'":Zr="Parse error on line "+(se+1)+": Unexpected "+(We==me?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(Zr,{text:Ce.match,token:this.terminals_[We]||We,line:Ce.yylineno,loc:xt,expected:pt})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ut+", token: "+We);switch(Tt[0]){case 1:ze.push(We),ce.push(Ce.yytext),U.push(Ce.yylloc),ze.push(Tt[1]),We=null,ut?(We=ut,ut=null):(oe=Ce.yyleng,z=Ce.yytext,se=Ce.yylineno,xt=Ce.yylloc,be>0&&be--);break;case 2:if(St=this.productions_[Tt[1]][1],at.$=ce[ce.length-St],at._$={first_line:U[U.length-(St||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(St||1)].first_column,last_column:U[U.length-1].last_column},je&&(at._$.range=[U[U.length-(St||1)].range[0],U[U.length-1].range[1]]),mt=this.performAction.apply(at,[z,oe,se,Fe.yy,Tt[1],ce,U].concat(De)),typeof mt<"u")return mt;St&&(ze=ze.slice(0,-1*St*2),ce=ce.slice(0,-1*St),U=U.slice(0,-1*St)),ze.push(this.productions_[Tt[1]][0]),ce.push(at.$),U.push(at._$),bt=ue[ze[ze.length-2]][ze[ze.length-1]],ze.push(bt);break;case 3:return!0}}return!0},"parse")},Ue=(function(){var Ie={EOF:1,parseError:o(function(Ae,ze){if(this.yy.parser)this.yy.parser.parseError(Ae,ze);else throw new Error(Ae)},"parseError"),setInput:o(function(Me,Ae){return this.yy=Ae||this.yy||{},this._input=Me,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 Me=this._input[0];this.yytext+=Me,this.yyleng++,this.offset++,this.match+=Me,this.matched+=Me;var Ae=Me.match(/(?:\r\n?|\n).*/g);return Ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Me},"input"),unput:o(function(Me){var Ae=Me.length,ze=Me.split(/(?:\r\n?|\n)/g);this._input=Me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ae),this.offset-=Ae;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),ze.length-1&&(this.yylineno-=ze.length-1);var ce=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ze?(ze.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-ze.length].length-ze[0].length:this.yylloc.first_column-Ae},this.options.ranges&&(this.yylloc.range=[ce[0],ce[0]+this.yyleng-Ae]),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(Me){this.unput(this.match.slice(Me))},"less"),pastInput:o(function(){var Me=this.matched.substr(0,this.matched.length-this.match.length);return(Me.length>20?"...":"")+Me.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Me=this.match;return Me.length<20&&(Me+=this._input.substr(0,20-Me.length)),(Me.substr(0,20)+(Me.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Me=this.pastInput(),Ae=new Array(Me.length+1).join("-");return Me+this.upcomingInput()+` -`+Ae+"^"},"showPosition"),test_match:o(function(Me,Ae){var ze,Y,ce;if(this.options.backtrack_lexer&&(ce={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&&(ce.yylloc.range=this.yylloc.range.slice(0))),Y=Me[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+Me[0].length},this.yytext+=Me[0],this.match+=Me[0],this.matches=Me,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(Me[0].length),this.matched+=Me[0],ze=this.performAction.call(this,this.yy,this,Ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ze)return ze;if(this._backtrack){for(var U in ce)this[U]=ce[U];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Me,Ae,ze,Y;this._more||(this.yytext="",this.match="");for(var ce=this._currentRules(),U=0;UAe[0].length)){if(Ae=ze,Y=U,this.options.backtrack_lexer){if(Me=this.test_match(ze,ce[U]),Me!==!1)return Me;if(this._backtrack){Ae=!1;continue}else return!1}else if(!this.options.flex)break}return Ae?(Me=this.test_match(Ae,ce[Y]),Me!==!1?Me:!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 Ae=this.next();return Ae||this.lex()},"lex"),begin:o(function(Ae){this.conditionStack.push(Ae)},"begin"),popState:o(function(){var Ae=this.conditionStack.length-1;return Ae>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(Ae){return Ae=this.conditionStack.length-1-Math.abs(Ae||0),Ae>=0?this.conditionStack[Ae]:"INITIAL"},"topState"),pushState:o(function(Ae){this.begin(Ae)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ae,ze,Y,ce){var U=ce;switch(Y){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:return this.popState(),41;break;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;break;case 39:return this.popState(),8;break;case 40:break;case 41:return this.popState(),this.popState(),41;break;case 42:return this.begin("class-body"),39;break;case 43:return this.popState(),41;break;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 49;case 56:return 50;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 48;case 96:return 48;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return Ie})();Xe.lexer=Ue;function Le(){this.yy={}}return o(Le,"Parser"),Le.prototype=Xe,Xe.Parser=Le,new Le})();Hq.parser=Hq;N7=Hq});var owe,s3,lwe=I(()=>{"use strict";Qt();wr();owe=["#","+","~","-",""],s3=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=fr(e,xe());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+zc(this.id);this.memberType==="method"&&(e+=`(${zc(this.parameters.trim())})`,this.returnType&&(e+=" : "+zc(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){let s=a[1]?a[1].trim():"";if(owe.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let i=e.length,a=e.substring(0,1),s=e.substring(i-1);owe.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let n=`${this.visibility?"\\"+this.visibility:""}${zc(this.id)}${this.memberType==="method"?`(${zc(this.parameters)})${this.returnType?" : "+zc(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var M7,cwe,Hm,Rv,jq=I(()=>{"use strict";kr();gt();Qt();wr();sr();ki();lwe();M7="classId-",cwe=0,Hm=o(t=>nt.sanitizeText(t,xe()),"sanitizeText"),Rv=class{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=[];this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=o(e=>{let r=He(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=He("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),He(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=He(a.currentTarget);if(s.attr("title")===null)return;let u=this.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.top-14+document.body.scrollTop+"px"),r.html(r.html().replace(/<br\/>/g,"
    ")),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),He(a.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=zr;this.getAccTitle=Vr;this.setAccDescription=qr;this.getAccDescription=Ur;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getConfig=o(()=>xe().class,"getConfig");this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{o(this,"ClassDB")}splitClassNameAndType(e){let r=nt.sanitizeText(e,xe()),n="",i=r;if(r.indexOf("~")>0){let a=r.split("~");i=Hm(a[0]),n=Hm(a[1])}return{className:i,type:n}}setClassLabel(e,r){let n=nt.sanitizeText(e,xe());r&&(r=Hm(r));let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){let r=nt.sanitizeText(e,xe()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;let a=nt.sanitizeText(n,xe());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:M7+a+"-"+cwe}),cwe++}addInterface(e,r){let n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}lookUpDomId(e){let r=nt.sanitizeText(e,xe());if(this.classes.has(r))return this.classes.get(r).domId;throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=[],this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",Mr()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNotes(){return this.notes}addRelation(e){X.debug("Adding relation: "+JSON.stringify(e));let r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=nt.sanitizeText(e.relationTitle1.trim(),xe()),e.relationTitle2=nt.sanitizeText(e.relationTitle2.trim(),xe()),this.relations.push(e)}addAnnotation(e,r){let n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);let n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){let a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Hm(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new s3(a,"method")):a&&i.members.push(new s3(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){let n={id:`note${this.notes.length}`,class:r,text:e};this.notes.push(n)}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Hm(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=M7+i);let a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(let n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Hm(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){let i=xe();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=M7+s);let l=this.classes.get(s);l&&(l.link=jt.formatUrl(r,i),i.securityLevel==="sandbox"?l.linkTarget="_top":typeof n=="string"?l.linkTarget=Hm(n):l.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){let i=nt.sanitizeText(e,xe());if(xe().securityLevel!=="loose"||r===void 0)return;let s=i;if(this.classes.has(s)){let l=this.lookUpDomId(s),u=[];if(typeof n=="string"){u=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let h=0;h{let h=document.querySelector(`[id="${l}"]`);h!==null&&h.addEventListener("click",()=>{jt.runFunc(r,...u)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,children:{},domId:M7+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r){if(this.namespaces.has(e))for(let n of r){let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).parent=e,this.namespaces.get(e).classes.set(i,this.classes.get(i))}}setCssStyle(e,r){let n=this.classes.get(e);if(!(!r||!n))for(let i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){let e=[],r=[],n=xe();for(let a of this.namespaces.keys()){let s=this.namespaces.get(a);if(s){let l={id:s.id,label:s.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:n.look};e.push(l)}}for(let a of this.classes.keys()){let s=this.classes.get(a);if(s){let l=s;l.parentId=s.parent,l.look=n.look,e.push(l)}}let i=0;for(let a of this.notes){i++;let s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look};e.push(s);let l=this.classes.get(a.class)?.id??"";if(l){let u={id:`edgeNote${i}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(u)}}for(let a of this.interfaces){let s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}i=0;for(let a of this.relations){i++;let s={id:nu(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}}});var Vot,I7,Xq=I(()=>{"use strict";ey();Vot=o(t=>`g.classGroup text { +`;y.append("path").attr("d",v).attr("fill","#eaeaea").attr("stroke","#000").attr("stroke-width",1).attr("class",f),y.attr("transform",`translate(${d}, ${g})`),e.rectData=h,lf(r,Jn(e.description))(e.description,u,h.x,h.y+35,h.width,h.height,{class:`actor ${V7}`},r);let x=y.select("path:last-child");if(x.node()){let b=x.node().getBBox();e.height=b.height+(r.sequence.labelBoxHeight??0)}return e.height},"drawActorTypeDatabase"),Hlt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=22,u=t.append("g").lower();n||(Qr++,u.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Qr);let h=t.append("g"),f=Ym;n?f+=` ${gp}`:f+=` ${mp}`,h.attr("class",f),h.attr("name",e.name);let d=Oa();d.x=e.x,d.y=i,d.fill="#eaeaea",d.width=e.width,d.height=e.height,d.class="actor",h.append("line").attr("id","actor-man-torso"+Qr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+12).attr("x2",e.x+e.width/2-15).attr("y2",i+12),h.append("line").attr("id","actor-man-arms"+Qr).attr("x1",e.x+e.width/2-l*2.5).attr("y1",i+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",i+22),h.append("circle").attr("cx",e.x+e.width/2).attr("cy",i+12).attr("r",l);let p=h.node().getBBox();return e.height=p.height+(r.sequence.labelBoxHeight??0),lf(r,Jn(e.description))(e.description,h,d.x,d.y+15,d.width,d.height,{class:`actor ${Ym}`},r),n?h.attr("transform",`translate(0,${l/2+10})`):h.attr("transform",`translate(0,${l/2+10})`),e.height},"drawActorTypeBoundary"),Ylt=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=t.append("g").lower();n||(Qr++,l.append("line").attr("id","actor"+Qr).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Qr);let u=t.append("g"),h=Ym;n?h+=` ${gp}`:h+=` ${mp}`,u.attr("class",h),u.attr("name",e.name);let f=Oa();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+Qr).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+Qr).attr("x1",a-pp/2).attr("y1",i+33).attr("x2",a+pp/2).attr("y2",i+33),u.append("line").attr("x1",a-pp/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+pp/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,lf(r,Jn(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${Ym}`},r),e.height},"drawActorTypeActor"),jlt=o(async function(t,e,r,n){switch(e.type){case"actor":return await Ylt(t,e,r,n);case"participant":return await zlt(t,e,r,n);case"boundary":return await Hlt(t,e,r,n);case"control":return await qlt(t,e,r,n);case"entity":return await Ult(t,e,r,n);case"database":return await Wlt(t,e,r,n);case"collections":return await Glt(t,e,r,n);case"queue":return await Vlt(t,e,r,n)}},"drawActor"),Xlt=o(function(t,e,r){let i=t.append("g");Mwe(i,e),e.name&&lf(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),Klt=o(function(t){return t.append("g")},"anchorElement"),Qlt=o(function(t,e,r,n,i){let a=Oa(),s=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,m3(s,a)},"drawActivation"),Zlt=o(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=o(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=Fx();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=s||20,m.textMargin=a,m.class="labelText",Nwe(d,m),m=Iwe(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=Jn(m.text)?await g3(d,m,e):jm(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,Jn(m.text)?(e.starty=e.sections[y].y,await g3(d,m,e)):jm(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,T)=>b+T));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),Mwe=o(function(t,e){nk(t,e)},"drawBackgroundRect"),Jlt=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ect=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),tct=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),rct=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),nct=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ict=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),act=o(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Iwe=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),sct=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),lf=(function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=Uo(m),b=a.split(st.lineBreakRegex);for(let T=0;T{let s=Xm(Ve),l=a.actorKeys.reduce((d,p)=>d+=t.get(p).width+(t.get(p).margin||0),0),u=Ve.boxMargin*8;l+=u,l-=2*Ve.boxTextMargin,a.wrap&&(a.name=Xt.wrapLabel(a.name,l-2*Ve.wrapPadding,s));let h=Xt.calculateTextDimensions(a.name,s);i=st.getMax(h.height,i);let f=st.getMax(l,h.width+2*Ve.wrapPadding);if(a.margin=Ve.boxTextMargin,la.textMaxHeight=i),st.getMax(n,Ve.height)}var Ve,ut,fct,dct,Xm,Bv,aU,mct,gct,sU,Fwe,$we,U7,Pwe,vct,bct,wct,kct,Ect,Bwe,Sct,zwe,Cct,Act,_ct,Gwe,Vwe=O(()=>{"use strict";Ar();Owe();xt();Ur();Ur();a0();jt();sg();ar();Ti();rU();Ve={},ut={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,$we(ve())},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=this,a=0;function s(l){return o(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Ve.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Ve.boxMargin,Math.max),i.updateVal(ut.data,"startx",t-f*Ve.boxMargin,Math.min),i.updateVal(ut.data,"stopx",r+f*Ve.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Ve.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Ve.boxMargin,Math.max),i.updateVal(ut.data,"starty",e-f*Ve.boxMargin,Math.min),i.updateVal(ut.data,"stopy",n+f*Ve.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,n){let i=st.getMin(t,r),a=st.getMax(t,r),s=st.getMin(e,n),l=st.getMax(e,n);this.updateVal(ut.data,"startx",i,Math.min),this.updateVal(ut.data,"starty",s,Math.min),this.updateVal(ut.data,"stopx",a,Math.max),this.updateVal(ut.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),newActivation:o(function(t,e,r){let n=r.get(t.from),i=U7(t.from).length||0,a=n.x+n.width/2+(i-1)*Ve.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Ve.activationWidth,stopy:void 0,actor:t.from,anchored:Qn.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:ut.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=st.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},fct=o(async function(t,e){ut.bumpVerticalPos(Ve.boxMargin),e.height=Ve.boxMargin,e.starty=ut.getVerticalPos();let r=Oa();r.x=e.startx,r.y=e.starty,r.width=e.width||Ve.width,r.class="note";let n=t.append("g"),i=Qn.drawRect(n,r),a=Fx();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Ve.noteFontFamily,a.fontSize=Ve.noteFontSize,a.fontWeight=Ve.noteFontWeight,a.anchor=Ve.noteAlign,a.textMargin=Ve.noteMargin,a.valign="center";let s=Jn(a.text)?await g3(n,a):jm(n,a),l=Math.round(s.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Ve.noteMargin),e.height+=l+2*Ve.noteMargin,ut.bumpVerticalPos(l+2*Ve.noteMargin),e.stopy=e.starty+l+2*Ve.noteMargin,e.stopx=e.startx+r.width,ut.insert(e.startx,e.starty,e.stopx,e.stopy),ut.models.addNote(e)},"drawNote"),dct=o(function(t,e,r,n,i,a,s){let l=n.db.getActors(),u=l.get(e.from),h=l.get(e.to),f=r.sequenceVisible,d=u.x+u.width/2,p=h.x+h.width/2,m=d<=p,g=zwe(e,n),y=t.append("g"),v=16.5,x=o((k,S)=>{let A=k?v:-v;return S?-A:A},"getCircleOffset"),b=o(k=>{y.append("circle").attr("cx",k).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:T,CENTRAL_CONNECTION_REVERSE:E,CENTRAL_CONNECTION_DUAL:w}=n.db.LINETYPE;if(f)switch(e.centralConnection){case T:g&&(p+=x(m,!0));break;case E:g||(d+=x(m,!1));break;case w:g?p+=x(m,!0):d+=x(m,!1);break}switch(e.centralConnection){case T:b(p);break;case E:b(d);break;case w:b(d),b(p);break}},"drawCentralConnection"),Xm=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),Bv=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),aU=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(pct,"boundMessage");mct=o(async function(t,e,r,n,i){let{startx:a,stopx:s,starty:l,message:u,type:h,sequenceIndex:f,sequenceVisible:d}=e,p=Xt.calculateTextDimensions(u,Xm(Ve)),m=Fx();m.x=a,m.y=l+10,m.width=s-a,m.class="messageText",m.dy="1em",m.text=u,m.fontFamily=Ve.messageFontFamily,m.fontSize=Ve.messageFontSize,m.fontWeight=Ve.messageFontWeight,m.anchor=Ve.messageAlign,m.valign="center",m.textMargin=Ve.wrapPadding,m.tspan=!1,Jn(m.text)?await g3(t,m,{startx:a,stopx:s,starty:r}):jm(t,m);let g=p.width,y;if(a===s){let x=d||Ve.showSequenceNumbers,b=zwe(i,n),T=Cct(i,n),E=a+(x&&(b||T)?10:0);Ve.rightAngles?y=t.append("path").attr("d",`M ${E},${r} H ${a+st.getMax(Ve.width/2,g/2)} V ${r+25} H ${a}`):y=t.append("path").attr("d","M "+E+","+r+" C "+(E+60)+","+(r-10)+" "+(a+60)+","+(r+30)+" "+a+","+(r+20))}else y=t.append("line"),y.attr("x1",a),y.attr("y1",r),y.attr("x2",s),y.attr("y2",r),Bwe(i,n)&&dct(t,i,e,n,a,s,r);h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||h===n.db.LINETYPE.SOLID_TOP_DOTTED||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||h===n.db.LINETYPE.STICK_TOP_DOTTED||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(y.style("stroke-dasharray","3, 3"),y.attr("class","messageLine1")):y.attr("class","messageLine0");let v="";if(Ve.arrowMarkerAbsolute&&(v=Op(!0)),y.attr("stroke-width",2),y.attr("stroke","none"),y.style("fill","none"),(h===n.db.LINETYPE.SOLID_TOP||h===n.db.LINETYPE.SOLID_TOP_DOTTED)&&y.attr("marker-end","url("+v+"#solidTopArrowHead)"),(h===n.db.LINETYPE.SOLID_BOTTOM||h===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&y.attr("marker-end","url("+v+"#solidBottomArrowHead)"),(h===n.db.LINETYPE.STICK_TOP||h===n.db.LINETYPE.STICK_TOP_DOTTED)&&y.attr("marker-end","url("+v+"#stickTopArrowHead)"),(h===n.db.LINETYPE.STICK_BOTTOM||h===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&y.attr("marker-end","url("+v+"#stickBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&y.attr("marker-start","url("+v+"#solidBottomArrowHead)"),(h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&y.attr("marker-start","url("+v+"#solidTopArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&y.attr("marker-start","url("+v+"#stickBottomArrowHead)"),(h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&y.attr("marker-start","url("+v+"#stickTopArrowHead)"),(h===n.db.LINETYPE.SOLID||h===n.db.LINETYPE.DOTTED)&&y.attr("marker-end","url("+v+"#arrowhead)"),(h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(y.attr("marker-start","url("+v+"#arrowhead)"),y.attr("marker-end","url("+v+"#arrowhead)")),(h===n.db.LINETYPE.SOLID_POINT||h===n.db.LINETYPE.DOTTED_POINT)&&y.attr("marker-end","url("+v+"#filled-head)"),(h===n.db.LINETYPE.SOLID_CROSS||h===n.db.LINETYPE.DOTTED_CROSS)&&y.attr("marker-end","url("+v+"#crosshead)"),d||Ve.showSequenceNumbers){let x=h===n.db.LINETYPE.BIDIRECTIONAL_SOLID||h===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,b=h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||h===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||h===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,T=6,E=Bwe(i,n),w=a,k=s;x?(aa?k=s-2*T:(k=s-T,w+=i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),k+=E?15:0,y.attr("x2",k),y.attr("x1",w)):y.attr("x1",a+T);let S=0,A=a===s,L=a<=s;A?S=e.fromBounds+1:b?S=L?e.toBounds-1:e.fromBounds+1:S=L?e.fromBounds+1:e.toBounds-1,t.append("line").attr("x1",S).attr("y1",r).attr("x2",S).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+v+"#sequencenumber)"),t.append("text").attr("x",S).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(f)}},"drawMessage"),gct=o(function(t,e,r,n,i,a,s){let l=0,u=0,h,f=0;for(let d of n){let p=e.get(d),m=p.box;h&&h!=m&&(s||ut.models.addBox(h),u+=Ve.boxMargin+h.margin),m&&m!=h&&(s||(m.x=l+u,m.y=i),u+=m.margin),p.width=p.width||Ve.width,p.height=st.getMax(p.height||Ve.height,Ve.height),p.margin=p.margin||Ve.actorMargin,f=st.getMax(f,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=ut.getVerticalPos(),ut.insert(p.x,i,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,ut.models.addActor(p)}h&&!s&&ut.models.addBox(h),ut.bumpVerticalPos(f)},"addActorRenderingData"),sU=o(async function(t,e,r,n){if(n){let i=0;ut.bumpVerticalPos(Ve.boxMargin*2);for(let a of r){let s=e.get(a);s.stopy||(s.stopy=ut.getVerticalPos());let l=await Qn.drawActor(t,s,Ve,!0);i=st.getMax(i,l)}ut.bumpVerticalPos(i+Ve.boxMargin)}else for(let i of r){let a=e.get(i);await Qn.drawActor(t,a,Ve,!1)}},"drawActors"),Fwe=o(function(t,e,r,n){let i=0,a=0;for(let s of r){let l=e.get(s),u=bct(l),h=Qn.drawPopup(t,l,u,Ve,Ve.forceMenus,n);h.height>i&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),$we=o(function(t){Vn(Ve,t),t.fontFamily&&(Ve.actorFontFamily=Ve.noteFontFamily=Ve.messageFontFamily=t.fontFamily),t.fontSize&&(Ve.actorFontSize=Ve.noteFontSize=Ve.messageFontSize=t.fontSize),t.fontWeight&&(Ve.actorFontWeight=Ve.noteFontWeight=Ve.messageFontWeight=t.fontWeight)},"setConf"),U7=o(function(t){return ut.activations.filter(function(e){return e.actor===t})},"actorActivations"),Pwe=o(function(t,e){let r=e.get(t),n=U7(t),i=n.reduce(function(s,l){return st.getMin(s,l.startx)},r.x+r.width/2-1),a=n.reduce(function(s,l){return st.getMax(s,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");o(Qu,"adjustLoopHeightForWrap");o(yct,"adjustCreatedDestroyedData");vct=o(async function(t,e,r,n){let{securityLevel:i,sequence:a}=ve();Ve=a;let s;i==="sandbox"&&(s=je("#i"+e));let l=i==="sandbox"?je(s.nodes()[0].contentDocument.body):je("body"),u=i==="sandbox"?s.nodes()[0].contentDocument:document;ut.init(),K.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):je(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),T=await xct(f,y,n);if(Ve.height=await Tct(f,T,m),Qn.insertComputerIcon(h),Qn.insertDatabaseIcon(h),Qn.insertClockIcon(h),x&&(ut.bumpVerticalPos(Ve.boxMargin),b&&ut.bumpVerticalPos(m[0].textMaxHeight)),Ve.hideUnusedParticipants===!0){let B=new Set;y.forEach(F=>{B.add(F.from),B.add(F.to)}),g=g.filter(F=>B.has(F))}gct(h,f,d,g,0,y,!1);let E=await _ct(y,f,T,n);Qn.insertArrowHead(h),Qn.insertArrowCrossHead(h),Qn.insertArrowFilledHead(h),Qn.insertSequenceNumber(h),Qn.insertSolidTopArrowHead(h),Qn.insertSolidBottomArrowHead(h),Qn.insertStickTopArrowHead(h),Qn.insertStickBottomArrowHead(h);function w(B,F){let G=ut.endActivation(B);G.starty+18>F&&(G.starty=F-6,F+=12),Qn.drawActivation(h,G,F,Ve,U7(B.from).length),ut.insert(G.startx,F-10,G.stopx,F)}o(w,"activeEnd");let k=1,S=1,A=[],L=[],I=0;for(let B of y){let F,G,$;switch(B.type){case n.db.LINETYPE.NOTE:ut.resetVerticalPos(),G=B.noteModel,await fct(h,G);break;case n.db.LINETYPE.ACTIVE_START:ut.newActivation(B,h,f);break;case n.db.LINETYPE.CENTRAL_CONNECTION:ut.newActivation(B,h,f);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:ut.newActivation(B,h,f);break;case n.db.LINETYPE.ACTIVE_END:w(B,ut.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.LOOP_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"loop",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.RECT_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin,V=>ut.newLoop(void 0,V.message));break;case n.db.LINETYPE.RECT_END:F=ut.endLoop(),L.push(F),ut.models.addLoop(F),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.OPT_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"opt",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.ALT_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.ALT_ELSE:Qu(E,B,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,V=>ut.addSectionToLoop(V));break;case n.db.LINETYPE.ALT_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"alt",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V)),ut.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:Qu(E,B,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,V=>ut.addSectionToLoop(V));break;case n.db.LINETYPE.PAR_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"par",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.AUTONUMBER:k=B.message.start||k,S=B.message.step||S,B.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.CRITICAL_OPTION:Qu(E,B,Ve.boxMargin+Ve.boxTextMargin,Ve.boxMargin,V=>ut.addSectionToLoop(V));break;case n.db.LINETYPE.CRITICAL_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"critical",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;case n.db.LINETYPE.BREAK_START:Qu(E,B,Ve.boxMargin,Ve.boxMargin+Ve.boxTextMargin,V=>ut.newLoop(V));break;case n.db.LINETYPE.BREAK_END:F=ut.endLoop(),await Qn.drawLoop(h,F,"break",Ve),ut.bumpVerticalPos(F.stopy-ut.getVerticalPos()),ut.models.addLoop(F);break;default:try{$=B.msgModel,$.starty=ut.getVerticalPos(),$.sequenceIndex=k,$.sequenceVisible=n.db.showSequenceNumbers();let V=await pct(h,$);yct(B,$,V,I,f,d,p),A.push({messageModel:$,lineStartY:V,msg:B}),ut.models.addMessage($)}catch(V){K.error("error while drawing message",V)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(B.type)&&(k=k+S),I++}K.debug("createdActors",d),K.debug("destroyedActors",p),await sU(h,f,g,!1);for(let B of A)await mct(h,B.messageModel,B.lineStartY,n,B.msg);Ve.mirrorActors&&await sU(h,f,g,!0),L.forEach(B=>Qn.drawBackgroundRect(h,B)),iU(h,f,g,Ve);for(let B of ut.models.boxes){B.height=ut.getVerticalPos()-B.y,ut.insert(B.x,B.y,B.x+B.width,B.height);let F=Ve.boxMargin*2;B.startx=B.x-F,B.starty=B.y-F*.25,B.stopx=B.startx+B.width+2*F,B.stopy=B.starty+B.height+F*.75,B.stroke="rgb(0,0,0, 0.5)",Qn.drawBox(h,B,Ve)}x&&ut.bumpVerticalPos(Ve.boxMargin);let N=Fwe(h,f,g,u),{bounds:C}=ut.getBounds();C.startx===void 0&&(C.startx=0),C.starty===void 0&&(C.starty=0),C.stopx===void 0&&(C.stopx=0),C.stopy===void 0&&(C.stopy=0);let _=C.stopy-C.starty;_2,d=o(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Ve.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=d(3)));let p=[n,i,a,s],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Xt.wrapLabel(t.message,st.getMax(m+2*Ve.wrapPadding,Ve.width),Xm(Ve)));let g=Xt.calculateTextDimensions(t.message,Xm(Ve));return{width:st.getMax(t.wrap?0:g.width+2*Ve.wrapPadding,m+2*Ve.wrapPadding,Ve.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),_ct=o(async function(t,e,r,n){let i={},a=[],s,l,u;for(let h of t){switch(h.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:h.message&&(s=a.pop(),i[s.id]=s,i[h.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=U7(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Ve.activationWidth/2,g={startx:m,stopx:m+Ve.activationWidth,actor:h.from,enabled:!0};ut.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=ut.activations.map(p=>p.actor).lastIndexOf(h.from);ut.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await wct(h,e,n),h.noteModel=l,a.forEach(d=>{s=d,s.from=st.getMin(s.from,l.startx),s.to=st.getMax(s.to,l.startx+l.width),s.width=st.getMax(s.width,Math.abs(s.from-s.to))-Ve.labelBoxWidth})):(u=Act(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=st.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=st.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=st.getMax(s.width,Math.abs(s.to-s.from))-Ve.labelBoxWidth}else s.from=st.getMin(u.startx,s.from),s.to=st.getMax(u.stopx,s.to),s.width=st.getMax(s.width,u.width)-Ve.labelBoxWidth}))}return ut.activations=[],K.debug("Loop type widths:",i),i},"calculateLoopBounds"),Gwe={bounds:ut,drawActors:sU,drawActorsPopup:Fwe,setConf:$we,draw:vct}});var qwe={};vr(qwe,{diagram:()=>Dct});var Dct,Uwe=O(()=>{"use strict";Dwe();rU();Lwe();jt();Vwe();Dct={parser:_we,get db(){return new G7},renderer:Gwe,styles:Rwe,init:o(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,z2({sequence:{wrap:t.wrap}}))},"init")}});var oU,W7,lU=O(()=>{"use strict";oU=(function(){var t=o(function(Ue,Ge,Ne,We){for(Ne=Ne||{},We=Ue.length;We--;Ne[Ue[We]]=Ge);return Ne},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,42],s=[1,26],l=[1,24],u=[1,25],h=[1,32],f=[1,33],d=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],T=[1,29],E=[1,30],w=[1,31],k=[1,44],S=[1,46],A=[1,43],L=[1,47],I=[1,9],N=[1,8,9],C=[1,58],_=[1,59],D=[1,60],M=[1,61],R=[1,62],P=[1,63],B=[1,64],F=[1,8,9,41],G=[1,76],$=[1,8,9,12,13,22,39,41,44,68,69,70,71,72,73,74,79,81],V=[1,8,9,12,13,18,20,22,39,41,44,50,60,68,69,70,71,72,73,74,79,81,86,100,102,103],X=[13,60,86,100,102,103],Q=[13,60,73,74,86,100,102,103],H=[13,60,68,69,70,71,72,86,100,102,103],ie=[1,101],Y=[1,118],le=[1,114],ee=[1,110],J=[1,116],te=[1,111],Z=[1,112],xe=[1,113],de=[1,115],Se=[1,117],Me=[22,48,60,61,82,86,87,88,89,90],ke=[1,8,9,39,41,44],we=[1,8,9,22],_e=[1,147],$e=[1,8,9,61],fe=[1,8,9,22,48,60,61,82,86,87,88,89,90],Ke={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,emptyBody:47,SPACE:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",48:"SPACE",49:"ANNOTATION_START",50:"ANNOTATION_END",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[43,2],[43,3],[47,0],[47,2],[47,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:o(function(Ge,Ne,We,j,ae,U,ce){var z=U.length-1;switch(ae){case 8:this.$=U[z-1];break;case 9:case 10:case 13:case 15:this.$=U[z];break;case 11:case 14:this.$=U[z-2]+"."+U[z];break;case 12:case 16:this.$=U[z-1]+U[z];break;case 17:case 18:this.$=U[z-1]+"~"+U[z]+"~";break;case 19:j.addRelation(U[z]);break;case 20:U[z-1].title=j.cleanupLabel(U[z]),j.addRelation(U[z-1]);break;case 31:this.$=U[z].trim(),j.setAccTitle(this.$);break;case 32:case 33:this.$=U[z].trim(),j.setAccDescription(this.$);break;case 34:j.addClassesToNamespace(U[z-3],U[z-1][0],U[z-1][1]);break;case 35:j.addClassesToNamespace(U[z-4],U[z-1][0],U[z-1][1]);break;case 36:this.$=U[z],j.addNamespace(U[z]);break;case 37:this.$=[[U[z]],[]];break;case 38:this.$=[[U[z-1]],[]];break;case 39:U[z][0].unshift(U[z-2]),this.$=U[z];break;case 40:this.$=[[],[U[z]]];break;case 41:this.$=[[],[U[z-1]]];break;case 42:U[z][1].unshift(U[z-2]),this.$=U[z];break;case 44:j.setCssClass(U[z-2],U[z]);break;case 45:j.addMembers(U[z-3],U[z-1]);break;case 47:j.setCssClass(U[z-5],U[z-3]),j.addMembers(U[z-5],U[z-1]);break;case 48:this.$=U[z],j.addClass(U[z]);break;case 49:this.$=U[z-1],j.addClass(U[z-1]),j.setClassLabel(U[z-1],U[z]);break;case 53:j.addAnnotation(U[z],U[z-2]);break;case 54:case 67:this.$=[U[z]];break;case 55:U[z].push(U[z-1]),this.$=U[z];break;case 56:break;case 57:j.addMember(U[z-1],j.cleanupLabel(U[z]));break;case 58:break;case 59:break;case 60:this.$={id1:U[z-2],id2:U[z],relation:U[z-1],relationTitle1:"none",relationTitle2:"none"};break;case 61:this.$={id1:U[z-3],id2:U[z],relation:U[z-1],relationTitle1:U[z-2],relationTitle2:"none"};break;case 62:this.$={id1:U[z-3],id2:U[z],relation:U[z-2],relationTitle1:"none",relationTitle2:U[z-1]};break;case 63:this.$={id1:U[z-4],id2:U[z],relation:U[z-2],relationTitle1:U[z-3],relationTitle2:U[z-1]};break;case 64:this.$=j.addNote(U[z],U[z-1]);break;case 65:this.$=j.addNote(U[z]);break;case 66:this.$=U[z-2],j.defineClass(U[z-1],U[z]);break;case 68:this.$=U[z-2].concat([U[z]]);break;case 69:j.setDirection("TB");break;case 70:j.setDirection("BT");break;case 71:j.setDirection("RL");break;case 72:j.setDirection("LR");break;case 73:this.$={type1:U[z-2],type2:U[z],lineType:U[z-1]};break;case 74:this.$={type1:"none",type2:U[z],lineType:U[z-1]};break;case 75:this.$={type1:U[z-1],type2:"none",lineType:U[z]};break;case 76:this.$={type1:"none",type2:"none",lineType:U[z]};break;case 77:this.$=j.relationType.AGGREGATION;break;case 78:this.$=j.relationType.EXTENSION;break;case 79:this.$=j.relationType.COMPOSITION;break;case 80:this.$=j.relationType.DEPENDENCY;break;case 81:this.$=j.relationType.LOLLIPOP;break;case 82:this.$=j.lineType.LINE;break;case 83:this.$=j.lineType.DOTTED_LINE;break;case 84:case 90:this.$=U[z-2],j.setClickEvent(U[z-1],U[z]);break;case 85:case 91:this.$=U[z-3],j.setClickEvent(U[z-2],U[z-1]),j.setTooltip(U[z-2],U[z]);break;case 86:this.$=U[z-2],j.setLink(U[z-1],U[z]);break;case 87:this.$=U[z-3],j.setLink(U[z-2],U[z-1],U[z]);break;case 88:this.$=U[z-3],j.setLink(U[z-2],U[z-1]),j.setTooltip(U[z-2],U[z]);break;case 89:this.$=U[z-4],j.setLink(U[z-3],U[z-2],U[z]),j.setTooltip(U[z-3],U[z-1]);break;case 92:this.$=U[z-3],j.setClickEvent(U[z-2],U[z-1],U[z]);break;case 93:this.$=U[z-4],j.setClickEvent(U[z-3],U[z-2],U[z-1]),j.setTooltip(U[z-3],U[z]);break;case 94:this.$=U[z-3],j.setLink(U[z-2],U[z]);break;case 95:this.$=U[z-4],j.setLink(U[z-3],U[z-1],U[z]);break;case 96:this.$=U[z-4],j.setLink(U[z-3],U[z-1]),j.setTooltip(U[z-3],U[z]);break;case 97:this.$=U[z-5],j.setLink(U[z-4],U[z-2],U[z]),j.setTooltip(U[z-4],U[z-1]);break;case 98:this.$=U[z-2],j.setCssStyle(U[z-1],U[z]);break;case 99:j.setCssClass(U[z-1],U[z]);break;case 100:this.$=[U[z]];break;case 101:U[z-2].push(U[z]),this.$=U[z-2];break;case 103:this.$=U[z-1]+U[z];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:S,102:A,103:L},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(I,[2,5],{8:[1,48]}),{8:[1,49]},t(N,[2,19],{22:[1,50]}),t(N,[2,21]),t(N,[2,22]),t(N,[2,23]),t(N,[2,24]),t(N,[2,25]),t(N,[2,26]),t(N,[2,27]),t(N,[2,28]),t(N,[2,29]),t(N,[2,30]),{34:[1,51]},{36:[1,52]},t(N,[2,33]),t(N,[2,56],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:C,69:_,70:D,71:M,72:R,73:P,74:B}),{39:[1,65]},t(F,[2,43],{39:[1,67],44:[1,66]}),t(N,[2,58]),t(N,[2,59]),{16:68,60:p,86:k,100:S,102:A},{16:39,17:40,19:69,60:p,86:k,100:S,102:A,103:L},{16:39,17:40,19:70,60:p,86:k,100:S,102:A,103:L},{16:39,17:40,19:71,60:p,86:k,100:S,102:A,103:L},{60:[1,72]},{13:[1,73]},{16:39,17:40,19:74,60:p,86:k,100:S,102:A,103:L},{13:G,55:75},{58:77,60:[1,78]},t(N,[2,69]),t(N,[2,70]),t(N,[2,71]),t(N,[2,72]),t($,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],60:p,86:k,100:S,102:A,103:L}),t($,[2,15],{20:[1,82]}),{15:83,16:84,17:85,60:p,86:k,100:S,102:A,103:L},{16:39,17:40,19:86,60:p,86:k,100:S,102:A,103:L},t(V,[2,126]),t(V,[2,127]),t(V,[2,128]),t(V,[2,129]),t([1,8,9,12,13,20,22,39,41,44,68,69,70,71,72,73,74,79,81],[2,130]),t(I,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:87,33:e,35:r,37:n,42:i,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:S,102:A,103:L}),{5:88,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,49:s,51:l,52:u,54:h,56:f,57:d,60:p,62:m,63:g,64:y,65:v,75:x,76:b,78:T,82:E,83:w,86:k,100:S,102:A,103:L},t(N,[2,20]),t(N,[2,31]),t(N,[2,32]),{13:[1,90],16:39,17:40,19:89,60:p,86:k,100:S,102:A,103:L},{53:91,66:56,67:57,68:C,69:_,70:D,71:M,72:R,73:P,74:B},t(N,[2,57]),{67:92,73:P,74:B},t(X,[2,76],{66:93,68:C,69:_,70:D,71:M,72:R}),t(Q,[2,77]),t(Q,[2,78]),t(Q,[2,79]),t(Q,[2,80]),t(Q,[2,81]),t(H,[2,82]),t(H,[2,83]),{8:[1,95],24:96,30:97,40:94,43:23,46:a,54:h,56:f},{16:98,60:p,86:k,100:S,102:A},{41:[1,100],45:99,51:ie},{50:[1,102]},{13:[1,103]},{13:[1,104]},{79:[1,105],81:[1,106]},{22:Y,48:le,59:107,60:ee,82:J,84:108,85:109,86:te,87:Z,88:xe,89:de,90:Se},{60:[1,119]},{13:G,55:120},t(F,[2,65]),t(F,[2,131]),{22:Y,48:le,59:121,60:ee,61:[1,122],82:J,84:108,85:109,86:te,87:Z,88:xe,89:de,90:Se},t(Me,[2,67]),{16:39,17:40,19:123,60:p,86:k,100:S,102:A,103:L},t($,[2,16]),t($,[2,17]),t($,[2,18]),{39:[2,36]},{15:125,16:84,17:85,18:[1,124],39:[2,9],60:p,86:k,100:S,102:A,103:L},{39:[2,10]},t(ke,[2,48],{11:126,12:[1,127]}),t(I,[2,7]),{9:[1,128]},t(we,[2,60]),{16:39,17:40,19:129,60:p,86:k,100:S,102:A,103:L},{13:[1,131],16:39,17:40,19:130,60:p,86:k,100:S,102:A,103:L},t(X,[2,75],{66:132,68:C,69:_,70:D,71:M,72:R}),t(X,[2,74]),{41:[1,133]},{24:96,30:97,40:134,43:23,46:a,54:h,56:f},{8:[1,135],41:[2,37]},{8:[1,136],41:[2,40]},t(F,[2,44],{39:[1,137]}),{41:[1,138]},t(F,[2,46]),{41:[2,54],45:139,51:ie},{16:39,17:40,19:140,60:p,86:k,100:S,102:A,103:L},t(N,[2,84],{13:[1,141]}),t(N,[2,86],{13:[1,143],77:[1,142]}),t(N,[2,90],{13:[1,144],80:[1,145]}),{13:[1,146]},t(N,[2,98],{61:_e}),t($e,[2,100],{85:148,22:Y,48:le,60:ee,82:J,86:te,87:Z,88:xe,89:de,90:Se}),t(fe,[2,102]),t(fe,[2,104]),t(fe,[2,105]),t(fe,[2,106]),t(fe,[2,107]),t(fe,[2,108]),t(fe,[2,109]),t(fe,[2,110]),t(fe,[2,111]),t(fe,[2,112]),t(N,[2,99]),t(F,[2,64]),t(N,[2,66],{61:_e}),{60:[1,149]},t($,[2,14]),{15:150,16:84,17:85,60:p,86:k,100:S,102:A,103:L},{39:[2,12]},t(ke,[2,49]),{13:[1,151]},{1:[2,4]},t(we,[2,62]),t(we,[2,61]),{16:39,17:40,19:152,60:p,86:k,100:S,102:A,103:L},t(X,[2,73]),t(N,[2,34]),{41:[1,153]},{24:96,30:97,40:154,41:[2,38],43:23,46:a,54:h,56:f},{24:96,30:97,40:155,41:[2,41],43:23,46:a,54:h,56:f},{45:156,51:ie},t(F,[2,45]),{41:[2,55]},t(N,[2,53]),t(N,[2,85]),t(N,[2,87]),t(N,[2,88],{77:[1,157]}),t(N,[2,91]),t(N,[2,92],{13:[1,158]}),t(N,[2,94],{13:[1,160],77:[1,159]}),{22:Y,48:le,60:ee,82:J,84:161,85:109,86:te,87:Z,88:xe,89:de,90:Se},t(fe,[2,103]),t(Me,[2,68]),{39:[2,11]},{14:[1,162]},t(we,[2,63]),t(N,[2,35]),{41:[2,39]},{41:[2,42]},{41:[1,163]},t(N,[2,89]),t(N,[2,93]),t(N,[2,95]),t(N,[2,96],{77:[1,164]}),t($e,[2,101],{85:148,22:Y,48:le,60:ee,82:J,86:te,87:Z,88:xe,89:de,90:Se}),t(ke,[2,8]),t(F,[2,47]),t(N,[2,97])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],125:[2,12],128:[2,4],139:[2,55],150:[2,11],154:[2,39],155:[2,42]},parseError:o(function(Ge,Ne){if(Ne.recoverable)this.trace(Ge);else{var We=new Error(Ge);throw We.hash=Ne,We}},"parseError"),parse:o(function(Ge){var Ne=this,We=[0],j=[],ae=[null],U=[],ce=this.table,z="",ne=0,se=0,be=0,pe=2,me=1,Re=U.slice.call(arguments,1),ge=Object.create(this.lexer),Ie={yy:{}};for(var qe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,qe)&&(Ie.yy[qe]=this.yy[qe]);ge.setInput(Ge,Ie.yy),Ie.yy.lexer=ge,Ie.yy.parser=this,typeof ge.yylloc>"u"&&(ge.yylloc={});var Pe=ge.yylloc;U.push(Pe);var Xe=ge.options&&ge.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function oe(cr){We.length=We.length-2*cr,ae.length=ae.length-cr,U.length=U.length-cr}o(oe,"popStack");function et(){var cr;return cr=j.pop()||ge.lex()||me,typeof cr!="number"&&(cr instanceof Array&&(j=cr,cr=j.pop()),cr=Ne.symbols_[cr]||cr),cr}o(et,"lex");for(var he,ot,Dt,It,wt,Rt,it={},at,Ct,yt,dt;;){if(Dt=We[We.length-1],this.defaultActions[Dt]?It=this.defaultActions[Dt]:((he===null||typeof he>"u")&&(he=et()),It=ce[Dt]&&ce[Dt][he]),typeof It>"u"||!It.length||!It[0]){var Ht="";dt=[];for(at in ce[Dt])this.terminals_[at]&&at>pe&&dt.push("'"+this.terminals_[at]+"'");ge.showPosition?Ht="Parse error on line "+(ne+1)+`: +`+ge.showPosition()+` +Expecting `+dt.join(", ")+", got '"+(this.terminals_[he]||he)+"'":Ht="Parse error on line "+(ne+1)+": Unexpected "+(he==me?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(Ht,{text:ge.match,token:this.terminals_[he]||he,line:ge.yylineno,loc:Pe,expected:dt})}if(It[0]instanceof Array&&It.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Dt+", token: "+he);switch(It[0]){case 1:We.push(he),ae.push(ge.yytext),U.push(ge.yylloc),We.push(It[1]),he=null,ot?(he=ot,ot=null):(se=ge.yyleng,z=ge.yytext,ne=ge.yylineno,Pe=ge.yylloc,be>0&&be--);break;case 2:if(Ct=this.productions_[It[1]][1],it.$=ae[ae.length-Ct],it._$={first_line:U[U.length-(Ct||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(Ct||1)].first_column,last_column:U[U.length-1].last_column},Xe&&(it._$.range=[U[U.length-(Ct||1)].range[0],U[U.length-1].range[1]]),Rt=this.performAction.apply(it,[z,se,ne,Ie.yy,It[1],ae,U].concat(Re)),typeof Rt<"u")return Rt;Ct&&(We=We.slice(0,-1*Ct*2),ae=ae.slice(0,-1*Ct),U=U.slice(0,-1*Ct)),We.push(this.productions_[It[1]][0]),ae.push(it.$),U.push(it._$),yt=ce[We[We.length-2]][We[We.length-1]],We.push(yt);break;case 3:return!0}}return!0},"parse")},Te=(function(){var Ue={EOF:1,parseError:o(function(Ne,We){if(this.yy.parser)this.yy.parser.parseError(Ne,We);else throw new Error(Ne)},"parseError"),setInput:o(function(Ge,Ne){return this.yy=Ne||this.yy||{},this._input=Ge,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 Ge=this._input[0];this.yytext+=Ge,this.yyleng++,this.offset++,this.match+=Ge,this.matched+=Ge;var Ne=Ge.match(/(?:\r\n?|\n).*/g);return Ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ge},"input"),unput:o(function(Ge){var Ne=Ge.length,We=Ge.split(/(?:\r\n?|\n)/g);this._input=Ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ne),this.offset-=Ne;var j=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),We.length-1&&(this.yylineno-=We.length-1);var ae=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:We?(We.length===j.length?this.yylloc.first_column:0)+j[j.length-We.length].length-We[0].length:this.yylloc.first_column-Ne},this.options.ranges&&(this.yylloc.range=[ae[0],ae[0]+this.yyleng-Ne]),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(Ge){this.unput(this.match.slice(Ge))},"less"),pastInput:o(function(){var Ge=this.matched.substr(0,this.matched.length-this.match.length);return(Ge.length>20?"...":"")+Ge.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Ge=this.match;return Ge.length<20&&(Ge+=this._input.substr(0,20-Ge.length)),(Ge.substr(0,20)+(Ge.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Ge=this.pastInput(),Ne=new Array(Ge.length+1).join("-");return Ge+this.upcomingInput()+` +`+Ne+"^"},"showPosition"),test_match:o(function(Ge,Ne){var We,j,ae;if(this.options.backtrack_lexer&&(ae={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&&(ae.yylloc.range=this.yylloc.range.slice(0))),j=Ge[0].match(/(?:\r\n?|\n).*/g),j&&(this.yylineno+=j.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:j?j[j.length-1].length-j[j.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ge[0].length},this.yytext+=Ge[0],this.match+=Ge[0],this.matches=Ge,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(Ge[0].length),this.matched+=Ge[0],We=this.performAction.call(this,this.yy,this,Ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),We)return We;if(this._backtrack){for(var U in ae)this[U]=ae[U];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ge,Ne,We,j;this._more||(this.yytext="",this.match="");for(var ae=this._currentRules(),U=0;UNe[0].length)){if(Ne=We,j=U,this.options.backtrack_lexer){if(Ge=this.test_match(We,ae[U]),Ge!==!1)return Ge;if(this._backtrack){Ne=!1;continue}else return!1}else if(!this.options.flex)break}return Ne?(Ge=this.test_match(Ne,ae[j]),Ge!==!1?Ge:!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 Ne=this.next();return Ne||this.lex()},"lex"),begin:o(function(Ne){this.conditionStack.push(Ne)},"begin"),popState:o(function(){var Ne=this.conditionStack.length-1;return Ne>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(Ne){return Ne=this.conditionStack.length-1-Math.abs(Ne||0),Ne>=0?this.conditionStack[Ne]:"INITIAL"},"topState"),pushState:o(function(Ne){this.begin(Ne)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ne,We,j,ae){var U=ae;switch(j){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:return this.popState(),41;break;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;break;case 39:return this.popState(),8;break;case 40:break;case 41:return this.popState(),this.popState(),41;break;case 42:return this.begin("class-body"),39;break;case 43:return this.popState(),41;break;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 83;case 50:return 75;case 51:return 76;case 52:return 78;case 53:return 54;case 54:return 56;case 55:return 49;case 56:return 50;case 57:return 81;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 77;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 69;case 69:return 69;case 70:return 71;case 71:return 71;case 72:return 70;case 73:return 68;case 74:return 72;case 75:return 73;case 76:return 74;case 77:return 22;case 78:return 44;case 79:return 100;case 80:return 18;case 81:return"PLUS";case 82:return 87;case 83:return 61;case 84:return 89;case 85:return 89;case 86:return 90;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 60;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 86;case 94:return 102;case 95:return 48;case 96:return 48;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return Ue})();Ke.lexer=Te;function Be(){this.yy={}}return o(Be,"Parser"),Be.prototype=Ke,Ke.Parser=Be,new Be})();oU.parser=oU;W7=oU});var Ywe,y3,jwe=O(()=>{"use strict";jt();Ur();Ywe=["#","+","~","-",""],y3=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=wr(e,ve());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+jc(this.id);this.memberType==="method"&&(e+=`(${jc(this.parameters.trim())})`,this.returnType&&(e+=" : "+jc(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){let s=a[1]?a[1].trim():"";if(Ywe.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let i=e.length,a=e.substring(0,1),s=e.substring(i-1);Ywe.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let n=`${this.visibility?"\\"+this.visibility:""}${jc(this.id)}${this.memberType==="method"?`(${jc(this.parameters)})${this.returnType?" : "+jc(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var H7,Xwe,Km,Fv,cU=O(()=>{"use strict";Ar();xt();jt();Ur();ar();si();a0();jwe();S2();H7="classId-",Xwe=0,Km=o(t=>st.sanitizeText(t,ve()),"sanitizeText"),Fv=class{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=new Map;this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=o(e=>{let r=sk();je(e).select("svg").selectAll("g").filter(function(){return je(this).attr("title")!==null}).on("mouseover",a=>{let s=je(a.currentTarget),l=s.attr("title");if(!l)return;let u=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(fl.sanitize(l)).style("left",`${window.scrollX+u.left+u.width/2}px`).style("top",`${window.scrollY+u.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),je(a.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=Lr;this.getAccTitle=Or;this.setAccDescription=Pr;this.getAccDescription=Br;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getConfig=o(()=>ve().class,"getConfig");this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{o(this,"ClassDB")}splitClassNameAndType(e){let r=st.sanitizeText(e,ve()),n="",i=r;if(r.indexOf("~")>0){let a=r.split("~");i=Km(a[0]),n=Km(a[1])}return{className:i,type:n}}setClassLabel(e,r){let n=st.sanitizeText(e,ve());r&&(r=Km(r));let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){let r=st.sanitizeText(e,ve()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;let a=st.sanitizeText(n,ve());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:H7+a+"-"+Xwe}),Xwe++}addInterface(e,r){let n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}lookUpDomId(e){let r=st.sanitizeText(e,ve());if(this.classes.has(r))return this.classes.get(r).domId;throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",_r()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){let r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){K.debug("Adding relation: "+JSON.stringify(e));let r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=st.sanitizeText(e.relationTitle1.trim(),ve()),e.relationTitle2=st.sanitizeText(e.relationTitle2.trim(),ve()),this.relations.push(e)}addAnnotation(e,r){let n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);let n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){let a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Km(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new y3(a,"method")):a&&i.members.push(new y3(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){let n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Km(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=H7+i);let a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(let n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Km(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){let i=ve();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=H7+s);let l=this.classes.get(s);l&&(l.link=Xt.formatUrl(r,i),i.securityLevel==="sandbox"?l.linkTarget="_top":typeof n=="string"?l.linkTarget=Km(n):l.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){let i=st.sanitizeText(e,ve());if(ve().securityLevel!=="loose"||r===void 0)return;let s=i;if(this.classes.has(s)){let l=this.lookUpDomId(s),u=[];if(typeof n=="string"){u=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let h=0;h{let h=document.querySelector(`[id="${l}"]`);h!==null&&h.addEventListener("click",()=>{Xt.runFunc(r,...u)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,notes:new Map,children:new Map,domId:H7+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(let i of r){let{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(let i of n){let a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){let n=this.classes.get(e);if(!(!r||!n))for(let i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){let e=[],r=[],n=ve();for(let a of this.namespaces.values()){let s={id:a.id,label:a.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look};e.push(s)}for(let a of this.classes.values()){let s={...a,type:void 0,isGroup:!1,parentId:a.parent,look:n.look};e.push(s)}for(let a of this.notes.values()){let s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:a.parent,labelType:"markdown"};e.push(s);let l=this.classes.get(a.class)?.id;if(l){let u={id:`edgeNote${a.index}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(u)}}for(let a of this.interfaces){let s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}let i=0;for(let a of this.relations){i++;let s={id:hu(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}}});var Mct,Y7,uU=O(()=>{"use strict";ly();Mct=o(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; @@ -1819,6 +1862,30 @@ Expecting `+pt.join(", ")+", got '"+(this.terminals_[We]||We)+"'":Zr="Parse erro } + .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}; } @@ -1965,13 +2032,13 @@ g.classGroup line { font-size: 18px; fill: ${t.textColor}; } - ${Su()} -`,"getStyles"),I7=Vot});var qot,Uot,Wot,O7,Kq=I(()=>{"use strict";Qt();gt();y0();Cd();Ad();sr();qot=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Uot=o(function(t,e){return e.db.getClasses()},"getClasses"),Wot=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing class diagram (v3)",e);let{securityLevel:i,state:a,layout:s}=xe(),l=n.db.getData(),u=xl(e,i);l.type=n.type,l.layoutAlgorithm=ku(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=e,await _l(l,u);let h=8;jt.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),mo(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),O7={getClasses:Uot,draw:Wot,getDir:qot}});var uwe={};vr(uwe,{diagram:()=>Hot});var Hot,hwe=I(()=>{"use strict";Yq();jq();Xq();Kq();Hot={parser:N7,get db(){return new Rv},renderer:O7,styles:I7,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var pwe={};vr(pwe,{diagram:()=>Kot});var Kot,mwe=I(()=>{"use strict";Yq();jq();Xq();Kq();Kot={parser:N7,get db(){return new Rv},renderer:O7,styles:I7,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var Qq,P7,Zq=I(()=>{"use strict";Qq=(function(){var t=o(function(F,G,$,V){for($=$||{},V=F.length;V--;$[F[V]]=G);return $},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,33],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],T=[1,28],E=[1,29],w=[1,30],k=[1,31],C=[1,32],D=[1,35],R=[1,36],O=[1,37],L=[1,38],S=[1,34],A=[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],_=[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],N=[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],M={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(G,$,V,K,ee,H,he){var Z=H.length-1;switch(ee){case 3:return K.setRootDoc(H[Z]),H[Z];break;case 4:this.$=[];break;case 5:H[Z]!="nl"&&(H[Z-1].push(H[Z]),this.$=H[Z-1]);break;case 6:case 7:this.$=H[Z];break;case 8:this.$="nl";break;case 12:this.$=H[Z];break;case 13:let te=H[Z-1];te.description=K.trimColon(H[Z]),this.$=te;break;case 14:this.$={stmt:"relation",state1:H[Z-2],state2:H[Z]};break;case 15:let Q=K.trimColon(H[Z]);this.$={stmt:"relation",state1:H[Z-3],state2:H[Z-1],description:Q};break;case 19:this.$={stmt:"state",id:H[Z-3],type:"default",description:"",doc:H[Z-1]};break;case 20:var de=H[Z],re=H[Z-2].trim();if(H[Z].match(":")){var ne=H[Z].split(":");de=ne[0],re=[re,ne[1]]}this.$={stmt:"state",id:de,type:"default",description:re};break;case 21:this.$={stmt:"state",id:H[Z-3],type:"default",description:H[Z-5],doc:H[Z-1]};break;case 22:this.$={stmt:"state",id:H[Z],type:"fork"};break;case 23:this.$={stmt:"state",id:H[Z],type:"join"};break;case 24:this.$={stmt:"state",id:H[Z],type:"choice"};break;case 25:this.$={stmt:"state",id:K.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:H[Z-1].trim(),note:{position:H[Z-2].trim(),text:H[Z].trim()}};break;case 29:this.$=H[Z].trim(),K.setAccTitle(this.$);break;case 30:case 31:this.$=H[Z].trim(),K.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:H[Z-3],url:H[Z-2],tooltip:H[Z-1]};break;case 33:this.$={stmt:"click",id:H[Z-3],url:H[Z-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:H[Z-1].trim(),classes:H[Z].trim()};break;case 36:this.$={stmt:"style",id:H[Z-1].trim(),styleClass:H[Z].trim()};break;case 37:this.$={stmt:"applyClass",id:H[Z-1].trim(),styleClass:H[Z].trim()};break;case 38:K.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:K.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:K.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:K.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:H[Z].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:H[Z-2].trim(),classes:[H[Z].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:H[Z-2].trim(),classes:[H[Z].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:C,51:D,52:R,53:O,54:L,57:S},t(A,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:C,51:D,52:R,53:O,54:L,57:S},t(A,[2,7]),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(A,[2,11]),t(A,[2,12],{14:[1,40],15:[1,41]}),t(A,[2,16]),{18:[1,42]},t(A,[2,18],{20:[1,43]}),{23:[1,44]},t(A,[2,22]),t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(A,[2,28]),{34:[1,49]},{36:[1,50]},t(A,[2,31]),{13:51,24:d,57:S},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(_,[2,44],{58:[1,56]}),t(_,[2,45],{58:[1,57]}),t(A,[2,38]),t(A,[2,39]),t(A,[2,40]),t(A,[2,41]),t(A,[2,6]),t(A,[2,13]),{13:58,24:d,57:S},t(A,[2,17]),t(N,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(A,[2,29]),t(A,[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(A,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,72],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:C,51:D,52:R,53:O,54:L,57:S},t(A,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(A,[2,34]),t(A,[2,35]),t(A,[2,36]),t(A,[2,37]),t(_,[2,46]),t(_,[2,47]),t(A,[2,15]),t(A,[2,19]),t(N,i,{7:78}),t(A,[2,26]),t(A,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,81],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:C,51:D,52:R,53:O,54:L,57:S},t(A,[2,32]),t(A,[2,33]),t(A,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:o(function(G,$){if($.recoverable)this.trace(G);else{var V=new Error(G);throw V.hash=$,V}},"parseError"),parse:o(function(G){var $=this,V=[0],K=[],ee=[null],H=[],he=this.table,Z="",de=0,re=0,ne=0,te=2,Q=1,le=H.slice.call(arguments,1),J=Object.create(this.lexer),ge={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ge.yy[ie]=this.yy[ie]);J.setInput(G,ge.yy),ge.yy.lexer=J,ge.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Te=J.yylloc;H.push(Te);var j=J.options&&J.options.ranges;typeof ge.yy.parseError=="function"?this.parseError=ge.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ge(z){V.length=V.length-2*z,ee.length=ee.length-z,H.length=H.length-z}o(Ge,"popStack");function ye(){var z;return z=K.pop()||J.lex()||Q,typeof z!="number"&&(z instanceof Array&&(K=z,z=K.pop()),z=$.symbols_[z]||z),z}o(ye,"lex");for(var $e,Xe,Ue,Le,Ie,Me,Ae={},ze,Y,ce,U;;){if(Ue=V[V.length-1],this.defaultActions[Ue]?Le=this.defaultActions[Ue]:(($e===null||typeof $e>"u")&&($e=ye()),Le=he[Ue]&&he[Ue][$e]),typeof Le>"u"||!Le.length||!Le[0]){var ue="";U=[];for(ze in he[Ue])this.terminals_[ze]&&ze>te&&U.push("'"+this.terminals_[ze]+"'");J.showPosition?ue="Parse error on line "+(de+1)+`: -`+J.showPosition()+` -Expecting `+U.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":ue="Parse error on line "+(de+1)+": Unexpected "+($e==Q?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(ue,{text:J.match,token:this.terminals_[$e]||$e,line:J.yylineno,loc:Te,expected:U})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ue+", token: "+$e);switch(Le[0]){case 1:V.push($e),ee.push(J.yytext),H.push(J.yylloc),V.push(Le[1]),$e=null,Xe?($e=Xe,Xe=null):(re=J.yyleng,Z=J.yytext,de=J.yylineno,Te=J.yylloc,ne>0&&ne--);break;case 2:if(Y=this.productions_[Le[1]][1],Ae.$=ee[ee.length-Y],Ae._$={first_line:H[H.length-(Y||1)].first_line,last_line:H[H.length-1].last_line,first_column:H[H.length-(Y||1)].first_column,last_column:H[H.length-1].last_column},j&&(Ae._$.range=[H[H.length-(Y||1)].range[0],H[H.length-1].range[1]]),Me=this.performAction.apply(Ae,[Z,re,de,ge.yy,Le[1],ee,H].concat(le)),typeof Me<"u")return Me;Y&&(V=V.slice(0,-1*Y*2),ee=ee.slice(0,-1*Y),H=H.slice(0,-1*Y)),V.push(this.productions_[Le[1]][0]),ee.push(Ae.$),H.push(Ae._$),ce=he[V[V.length-2]][V[V.length-1]],V.push(ce);break;case 3:return!0}}return!0},"parse")},P=(function(){var F={EOF:1,parseError:o(function($,V){if(this.yy.parser)this.yy.parser.parseError($,V);else throw new Error($)},"parseError"),setInput:o(function(G,$){return this.yy=$||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:o(function(){var G=this._input[0];this.yytext+=G,this.yyleng++,this.offset++,this.match+=G,this.matched+=G;var $=G.match(/(?:\r\n?|\n).*/g);return $?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),G},"input"),unput:o(function(G){var $=G.length,V=G.split(/(?:\r\n?|\n)/g);this._input=G+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;var K=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),V.length-1&&(this.yylineno-=V.length-1);var ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:V?(V.length===K.length?this.yylloc.first_column:0)+K[K.length-V.length].length-V[0].length:this.yylloc.first_column-$},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-$]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). + ${Lu()} +`,"getStyles"),Y7=Mct});var Ict,Oct,Pct,j7,hU=O(()=>{"use strict";jt();xt();b0();Rd();Ld();ar();Ict=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Oct=o(function(t,e){return e.db.getClasses()},"getClasses"),Pct=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing class diagram (v3)",e);let{securityLevel:i,state:a,layout:s}=ve(),l=n.db.getData(),u=Sl(e,i);l.type=n.type,l.layoutAlgorithm=Ru(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=e,await Ol(l,u);let h=8;Xt.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),bo(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),j7={getClasses:Oct,draw:Pct,getDir:Ict}});var Kwe={};vr(Kwe,{diagram:()=>Bct});var Bct,Qwe=O(()=>{"use strict";lU();cU();uU();hU();Bct={parser:W7,get db(){return new Fv},renderer:j7,styles:Y7,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var e5e={};vr(e5e,{diagram:()=>Gct});var Gct,t5e=O(()=>{"use strict";lU();cU();uU();hU();Gct={parser:W7,get db(){return new Fv},renderer:j7,styles:Y7,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var fU,X7,dU=O(()=>{"use strict";fU=(function(){var t=o(function(F,G,$,V){for($=$||{},V=F.length;V--;$[F[V]]=G);return $},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,33],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],T=[1,28],E=[1,29],w=[1,30],k=[1,31],S=[1,32],A=[1,35],L=[1,36],I=[1,37],N=[1,38],C=[1,34],_=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],M=[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],R={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(G,$,V,X,Q,H,ie){var Y=H.length-1;switch(Q){case 3:return X.setRootDoc(H[Y]),H[Y];break;case 4:this.$=[];break;case 5:H[Y]!="nl"&&(H[Y-1].push(H[Y]),this.$=H[Y-1]);break;case 6:case 7:this.$=H[Y];break;case 8:this.$="nl";break;case 12:this.$=H[Y];break;case 13:let te=H[Y-1];te.description=X.trimColon(H[Y]),this.$=te;break;case 14:this.$={stmt:"relation",state1:H[Y-2],state2:H[Y]};break;case 15:let Z=X.trimColon(H[Y]);this.$={stmt:"relation",state1:H[Y-3],state2:H[Y-1],description:Z};break;case 19:this.$={stmt:"state",id:H[Y-3],type:"default",description:"",doc:H[Y-1]};break;case 20:var le=H[Y],ee=H[Y-2].trim();if(H[Y].match(":")){var J=H[Y].split(":");le=J[0],ee=[ee,J[1]]}this.$={stmt:"state",id:le,type:"default",description:ee};break;case 21:this.$={stmt:"state",id:H[Y-3],type:"default",description:H[Y-5],doc:H[Y-1]};break;case 22:this.$={stmt:"state",id:H[Y],type:"fork"};break;case 23:this.$={stmt:"state",id:H[Y],type:"join"};break;case 24:this.$={stmt:"state",id:H[Y],type:"choice"};break;case 25:this.$={stmt:"state",id:X.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:H[Y-1].trim(),note:{position:H[Y-2].trim(),text:H[Y].trim()}};break;case 29:this.$=H[Y].trim(),X.setAccTitle(this.$);break;case 30:case 31:this.$=H[Y].trim(),X.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:H[Y-3],url:H[Y-2],tooltip:H[Y-1]};break;case 33:this.$={stmt:"click",id:H[Y-3],url:H[Y-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:H[Y-1].trim(),classes:H[Y].trim()};break;case 36:this.$={stmt:"style",id:H[Y-1].trim(),styleClass:H[Y].trim()};break;case 37:this.$={stmt:"applyClass",id:H[Y-1].trim(),styleClass:H[Y].trim()};break;case 38:X.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:X.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:X.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:X.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:H[Y].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:H[Y-2].trim(),classes:[H[Y].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:H[Y-2].trim(),classes:[H[Y].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:S,51:A,52:L,53:I,54:N,57:C},t(_,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:S,51:A,52:L,53:I,54:N,57:C},t(_,[2,7]),t(_,[2,8]),t(_,[2,9]),t(_,[2,10]),t(_,[2,11]),t(_,[2,12],{14:[1,40],15:[1,41]}),t(_,[2,16]),{18:[1,42]},t(_,[2,18],{20:[1,43]}),{23:[1,44]},t(_,[2,22]),t(_,[2,23]),t(_,[2,24]),t(_,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(_,[2,28]),{34:[1,49]},{36:[1,50]},t(_,[2,31]),{13:51,24:d,57:C},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(D,[2,44],{58:[1,56]}),t(D,[2,45],{58:[1,57]}),t(_,[2,38]),t(_,[2,39]),t(_,[2,40]),t(_,[2,41]),t(_,[2,6]),t(_,[2,13]),{13:58,24:d,57:C},t(_,[2,17]),t(M,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(_,[2,29]),t(_,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(_,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,72],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:S,51:A,52:L,53:I,54:N,57:C},t(_,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(_,[2,34]),t(_,[2,35]),t(_,[2,36]),t(_,[2,37]),t(D,[2,46]),t(D,[2,47]),t(_,[2,15]),t(_,[2,19]),t(M,i,{7:78}),t(_,[2,26]),t(_,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,81],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:E,41:w,45:k,48:S,51:A,52:L,53:I,54:N,57:C},t(_,[2,32]),t(_,[2,33]),t(_,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:o(function(G,$){if($.recoverable)this.trace(G);else{var V=new Error(G);throw V.hash=$,V}},"parseError"),parse:o(function(G){var $=this,V=[0],X=[],Q=[null],H=[],ie=this.table,Y="",le=0,ee=0,J=0,te=2,Z=1,xe=H.slice.call(arguments,1),de=Object.create(this.lexer),Se={yy:{}};for(var Me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Me)&&(Se.yy[Me]=this.yy[Me]);de.setInput(G,Se.yy),Se.yy.lexer=de,Se.yy.parser=this,typeof de.yylloc>"u"&&(de.yylloc={});var ke=de.yylloc;H.push(ke);var we=de.options&&de.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(z){V.length=V.length-2*z,Q.length=Q.length-z,H.length=H.length-z}o(_e,"popStack");function $e(){var z;return z=X.pop()||de.lex()||Z,typeof z!="number"&&(z instanceof Array&&(X=z,z=X.pop()),z=$.symbols_[z]||z),z}o($e,"lex");for(var fe,Ke,Te,Be,Ue,Ge,Ne={},We,j,ae,U;;){if(Te=V[V.length-1],this.defaultActions[Te]?Be=this.defaultActions[Te]:((fe===null||typeof fe>"u")&&(fe=$e()),Be=ie[Te]&&ie[Te][fe]),typeof Be>"u"||!Be.length||!Be[0]){var ce="";U=[];for(We in ie[Te])this.terminals_[We]&&We>te&&U.push("'"+this.terminals_[We]+"'");de.showPosition?ce="Parse error on line "+(le+1)+`: +`+de.showPosition()+` +Expecting `+U.join(", ")+", got '"+(this.terminals_[fe]||fe)+"'":ce="Parse error on line "+(le+1)+": Unexpected "+(fe==Z?"end of input":"'"+(this.terminals_[fe]||fe)+"'"),this.parseError(ce,{text:de.match,token:this.terminals_[fe]||fe,line:de.yylineno,loc:ke,expected:U})}if(Be[0]instanceof Array&&Be.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+fe);switch(Be[0]){case 1:V.push(fe),Q.push(de.yytext),H.push(de.yylloc),V.push(Be[1]),fe=null,Ke?(fe=Ke,Ke=null):(ee=de.yyleng,Y=de.yytext,le=de.yylineno,ke=de.yylloc,J>0&&J--);break;case 2:if(j=this.productions_[Be[1]][1],Ne.$=Q[Q.length-j],Ne._$={first_line:H[H.length-(j||1)].first_line,last_line:H[H.length-1].last_line,first_column:H[H.length-(j||1)].first_column,last_column:H[H.length-1].last_column},we&&(Ne._$.range=[H[H.length-(j||1)].range[0],H[H.length-1].range[1]]),Ge=this.performAction.apply(Ne,[Y,ee,le,Se.yy,Be[1],Q,H].concat(xe)),typeof Ge<"u")return Ge;j&&(V=V.slice(0,-1*j*2),Q=Q.slice(0,-1*j),H=H.slice(0,-1*j)),V.push(this.productions_[Be[1]][0]),Q.push(Ne.$),H.push(Ne._$),ae=ie[V[V.length-2]][V[V.length-1]],V.push(ae);break;case 3:return!0}}return!0},"parse")},P=(function(){var F={EOF:1,parseError:o(function($,V){if(this.yy.parser)this.yy.parser.parseError($,V);else throw new Error($)},"parseError"),setInput:o(function(G,$){return this.yy=$||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:o(function(){var G=this._input[0];this.yytext+=G,this.yyleng++,this.offset++,this.match+=G,this.matched+=G;var $=G.match(/(?:\r\n?|\n).*/g);return $?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),G},"input"),unput:o(function(G){var $=G.length,V=G.split(/(?:\r\n?|\n)/g);this._input=G+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;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),V.length-1&&(this.yylineno-=V.length-1);var Q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:V?(V.length===X.length?this.yylloc.first_column:0)+X[X.length-V.length].length-V[0].length:this.yylloc.first_column-$},this.options.ranges&&(this.yylloc.range=[Q[0],Q[0]+this.yyleng-$]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(G){this.unput(this.match.slice(G))},"less"),pastInput:o(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:o(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:o(function(){var G=this.pastInput(),$=new Array(G.length+1).join("-");return G+this.upcomingInput()+` -`+$+"^"},"showPosition"),test_match:o(function(G,$){var V,K,ee;if(this.options.backtrack_lexer&&(ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ee.yylloc.range=this.yylloc.range.slice(0))),K=G[0].match(/(?:\r\n?|\n).*/g),K&&(this.yylineno+=K.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:K?K[K.length-1].length-K[K.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+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,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),V)return V;if(this._backtrack){for(var H in ee)this[H]=ee[H];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var G,$,V,K;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),H=0;H$[0].length)){if($=V,K=H,this.options.backtrack_lexer){if(G=this.test_match(V,ee[H]),G!==!1)return G;if(this._backtrack){$=!1;continue}else return!1}else if(!this.options.flex)break}return $?(G=this.test_match($,ee[K]),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:o(function(){var $=this.next();return $||this.lex()},"lex"),begin:o(function($){this.conditionStack.push($)},"begin"),popState:o(function(){var $=this.conditionStack.length-1;return $>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function($){return $=this.conditionStack.length-1-Math.abs($||0),$>=0?this.conditionStack[$]:"INITIAL"},"topState"),pushState:o(function($){this.begin($)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function($,V,K,ee){var H=ee;switch(K){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;break;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;break;case 19:return this.popState(),"acc_title_value";break;case 20:return this.begin("acc_descr"),35;break;case 21:return this.popState(),"acc_descr_value";break;case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;break;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 27:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 28:return this.popState(),43;break;case 29:return this.pushState("CLASS"),48;break;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 31:return this.popState(),50;break;case 32:return this.pushState("STYLE"),45;break;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 34:return this.popState(),47;break;case 35:return this.pushState("SCALE"),17;break;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 42:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 43:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 44:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";break;case 51:return this.popState(),"ID";break;case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;break;case 57:break;case 58:return this.popState(),21;break;case 59:break;case 60:return this.begin("NOTE"),29;break;case 61:return this.popState(),this.pushState("NOTE_ID"),59;break;case 62:return this.popState(),this.pushState("NOTE_ID"),60;break;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";break;case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 69:return this.popState(),V.yytext=V.yytext.substr(2).trim(),31;break;case 70:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),31;break;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return V.yytext=V.yytext.trim(),14;break;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return F})();M.lexer=P;function B(){this.yy={}}return o(B,"Parser"),B.prototype=M,M.Parser=B,new B})();Qq.parser=Qq;P7=Qq});var pp,Ym,o3,vwe,xwe,bwe,jm,B7,Jq,eU,tU,rU,F7,$7,Twe,wwe,nU,iU,kwe,Swe,Lv,elt,Ewe,aU,tlt,rlt,Cwe,Awe,nlt,_we,ilt,Dwe,sU,oU,Rwe,z7,Lwe,lU,G7=I(()=>{"use strict";pp="state",Ym="root",o3="relation",vwe="classDef",xwe="style",bwe="applyClass",jm="default",B7="divider",Jq="fill:none",eU="fill: #333",tU="text",rU="normal",F7="rect",$7="rectWithTitle",Twe="stateStart",wwe="stateEnd",nU="divider",iU="roundedWithTitle",kwe="note",Swe="noteGroup",Lv="statediagram",elt="state",Ewe=`${Lv}-${elt}`,aU="transition",tlt="note",rlt="note-edge",Cwe=`${aU} ${rlt}`,Awe=`${Lv}-${tlt}`,nlt="cluster",_we=`${Lv}-${nlt}`,ilt="cluster-alt",Dwe=`${Lv}-${ilt}`,sU="parent",oU="note",Rwe="state",z7="----",Lwe=`${z7}${oU}`,lU=`${z7}${sU}`});function cU(t="",e=0,r="",n=z7){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${Rwe}-${t}${i}-${e}`}function V7(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{let a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function slt(t){return t?.classes?.join(" ")??""}function olt(t){return t?.styles??[]}var q7,mp,alt,Nwe,Nv,Iwe,Owe=I(()=>{"use strict";Qt();gt();wr();G7();q7=new Map,mp=0;o(cU,"stateDomId");alt=o((t,e,r,n,i,a,s,l)=>{X.trace("items",e),e.forEach(u=>{switch(u.stmt){case pp:Nv(t,u,r,n,i,a,s,l);break;case jm:Nv(t,u,r,n,i,a,s,l);break;case o3:{Nv(t,u.state1,r,n,i,a,s,l),Nv(t,u.state2,r,n,i,a,s,l);let h={id:"edge"+mp,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Jq,labelStyle:"",label:nt.sanitizeText(u.description??"",xe()),arrowheadStyle:eU,labelpos:"c",labelType:tU,thickness:rU,classes:aU,look:s};i.push(h),mp++}break}})},"setupDoc"),Nwe=o((t,e="TB")=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");o(V7,"insertOrUpdateNode");o(slt,"getClassesFromDbInfo");o(olt,"getStylesFromDbInfo");Nv=o((t,e,r,n,i,a,s,l)=>{let u=e.id,h=r.get(u),f=slt(h),d=olt(h),p=xe();if(X.info("dataFetcher parsedItem",e,h,d),u!=="root"){let m=F7;e.start===!0?m=Twe:e.start===!1&&(m=wwe),e.type!==jm&&(m=e.type),q7.get(u)||q7.set(u,{id:u,shape:m,description:nt.sanitizeText(u,p),cssClasses:`${f} ${Ewe}`,cssStyles:d});let g=q7.get(u);e.description&&(Array.isArray(g.description)?(g.shape=$7,g.description.push(e.description)):g.description?.length&&g.description.length>0?(g.shape=$7,g.description===u?g.description=[e.description]:g.description=[g.description,e.description]):(g.shape=F7,g.description=e.description),g.description=nt.sanitizeTextOrArray(g.description,p)),g.description?.length===1&&g.shape===$7&&(g.type==="group"?g.shape=iU:g.shape=F7),!g.type&&e.doc&&(X.info("Setting cluster for XCX",u,Nwe(e)),g.type="group",g.isGroup=!0,g.dir=Nwe(e),g.shape=e.type===B7?nU:iU,g.cssClasses=`${g.cssClasses} ${_we} ${a?Dwe:""}`);let y={labelStyle:"",shape:g.shape,label:g.description,cssClasses:g.cssClasses,cssCompiledStyles:[],cssStyles:g.cssStyles,id:u,dir:g.dir,domId:cU(u,mp),type:g.type,isGroup:g.type==="group",padding:8,rx:10,ry:10,look:s};if(y.shape===nU&&(y.label=""),t&&t.id!=="root"&&(X.trace("Setting node ",u," to be child of its parent ",t.id),y.parentId=t.id),y.centerLabel=!0,e.note){let v={labelStyle:"",shape:kwe,label:e.note.text,cssClasses:Awe,cssStyles:[],cssCompiledStyles:[],id:u+Lwe+"-"+mp,domId:cU(u,mp,oU),type:g.type,isGroup:g.type==="group",padding:p.flowchart?.padding,look:s,position:e.note.position},x=u+lU,b={labelStyle:"",shape:Swe,label:e.note.text,cssClasses:g.cssClasses,cssStyles:[],id:u+lU,domId:cU(u,mp,sU),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};mp++,b.id=x,v.parentId=x,V7(n,b,l),V7(n,v,l),V7(n,y,l);let T=u,E=v.id;e.note.position==="left of"&&(T=v.id,E=u),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:Jq,labelStyle:"",classes:Cwe,arrowheadStyle:eU,labelpos:"c",labelType:tU,thickness:rU,look:s})}else V7(n,y,l)}e.doc&&(X.trace("Adding nodes children "),alt(e,e.doc,r,n,i,!a,s,l))},"dataFetcher"),Iwe=o(()=>{q7.clear(),mp=0},"reset")});var hU,llt,clt,Pwe,fU=I(()=>{"use strict";Qt();gt();y0();Cd();Ad();sr();G7();hU=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),llt=o(function(t,e){return e.db.getClasses()},"getClasses"),clt=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:s}=xe();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=xl(e,i);l.type=n.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await _l(l,u);let h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((d,p)=>{let m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){X.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(p));return}let g=u.node()?.querySelectorAll("g"),y;if(g?.forEach(T=>{T.textContent?.trim()===m&&(y=T)}),!y){X.warn("\u26A0\uFE0F Could not find node matching text:",m);return}let v=y.parentNode;if(!v){X.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",m);return}let x=document.createElementNS("http://www.w3.org/2000/svg","a"),b=d.url.replace(/^"+|"+$/g,"");if(x.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b),x.setAttribute("target","_blank"),d.tooltip){let T=d.tooltip.replace(/^"+|"+$/g,"");x.setAttribute("title",T)}v.replaceChild(x,y),x.appendChild(y),X.info("\u{1F517} Wrapped node in
    tag for:",m,d.url)})}catch(f){X.error("\u274C Error injecting clickable links:",f)}jt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),mo(u,h,Lv,a?.useMaxWidth??!0)},"draw"),Pwe={getClasses:llt,draw:clt,getDir:hU}});var Us,Fwe,$we,U7,Fl,W7=I(()=>{"use strict";Qt();gt();sr();wr();ki();Owe();fU();G7();Us={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},Fwe=o(()=>new Map,"newClassesList"),$we=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),U7=o(t=>JSON.parse(JSON.stringify(t)),"clone"),Fl=class{constructor(e){this.version=e;this.nodes=[];this.edges=[];this.rootDoc=[];this.classes=Fwe();this.documents={root:$we()};this.currentDocument=this.documents.root;this.startEndCount=0;this.dividerCnt=0;this.links=new Map;this.getAccTitle=Vr;this.setAccTitle=zr;this.getAccDescription=Ur;this.setAccDescription=qr;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}static{o(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(e){this.clear(!0);for(let i of Array.isArray(e)?e:e.doc)switch(i.stmt){case pp:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case o3:this.addRelation(i.state1,i.state2,i.description);break;case vwe:this.addStyleClass(i.id.trim(),i.classes);break;case xwe:this.handleStyleDef(i);break;case bwe:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}let r=this.getStates(),n=xe();Iwe(),Nv(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(let i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){let r=e.id.trim().split(","),n=e.styleClass.split(",");for(let i of r){let a=this.getState(i);if(!a){let s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){X.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===o3){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===pp&&(r.id===Us.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Ym&&r.stmt!==pp||!r.doc)return;let i=[],a=[];for(let s of r.doc)if(s.type===B7){let l=U7(s);l.doc=U7(a),i.push(l),a=[]}else a.push(s);if(i.length>0&&a.length>0){let s={stmt:pp,id:gN(),type:"divider",doc:U7(a)};i.push(U7(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Ym,stmt:Ym},{id:Ym,stmt:Ym,doc:this.rootDoc},!0),{id:Ym,doc:this.rootDoc}}addState(e,r=jm,n=void 0,i=void 0,a=void 0,s=void 0,l=void 0,u=void 0){let h=e?.trim();if(!this.currentDocument.states.has(h))X.info("Adding state ",h,i),this.currentDocument.states.set(h,{stmt:pp,id:h,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.doc||(f.doc=n),f.type||(f.type=r)}if(i&&(X.info("Setting state description",h,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(h,d.trim()))),a){let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.note=a,f.note.text=nt.sanitizeText(f.note.text,xe())}s&&(X.info("Setting state classes",h,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(h,d.trim()))),l&&(X.info("Setting state styles",h,l),(Array.isArray(l)?l:[l]).forEach(d=>this.setStyle(h,d.trim()))),u&&(X.info("Setting state styles",h,l),(Array.isArray(u)?u:[u]).forEach(d=>this.setTextStyle(h,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:$we()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=Fwe(),e||(this.links=new Map,Mr())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){X.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),X.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===Us.START_NODE?(this.startEndCount++,`${Us.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=jm){return e===Us.START_NODE?Us.START_TYPE:r}endIdIfNeeded(e=""){return e===Us.END_NODE?(this.startEndCount++,`${Us.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=jm){return e===Us.END_NODE?Us.END_TYPE:r}addRelationObjs(e,r,n=""){let i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),l=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,l,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:nt.sanitizeText(n,xe())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){let i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),l=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,l),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?nt.sanitizeText(n,xe()):void 0})}}addDescription(e,r){let n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push(nt.sanitizeText(i,xe()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});let n=this.classes.get(e);r&&n&&r.split(Us.STYLECLASS_SEP).forEach(i=>{let a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(Us.COLOR_KEYWORD).exec(i)){let l=a.replace(Us.FILL_KEYWORD,Us.BG_FILL).replace(Us.COLOR_KEYWORD,Us.FILL_KEYWORD);n.textStyles.push(l)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){let a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt==="dir")}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(e){let r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:"dir",value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){let e=xe();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:hU(this.getRootDocV2())}}getConfig(){return xe().state}}});var hlt,H7,dU=I(()=>{"use strict";hlt=o(t=>` +`+$+"^"},"showPosition"),test_match:o(function(G,$){var V,X,Q;if(this.options.backtrack_lexer&&(Q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Q.yylloc.range=this.yylloc.range.slice(0))),X=G[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+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,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),V)return V;if(this._backtrack){for(var H in Q)this[H]=Q[H];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var G,$,V,X;this._more||(this.yytext="",this.match="");for(var Q=this._currentRules(),H=0;H$[0].length)){if($=V,X=H,this.options.backtrack_lexer){if(G=this.test_match(V,Q[H]),G!==!1)return G;if(this._backtrack){$=!1;continue}else return!1}else if(!this.options.flex)break}return $?(G=this.test_match($,Q[X]),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:o(function(){var $=this.next();return $||this.lex()},"lex"),begin:o(function($){this.conditionStack.push($)},"begin"),popState:o(function(){var $=this.conditionStack.length-1;return $>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function($){return $=this.conditionStack.length-1-Math.abs($||0),$>=0?this.conditionStack[$]:"INITIAL"},"topState"),pushState:o(function($){this.begin($)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function($,V,X,Q){var H=Q;switch(X){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;break;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;break;case 19:return this.popState(),"acc_title_value";break;case 20:return this.begin("acc_descr"),35;break;case 21:return this.popState(),"acc_descr_value";break;case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;break;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 27:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 28:return this.popState(),43;break;case 29:return this.pushState("CLASS"),48;break;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 31:return this.popState(),50;break;case 32:return this.pushState("STYLE"),45;break;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 34:return this.popState(),47;break;case 35:return this.pushState("SCALE"),17;break;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 42:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),25;break;case 43:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),26;break;case 44:return this.popState(),V.yytext=V.yytext.slice(0,-10).trim(),27;break;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";break;case 51:return this.popState(),"ID";break;case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;break;case 57:break;case 58:return this.popState(),21;break;case 59:break;case 60:return this.begin("NOTE"),29;break;case 61:return this.popState(),this.pushState("NOTE_ID"),59;break;case 62:return this.popState(),this.pushState("NOTE_ID"),60;break;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";break;case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 69:return this.popState(),V.yytext=V.yytext.substr(2).trim(),31;break;case 70:return this.popState(),V.yytext=V.yytext.slice(0,-8).trim(),31;break;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return V.yytext=V.yytext.trim(),14;break;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return F})();R.lexer=P;function B(){this.yy={}}return o(B,"Parser"),B.prototype=R,R.Parser=B,new B})();fU.parser=fU;X7=fU});var yp,Qm,v3,i5e,a5e,s5e,Zm,K7,pU,mU,gU,yU,Q7,Z7,o5e,l5e,vU,xU,c5e,u5e,$v,Wct,h5e,bU,Hct,Yct,f5e,d5e,jct,p5e,Xct,m5e,TU,wU,g5e,J7,y5e,kU,e_=O(()=>{"use strict";yp="state",Qm="root",v3="relation",i5e="classDef",a5e="style",s5e="applyClass",Zm="default",K7="divider",pU="fill:none",mU="fill: #333",gU="markdown",yU="normal",Q7="rect",Z7="rectWithTitle",o5e="stateStart",l5e="stateEnd",vU="divider",xU="roundedWithTitle",c5e="note",u5e="noteGroup",$v="statediagram",Wct="state",h5e=`${$v}-${Wct}`,bU="transition",Hct="note",Yct="note-edge",f5e=`${bU} ${Yct}`,d5e=`${$v}-${Hct}`,jct="cluster",p5e=`${$v}-${jct}`,Xct="cluster-alt",m5e=`${$v}-${Xct}`,TU="parent",wU="note",g5e="state",J7="----",y5e=`${J7}${wU}`,kU=`${J7}${TU}`});function EU(t="",e=0,r="",n=J7){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${g5e}-${t}${i}-${e}`}function t_(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{let a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function Qct(t){return t?.classes?.join(" ")??""}function Zct(t){return t?.styles??[]}var r_,vp,Kct,v5e,zv,b5e,T5e=O(()=>{"use strict";jt();xt();Ur();e_();r_=new Map,vp=0;o(EU,"stateDomId");Kct=o((t,e,r,n,i,a,s,l)=>{K.trace("items",e),e.forEach(u=>{switch(u.stmt){case yp:zv(t,u,r,n,i,a,s,l);break;case Zm:zv(t,u,r,n,i,a,s,l);break;case v3:{zv(t,u.state1,r,n,i,a,s,l),zv(t,u.state2,r,n,i,a,s,l);let h={id:"edge"+vp,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:pU,labelStyle:"",label:st.sanitizeText(u.description??"",ve()),arrowheadStyle:mU,labelpos:"c",labelType:gU,thickness:yU,classes:bU,look:s};i.push(h),vp++}break}})},"setupDoc"),v5e=o((t,e="TB")=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");o(t_,"insertOrUpdateNode");o(Qct,"getClassesFromDbInfo");o(Zct,"getStylesFromDbInfo");zv=o((t,e,r,n,i,a,s,l)=>{let u=e.id,h=r.get(u),f=Qct(h),d=Zct(h),p=ve();if(K.info("dataFetcher parsedItem",e,h,d),u!=="root"){let m=Q7;e.start===!0?m=o5e:e.start===!1&&(m=l5e),e.type!==Zm&&(m=e.type),r_.get(u)||r_.set(u,{id:u,shape:m,description:st.sanitizeText(u,p),cssClasses:`${f} ${h5e}`,cssStyles:d});let g=r_.get(u);e.description&&(Array.isArray(g.description)?(g.shape=Z7,g.description.push(e.description)):g.description?.length&&g.description.length>0?(g.shape=Z7,g.description===u?g.description=[e.description]:g.description=[g.description,e.description]):(g.shape=Q7,g.description=e.description),g.description=st.sanitizeTextOrArray(g.description,p)),g.description?.length===1&&g.shape===Z7&&(g.type==="group"?g.shape=xU:g.shape=Q7),!g.type&&e.doc&&(K.info("Setting cluster for XCX",u,v5e(e)),g.type="group",g.isGroup=!0,g.dir=v5e(e),g.shape=e.type===K7?vU:xU,g.cssClasses=`${g.cssClasses} ${p5e} ${a?m5e:""}`);let y={labelStyle:"",shape:g.shape,label:g.description,cssClasses:g.cssClasses,cssCompiledStyles:[],cssStyles:g.cssStyles,id:u,dir:g.dir,domId:EU(u,vp),type:g.type,isGroup:g.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(y.shape===vU&&(y.label=""),t&&t.id!=="root"&&(K.trace("Setting node ",u," to be child of its parent ",t.id),y.parentId=t.id),y.centerLabel=!0,e.note){let v={labelStyle:"",shape:c5e,label:e.note.text,labelType:"markdown",cssClasses:d5e,cssStyles:[],cssCompiledStyles:[],id:u+y5e+"-"+vp,domId:EU(u,vp,wU),type:g.type,isGroup:g.type==="group",padding:p.flowchart?.padding,look:s,position:e.note.position},x=u+kU,b={labelStyle:"",shape:u5e,label:e.note.text,cssClasses:g.cssClasses,cssStyles:[],id:u+kU,domId:EU(u,vp,TU),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};vp++,b.id=x,v.parentId=x,t_(n,b,l),t_(n,v,l),t_(n,y,l);let T=u,E=v.id;e.note.position==="left of"&&(T=v.id,E=u),i.push({id:T+"-"+E,start:T,end:E,arrowhead:"none",arrowTypeEnd:"",style:pU,labelStyle:"",classes:f5e,arrowheadStyle:mU,labelpos:"c",labelType:gU,thickness:yU,look:s})}else t_(n,y,l)}e.doc&&(K.trace("Adding nodes children "),Kct(e,e.doc,r,n,i,!a,s,l))},"dataFetcher"),b5e=o(()=>{r_.clear(),vp=0},"reset")});var CU,Jct,eut,w5e,AU=O(()=>{"use strict";jt();xt();b0();Rd();Ld();ar();e_();CU=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),Jct=o(function(t,e){return e.db.getClasses()},"getClasses"),eut=o(async function(t,e,r,n){K.info("REF0:"),K.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:s}=ve();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=Sl(e,i);l.type=n.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await Ol(l,u);let h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((d,p)=>{let m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){K.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(p));return}let g=u.node()?.querySelectorAll("g"),y;if(g?.forEach(T=>{T.textContent?.trim()===m&&(y=T)}),!y){K.warn("\u26A0\uFE0F Could not find node matching text:",m);return}let v=y.parentNode;if(!v){K.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",m);return}let x=document.createElementNS("http://www.w3.org/2000/svg","a"),b=d.url.replace(/^"+|"+$/g,"");if(x.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b),x.setAttribute("target","_blank"),d.tooltip){let T=d.tooltip.replace(/^"+|"+$/g,"");x.setAttribute("title",T)}v.replaceChild(x,y),x.appendChild(y),K.info("\u{1F517} Wrapped node in tag for:",m,d.url)})}catch(f){K.error("\u274C Error injecting clickable links:",f)}Xt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),bo(u,h,$v,a?.useMaxWidth??!0)},"draw"),w5e={getClasses:Jct,draw:eut,getDir:CU}});var Hs,E5e,S5e,n_,Wl,i_=O(()=>{"use strict";jt();xt();ar();Ur();si();T5e();AU();e_();Hs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},E5e=o(()=>new Map,"newClassesList"),S5e=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),n_=o(t=>JSON.parse(JSON.stringify(t)),"clone"),Wl=class{constructor(e){this.version=e;this.nodes=[];this.edges=[];this.rootDoc=[];this.classes=E5e();this.documents={root:S5e()};this.currentDocument=this.documents.root;this.startEndCount=0;this.dividerCnt=0;this.links=new Map;this.getAccTitle=Or;this.setAccTitle=Lr;this.getAccDescription=Br;this.setAccDescription=Pr;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}static{o(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(e){this.clear(!0);for(let i of Array.isArray(e)?e:e.doc)switch(i.stmt){case yp:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case v3:this.addRelation(i.state1,i.state2,i.description);break;case i5e:this.addStyleClass(i.id.trim(),i.classes);break;case a5e:this.handleStyleDef(i);break;case s5e:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}let r=this.getStates(),n=ve();b5e(),zv(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(let i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){let r=e.id.trim().split(","),n=e.styleClass.split(",");for(let i of r){let a=this.getState(i);if(!a){let s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){K.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===v3){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===yp&&(r.id===Hs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Qm&&r.stmt!==yp||!r.doc)return;let i=[],a=[];for(let s of r.doc)if(s.type===K7){let l=n_(s);l.doc=n_(a),i.push(l),a=[]}else a.push(s);if(i.length>0&&a.length>0){let s={stmt:yp,id:LN(),type:"divider",doc:n_(a)};i.push(n_(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Qm,stmt:Qm},{id:Qm,stmt:Qm,doc:this.rootDoc},!0),{id:Qm,doc:this.rootDoc}}addState(e,r=Zm,n=void 0,i=void 0,a=void 0,s=void 0,l=void 0,u=void 0){let h=e?.trim();if(!this.currentDocument.states.has(h))K.info("Adding state ",h,i),this.currentDocument.states.set(h,{stmt:yp,id:h,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.doc||(f.doc=n),f.type||(f.type=r)}if(i&&(K.info("Setting state description",h,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(h,d.trim()))),a){let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.note=a,f.note.text=st.sanitizeText(f.note.text,ve())}s&&(K.info("Setting state classes",h,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(h,d.trim()))),l&&(K.info("Setting state styles",h,l),(Array.isArray(l)?l:[l]).forEach(d=>this.setStyle(h,d.trim()))),u&&(K.info("Setting state styles",h,l),(Array.isArray(u)?u:[u]).forEach(d=>this.setTextStyle(h,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:S5e()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=E5e(),e||(this.links=new Map,_r())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){K.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),K.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===Hs.START_NODE?(this.startEndCount++,`${Hs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=Zm){return e===Hs.START_NODE?Hs.START_TYPE:r}endIdIfNeeded(e=""){return e===Hs.END_NODE?(this.startEndCount++,`${Hs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=Zm){return e===Hs.END_NODE?Hs.END_TYPE:r}addRelationObjs(e,r,n=""){let i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),l=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,l,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:st.sanitizeText(n,ve())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){let i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),l=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,l),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?st.sanitizeText(n,ve()):void 0})}}addDescription(e,r){let n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push(st.sanitizeText(i,ve()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});let n=this.classes.get(e);r&&n&&r.split(Hs.STYLECLASS_SEP).forEach(i=>{let a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(Hs.COLOR_KEYWORD).exec(i)){let l=a.replace(Hs.FILL_KEYWORD,Hs.BG_FILL).replace(Hs.COLOR_KEYWORD,Hs.FILL_KEYWORD);n.textStyles.push(l)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){let a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt==="dir")}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(e){let r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:"dir",value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){let e=ve();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:CU(this.getRootDocV2())}}getConfig(){return ve().state}}});var rut,a_,_U=O(()=>{"use strict";rut=o(t=>` defs #statediagram-barbEnd { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; @@ -2185,12 +2252,12 @@ g.stateGroup line { font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),H7=hlt});var flt,dlt,plt,mlt,Gwe,glt,ylt,vlt,xlt,pU,zwe,Vwe,qwe=I(()=>{"use strict";kr();W7();sr();wr();Qt();gt();flt=o(t=>t.append("circle").attr("class","start-state").attr("r",xe().state.sizeUnit).attr("cx",xe().state.padding+xe().state.sizeUnit).attr("cy",xe().state.padding+xe().state.sizeUnit),"drawStartState"),dlt=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",xe().state.textHeight).attr("class","divider").attr("x2",xe().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),plt=o((t,e)=>{let r=t.append("text").attr("x",2*xe().state.padding).attr("y",xe().state.textHeight+2*xe().state.padding).attr("font-size",xe().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",xe().state.padding).attr("y",xe().state.padding).attr("width",n.width+2*xe().state.padding).attr("height",n.height+2*xe().state.padding).attr("rx",xe().state.radius),r},"drawSimpleState"),mlt=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*xe().state.padding).text(m);g||y.attr("dy",xe().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*xe().state.padding).attr("y",xe().state.textHeight+1.3*xe().state.padding).attr("font-size",xe().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",xe().state.padding).attr("y",a+xe().state.padding*.4+xe().state.dividerMargin+xe().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",xe().state.padding).attr("y1",xe().state.padding+a+xe().state.dividerMargin/2).attr("y2",xe().state.padding+a+xe().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*xe().state.padding),t.insert("rect",":first-child").attr("x",xe().state.padding).attr("y",xe().state.padding).attr("width",d+2*xe().state.padding).attr("height",f.height+a+2*xe().state.padding).attr("rx",xe().state.radius),t},"drawDescrState"),Gwe=o((t,e,r)=>{let n=xe().state.padding,i=2*xe().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",xe().state.titleShift).attr("font-size",xe().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,s);d===s&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>s&&(p=(s-d)/2+n),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-xe().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+xe().state.textHeight+xe().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=s&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",xe().state.titleShift-xe().state.textHeight-xe().state.padding).attr("width",d).attr("height",xe().state.textHeight*3).attr("rx",xe().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",xe().state.titleShift-xe().state.textHeight-xe().state.padding).attr("width",d).attr("height",m.height+3+2*xe().state.textHeight).attr("rx",xe().state.radius),t},"addTitleAndBox"),glt=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",xe().state.sizeUnit+xe().state.miniPadding).attr("cx",xe().state.padding+xe().state.sizeUnit+xe().state.miniPadding).attr("cy",xe().state.padding+xe().state.sizeUnit+xe().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",xe().state.sizeUnit).attr("cx",xe().state.padding+xe().state.sizeUnit+2).attr("cy",xe().state.padding+xe().state.sizeUnit+2)),"drawEndState"),ylt=o((t,e)=>{let r=xe().state.forkWidth,n=xe().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",xe().state.padding).attr("y",xe().state.padding)},"drawForkJoinState"),vlt=o((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(nt.lineBreakRegex),u=1.25*xe().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+xe().state.noteMargin),d.attr("y",r+i+1.25*xe().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),xlt=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",xe().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=vlt(t,0,0,n);return r.attr("height",a+2*xe().state.noteMargin),r.attr("width",i+xe().state.noteMargin*2),r},"drawNote"),pU=o(function(t,e){let r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&flt(i),e.type==="end"&&glt(i),(e.type==="fork"||e.type==="join")&&ylt(i,e),e.type==="note"&&xlt(e.note.text,i),e.type==="divider"&&dlt(i),e.type==="default"&&e.descriptions.length===0&&plt(i,e),e.type==="default"&&e.descriptions.length>0&&mlt(i,e);let a=i.node().getBBox();return n.width=a.width+2*xe().state.padding,n.height=a.height+2*xe().state.padding,n},"drawState"),zwe=0,Vwe=o(function(t,e,r){let n=o(function(u){switch(u){case Fl.relationType.AGGREGATION:return"aggregation";case Fl.relationType.EXTENSION:return"extension";case Fl.relationType.COMPOSITION:return"composition";case Fl.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=ac().x(function(u){return u.x}).y(function(u){return u.y}).curve(cl),s=t.append("path").attr("d",a(i)).attr("id","edge"+zwe).attr("class","transition"),l="";if(xe().state.arrowMarkerAbsolute&&(l=Np(!0)),s.attr("marker-end","url("+l+"#"+n(Fl.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=jt.calcLabelPosition(e.points),d=nt.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let T=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),E=T.node().getBBox();g=Math.max(g,E.width),y=Math.min(y,E.x),X.info(E.x,h,f+p),p===0&&(p=T.node().getBBox().height,X.info("Title height",p,f)),m.push(T)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((T,E)=>T.attr("y",f+E*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-xe().state.padding/2).attr("y",f-v/2-xe().state.padding/2-3.5).attr("width",g+xe().state.padding).attr("height",v+xe().state.padding),X.info(x)}zwe++},"drawEdge")});var Qo,mU,blt,Tlt,wlt,klt,Uwe,Wwe,Hwe=I(()=>{"use strict";kr();zI();wl();gt();wr();qwe();Qt();Fi();mU={},blt=o(function(){},"setConf"),Tlt=o(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),wlt=o(function(t,e,r,n){Qo=xe().state;let i=xe().securityLevel,a;i==="sandbox"&&(a=He("#i"+e));let s=i==="sandbox"?He(a.nodes()[0].contentDocument.body):He("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;X.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);Tlt(u);let h=n.db.getRootDoc();Uwe(h,u,void 0,!1,s,l,n);let f=Qo.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;Sn(u,m,g,Qo.useMaxWidth),u.attr("viewBox",`${d.x-Qo.padding} ${d.y-Qo.padding} `+p+" "+m)},"draw"),klt=o(t=>t?t.length*Qo.fontSizeFactor:1,"getLabelWidth"),Uwe=o((t,e,r,n,i,a,s)=>{let l=new vn({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let w=E.parentElement,k=0,C=0;w&&(w.parentElement&&(k=w.parentElement.getBBox().width),C=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(C)&&(C=0)),E.setAttribute("x1",0-C+8),E.setAttribute("x2",k-C-8)})):X.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(X.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),Vwe(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*Qo.padding,x.height=v.height+2*Qo.padding,X.debug("Doc rendered",x,l),x},"renderDoc"),Wwe={setConf:blt,draw:wlt}});var Ywe={};vr(Ywe,{diagram:()=>Slt});var Slt,jwe=I(()=>{"use strict";Zq();W7();dU();Hwe();Slt={parser:P7,get db(){return new Fl(1)},renderer:Wwe,styles:H7,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var Qwe={};vr(Qwe,{diagram:()=>_lt});var _lt,Zwe=I(()=>{"use strict";Zq();W7();dU();fU();_lt={parser:P7,get db(){return new Fl(2)},renderer:Pwe,styles:H7,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var gU,t5e,r5e=I(()=>{"use strict";gU=(function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var T=x.length-1;switch(v){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:y.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,T="",E=0,w=0,k=0,C=2,D=1,R=x.slice.call(arguments,1),O=Object.create(this.lexer),L={yy:{}};for(var S in this.yy)Object.prototype.hasOwnProperty.call(this.yy,S)&&(L.yy[S]=this.yy[S]);O.setInput(p,L.yy),L.yy.lexer=O,L.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var A=O.yylloc;x.push(A);var _=O.options&&O.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(re){g.length=g.length-2*re,v.length=v.length-re,x.length=x.length-re}o(N,"popStack");function M(){var re;return re=y.pop()||O.lex()||D,typeof re!="number"&&(re instanceof Array&&(y=re,re=y.pop()),re=m.symbols_[re]||re),re}o(M,"lex");for(var P,B,F,G,$,V,K={},ee,H,he,Z;;){if(F=g[g.length-1],this.defaultActions[F]?G=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=M()),G=b[F]&&b[F][P]),typeof G>"u"||!G.length||!G[0]){var de="";Z=[];for(ee in b[F])this.terminals_[ee]&&ee>C&&Z.push("'"+this.terminals_[ee]+"'");O.showPosition?de="Parse error on line "+(E+1)+`: -`+O.showPosition()+` -Expecting `+Z.join(", ")+", got '"+(this.terminals_[P]||P)+"'":de="Parse error on line "+(E+1)+": Unexpected "+(P==D?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(de,{text:O.match,token:this.terminals_[P]||P,line:O.yylineno,loc:A,expected:Z})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(G[0]){case 1:g.push(P),v.push(O.yytext),x.push(O.yylloc),g.push(G[1]),P=null,B?(P=B,B=null):(w=O.yyleng,T=O.yytext,E=O.yylineno,A=O.yylloc,k>0&&k--);break;case 2:if(H=this.productions_[G[1]][1],K.$=v[v.length-H],K._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},_&&(K._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(K,[T,w,E,L.yy,G[1],v,x].concat(R)),typeof V<"u")return V;H&&(g=g.slice(0,-1*H*2),v=v.slice(0,-1*H),x=x.slice(0,-1*H)),g.push(this.productions_[G[1]][0]),v.push(K.$),x.push(K._$),he=b[g[g.length-2]][g[g.length-1]],g.push(he);break;case 3:return!0}}return!0},"parse")},h=(function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`,"getStyles"),a_=rut});var nut,iut,aut,sut,A5e,out,lut,cut,uut,DU,C5e,_5e,D5e=O(()=>{"use strict";Ar();i_();ar();Ur();jt();xt();nut=o(t=>t.append("circle").attr("class","start-state").attr("r",ve().state.sizeUnit).attr("cx",ve().state.padding+ve().state.sizeUnit).attr("cy",ve().state.padding+ve().state.sizeUnit),"drawStartState"),iut=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",ve().state.textHeight).attr("class","divider").attr("x2",ve().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),aut=o((t,e)=>{let r=t.append("text").attr("x",2*ve().state.padding).attr("y",ve().state.textHeight+2*ve().state.padding).attr("font-size",ve().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",ve().state.padding).attr("y",ve().state.padding).attr("width",n.width+2*ve().state.padding).attr("height",n.height+2*ve().state.padding).attr("rx",ve().state.radius),r},"drawSimpleState"),sut=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*ve().state.padding).text(m);g||y.attr("dy",ve().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*ve().state.padding).attr("y",ve().state.textHeight+1.3*ve().state.padding).attr("font-size",ve().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",ve().state.padding).attr("y",a+ve().state.padding*.4+ve().state.dividerMargin+ve().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",ve().state.padding).attr("y1",ve().state.padding+a+ve().state.dividerMargin/2).attr("y2",ve().state.padding+a+ve().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*ve().state.padding),t.insert("rect",":first-child").attr("x",ve().state.padding).attr("y",ve().state.padding).attr("width",d+2*ve().state.padding).attr("height",f.height+a+2*ve().state.padding).attr("rx",ve().state.radius),t},"drawDescrState"),A5e=o((t,e,r)=>{let n=ve().state.padding,i=2*ve().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",ve().state.titleShift).attr("font-size",ve().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,s);d===s&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>s&&(p=(s-d)/2+n),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-ve().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+ve().state.textHeight+ve().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=s&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",ve().state.titleShift-ve().state.textHeight-ve().state.padding).attr("width",d).attr("height",ve().state.textHeight*3).attr("rx",ve().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",ve().state.titleShift-ve().state.textHeight-ve().state.padding).attr("width",d).attr("height",m.height+3+2*ve().state.textHeight).attr("rx",ve().state.radius),t},"addTitleAndBox"),out=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",ve().state.sizeUnit+ve().state.miniPadding).attr("cx",ve().state.padding+ve().state.sizeUnit+ve().state.miniPadding).attr("cy",ve().state.padding+ve().state.sizeUnit+ve().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",ve().state.sizeUnit).attr("cx",ve().state.padding+ve().state.sizeUnit+2).attr("cy",ve().state.padding+ve().state.sizeUnit+2)),"drawEndState"),lut=o((t,e)=>{let r=ve().state.forkWidth,n=ve().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",ve().state.padding).attr("y",ve().state.padding)},"drawForkJoinState"),cut=o((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(st.lineBreakRegex),u=1.25*ve().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+ve().state.noteMargin),d.attr("y",r+i+1.25*ve().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),uut=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",ve().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=cut(t,0,0,n);return r.attr("height",a+2*ve().state.noteMargin),r.attr("width",i+ve().state.noteMargin*2),r},"drawNote"),DU=o(function(t,e){let r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&nut(i),e.type==="end"&&out(i),(e.type==="fork"||e.type==="join")&&lut(i,e),e.type==="note"&&uut(e.note.text,i),e.type==="divider"&&iut(i),e.type==="default"&&e.descriptions.length===0&&aut(i,e),e.type==="default"&&e.descriptions.length>0&&sut(i,e);let a=i.node().getBBox();return n.width=a.width+2*ve().state.padding,n.height=a.height+2*ve().state.padding,n},"drawState"),C5e=0,_5e=o(function(t,e,r){let n=o(function(u){switch(u){case Wl.relationType.AGGREGATION:return"aggregation";case Wl.relationType.EXTENSION:return"extension";case Wl.relationType.COMPOSITION:return"composition";case Wl.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=hc().x(function(u){return u.x}).y(function(u){return u.y}).curve(fc),s=t.append("path").attr("d",a(i)).attr("id","edge"+C5e).attr("class","transition"),l="";if(ve().state.arrowMarkerAbsolute&&(l=Op(!0)),s.attr("marker-end","url("+l+"#"+n(Wl.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=Xt.calcLabelPosition(e.points),d=st.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let T=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),E=T.node().getBBox();g=Math.max(g,E.width),y=Math.min(y,E.x),K.info(E.x,h,f+p),p===0&&(p=T.node().getBBox().height,K.info("Title height",p,f)),m.push(T)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((T,E)=>T.attr("y",f+E*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-ve().state.padding/2).attr("y",f-v/2-ve().state.padding/2-3.5).attr("width",g+ve().state.padding).attr("height",v+ve().state.padding),K.info(x)}C5e++},"drawEdge")});var al,RU,hut,fut,dut,put,R5e,L5e,N5e=O(()=>{"use strict";Ar();rO();Dl();xt();Ur();D5e();jt();Ti();RU={},hut=o(function(){},"setConf"),fut=o(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),dut=o(function(t,e,r,n){al=ve().state;let i=ve().securityLevel,a;i==="sandbox"&&(a=je("#i"+e));let s=i==="sandbox"?je(a.nodes()[0].contentDocument.body):je("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;K.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);fut(u);let h=n.db.getRootDoc();R5e(h,u,void 0,!1,s,l,n);let f=al.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;Zr(u,m,g,al.useMaxWidth),u.attr("viewBox",`${d.x-al.padding} ${d.y-al.padding} `+p+" "+m)},"draw"),put=o(t=>t?t.length*al.fontSizeFactor:1,"getLabelWidth"),R5e=o((t,e,r,n,i,a,s)=>{let l=new wn({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let w=E.parentElement,k=0,S=0;w&&(w.parentElement&&(k=w.parentElement.getBBox().width),S=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(S)&&(S=0)),E.setAttribute("x1",0-S+8),E.setAttribute("x2",k-S-8)})):K.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(K.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),_5e(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*al.padding,x.height=v.height+2*al.padding,K.debug("Doc rendered",x,l),x},"renderDoc"),L5e={setConf:hut,draw:dut}});var M5e={};vr(M5e,{diagram:()=>mut});var mut,I5e=O(()=>{"use strict";dU();i_();_U();N5e();mut={parser:X7,get db(){return new Wl(1)},renderer:L5e,styles:a_,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var B5e={};vr(B5e,{diagram:()=>xut});var xut,F5e=O(()=>{"use strict";dU();i_();_U();AU();xut={parser:X7,get db(){return new Wl(2)},renderer:w5e,styles:a_,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var LU,G5e,V5e=O(()=>{"use strict";LU=(function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var T=x.length-1;switch(v){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:y.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,T="",E=0,w=0,k=0,S=2,A=1,L=x.slice.call(arguments,1),I=Object.create(this.lexer),N={yy:{}};for(var C in this.yy)Object.prototype.hasOwnProperty.call(this.yy,C)&&(N.yy[C]=this.yy[C]);I.setInput(p,N.yy),N.yy.lexer=I,N.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var _=I.yylloc;x.push(_);var D=I.options&&I.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function M(ee){g.length=g.length-2*ee,v.length=v.length-ee,x.length=x.length-ee}o(M,"popStack");function R(){var ee;return ee=y.pop()||I.lex()||A,typeof ee!="number"&&(ee instanceof Array&&(y=ee,ee=y.pop()),ee=m.symbols_[ee]||ee),ee}o(R,"lex");for(var P,B,F,G,$,V,X={},Q,H,ie,Y;;){if(F=g[g.length-1],this.defaultActions[F]?G=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=R()),G=b[F]&&b[F][P]),typeof G>"u"||!G.length||!G[0]){var le="";Y=[];for(Q in b[F])this.terminals_[Q]&&Q>S&&Y.push("'"+this.terminals_[Q]+"'");I.showPosition?le="Parse error on line "+(E+1)+`: +`+I.showPosition()+` +Expecting `+Y.join(", ")+", got '"+(this.terminals_[P]||P)+"'":le="Parse error on line "+(E+1)+": Unexpected "+(P==A?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(le,{text:I.match,token:this.terminals_[P]||P,line:I.yylineno,loc:_,expected:Y})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(G[0]){case 1:g.push(P),v.push(I.yytext),x.push(I.yylloc),g.push(G[1]),P=null,B?(P=B,B=null):(w=I.yyleng,T=I.yytext,E=I.yylineno,_=I.yylloc,k>0&&k--);break;case 2:if(H=this.productions_[G[1]][1],X.$=v[v.length-H],X._$={first_line:x[x.length-(H||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(H||1)].first_column,last_column:x[x.length-1].last_column},D&&(X._$.range=[x[x.length-(H||1)].range[0],x[x.length-1].range[1]]),V=this.performAction.apply(X,[T,w,E,N.yy,G[1],v,x].concat(L)),typeof V<"u")return V;H&&(g=g.slice(0,-1*H*2),v=v.slice(0,-1*H),x=x.slice(0,-1*H)),g.push(this.productions_[G[1]][0]),v.push(X.$),x.push(X._$),ie=b[g[g.length-2]][g[g.length-1]],g.push(ie);break;case 3:return!0}}return!0},"parse")},h=(function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(p){this.unput(this.match.slice(p))},"less"),pastInput:o(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` `+m+"^"},"showPosition"),test_match:o(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f})();gU.parser=gU;t5e=gU});var Mv,yU,l3,c3,Nlt,Mlt,Ilt,Olt,Plt,Blt,Flt,n5e,$lt,vU,i5e=I(()=>{"use strict";Qt();ki();Mv="",yU=[],l3=[],c3=[],Nlt=o(function(){yU.length=0,l3.length=0,Mv="",c3.length=0,Mr()},"clear"),Mlt=o(function(t){Mv=t,yU.push(t)},"addSection"),Ilt=o(function(){return yU},"getSections"),Olt=o(function(){let t=n5e(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),Blt=o(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),s={section:Mv,type:Mv,people:a,task:t,score:n};c3.push(s)},"addTask"),Flt=o(function(t){let e={section:Mv,type:Mv,description:t,task:t,classes:[]};l3.push(e)},"addTaskOrg"),n5e=o(function(){let t=o(function(r){return c3[r].processed},"compileTask"),e=!0;for(let[r,n]of c3.entries())t(r),e=e&&n.processed;return e},"compileTasks"),$lt=o(function(){return Plt()},"getActors"),vU={getConfig:o(()=>xe().journey,"getConfig"),clear:Nlt,setDiagramTitle:Xr,getDiagramTitle:Wr,setAccTitle:zr,getAccTitle:Vr,setAccDescription:qr,getAccDescription:Ur,addSection:Mlt,getSections:Ilt,getTasks:Olt,addTask:Blt,addTaskOrg:Flt,getActors:$lt}});var zlt,a5e,s5e=I(()=>{"use strict";ey();zlt=o(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d})();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f})();LU.parser=LU;G5e=LU});var Gv,NU,x3,b3,kut,Eut,Sut,Cut,Aut,_ut,Dut,q5e,Rut,MU,U5e=O(()=>{"use strict";jt();si();Gv="",NU=[],x3=[],b3=[],kut=o(function(){NU.length=0,x3.length=0,Gv="",b3.length=0,_r()},"clear"),Eut=o(function(t){Gv=t,NU.push(t)},"addSection"),Sut=o(function(){return NU},"getSections"),Cut=o(function(){let t=q5e(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),_ut=o(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),s={section:Gv,type:Gv,people:a,task:t,score:n};b3.push(s)},"addTask"),Dut=o(function(t){let e={section:Gv,type:Gv,description:t,task:t,classes:[]};x3.push(e)},"addTaskOrg"),q5e=o(function(){let t=o(function(r){return b3[r].processed},"compileTask"),e=!0;for(let[r,n]of b3.entries())t(r),e=e&&n.processed;return e},"compileTasks"),Rut=o(function(){return Aut()},"getActors"),MU={getConfig:o(()=>ve().journey,"getConfig"),clear:kut,setDiagramTitle:zr,getDiagramTitle:Fr,setAccTitle:Lr,getAccTitle:Or,setAccDescription:Pr,getAccDescription:Br,addSection:Eut,getSections:Sut,getTasks:Cut,addTask:_ut,addTaskOrg:Dut,getActors:Rut}});var Lut,W5e,H5e=O(()=>{"use strict";ly();Lut=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.textColor}; } @@ -2322,13 +2389,13 @@ Expecting `+Z.join(", ")+", got '"+(this.terminals_[P]||P)+"'":de="Parse error o .actor-5 { ${t.actor5?`fill: ${t.actor5}`:""}; } - ${Su()} -`,"getStyles"),a5e=zlt});var xU,Glt,l5e,c5e,Vlt,qlt,o5e,Ult,Wlt,u5e,Hlt,Iv,h5e=I(()=>{"use strict";kr();Cx();xU=o(function(t,e){return t0(t,e)},"drawRect"),Glt=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=ic().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=ic().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),l5e=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),c5e=o(function(t,e){return oee(t,e)},"drawText"),Vlt=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,c5e(t,e)},"drawLabel"),qlt=o(function(t,e,r){let n=t.append("g"),i=Na();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,xU(n,i),u5e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),o5e=-1,Ult=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");o5e++,i.append("line").attr("id","task"+o5e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Glt(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=Na();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,xU(i,s);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};l5e(i,f),l+=10}),u5e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),Wlt=o(function(t,e){U5(t,e)},"drawBackgroundRect"),u5e=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let a=rf[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:rf[i].position};Iv.drawCircle(t,s);let l=t.append("text").attr("visibility","hidden").text(i),u=l.node().getBoundingClientRect().width;l.remove();let h=[];if(u<=r)h=[i];else{let f=i.split(" "),d="";l=t.append("text").attr("visibility","hidden"),f.forEach(p=>{let m=d?`${d} ${p}`:p;if(l.text(m),l.node().getBoundingClientRect().width>r){if(d&&h.push(d),d=p,l.text(p),l.node().getBoundingClientRect().width>r){let y="";for(let v of p)y+=v,l.text(y+"-"),l.node().getBoundingClientRect().width>r&&(h.push(y.slice(0,-1)+"-"),y=v);d=y}}else d=m}),d&&h.push(d),l.remove()}h.forEach((f,d)=>{let p={x:40,y:n+7+d*20,fill:"#666",text:f,textMargin:e.boxTextMargin??5},g=Iv.drawText(t,p).node().getBoundingClientRect().width;g>Y7&&g>e.leftMargin-g&&(Y7=g)}),n+=Math.max(20,h.length*20)})}var Ylt,rf,Y7,_c,gp,Xlt,$l,bU,f5e,Klt,TU,d5e=I(()=>{"use strict";kr();h5e();Qt();Fi();Ylt=o(function(t){Object.keys(t).forEach(function(r){_c[r]=t[r]})},"setConf"),rf={},Y7=0;o(jlt,"drawActorLegend");_c=xe().journey,gp=0,Xlt=o(function(t,e,r,n){let i=xe(),a=i.journey.titleColor,s=i.journey.titleFontSize,l=i.journey.titleFontFamily,u=i.securityLevel,h;u==="sandbox"&&(h=He("#i"+e));let f=u==="sandbox"?He(h.nodes()[0].contentDocument.body):He("body");$l.init();let d=f.select("#"+e);Iv.initGraphics(d);let p=n.db.getTasks(),m=n.db.getDiagramTitle(),g=n.db.getActors();for(let E in rf)delete rf[E];let y=0;g.forEach(E=>{rf[E]={color:_c.actorColours[y%_c.actorColours.length],position:y},y++}),jlt(d),gp=_c.leftMargin+Y7,$l.insert(0,0,gp,Object.keys(rf).length*50),Klt(d,p,0);let v=$l.getBounds();m&&d.append("text").text(m).attr("x",gp).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",l);let x=v.stopy-v.starty+2*_c.diagramMarginY,b=gp+v.stopx+2*_c.diagramMarginX;Sn(d,x,b,_c.useMaxWidth),d.append("line").attr("x1",gp).attr("y1",_c.height*4).attr("x2",b-gp-4).attr("y2",_c.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let T=m?70:0;d.attr("viewBox",`${v.startx} -25 ${b} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),$l={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=xe().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal($l.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal($l.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal($l.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal($l.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),l=Math.max(e,n);this.updateVal($l.data,"startx",i,Math.min),this.updateVal($l.data,"starty",s,Math.min),this.updateVal($l.data,"stopx",a,Math.max),this.updateVal($l.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},bU=_c.sectionFills,f5e=_c.sectionColours,Klt=o(function(t,e,r){let n=xe().journey,i="",a=n.height*2+n.diagramMarginY,s=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=bU[l%bU.length],f=l%bU.length,h=f5e[l%f5e.length];let g=0,y=p.section;for(let x=d;x(rf[y]&&(g[y]=rf[y]),g),{});p.x=d*n.taskMargin+d*n.width+gp,p.y=s,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,Iv.drawTask(t,p,n),$l.insert(p.x,p.y,p.x+p.width+n.taskMargin,450)}},"drawTasks"),TU={setConf:Ylt,draw:Xlt}});var p5e={};vr(p5e,{diagram:()=>Qlt});var Qlt,m5e=I(()=>{"use strict";r5e();i5e();s5e();d5e();Qlt={parser:t5e,db:vU,renderer:TU,styles:a5e,init:o(t=>{TU.setConf(t.journey),vU.clear()},"init")}});var kU,w5e,k5e=I(()=>{"use strict";kU=(function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,16],u=[1,17],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:o(function(m,g,y,v,x,b,T){var E=b.length-1;switch(x){case 1:return b[E-1];case 2:this.$=[];break;case 3:b[E-1].push(b[E]),this.$=b[E-1];break;case 4:case 5:this.$=b[E];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[E].substr(6)),this.$=b[E].substr(6);break;case 9:this.$=b[E].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[E].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[E].substr(8)),this.$=b[E].substr(8);break;case 15:v.addTask(b[E],0,""),this.$=b[E];break;case 16:v.addEvent(b[E].substr(2)),this.$=b[E];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],T=this.table,E="",w=0,k=0,C=0,D=2,R=1,O=b.slice.call(arguments,1),L=Object.create(this.lexer),S={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(S.yy[A]=this.yy[A]);L.setInput(m,S.yy),S.yy.lexer=L,S.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var _=L.yylloc;b.push(_);var N=L.options&&L.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function M(ne){y.length=y.length-2*ne,x.length=x.length-ne,b.length=b.length-ne}o(M,"popStack");function P(){var ne;return ne=v.pop()||L.lex()||R,typeof ne!="number"&&(ne instanceof Array&&(v=ne,ne=v.pop()),ne=g.symbols_[ne]||ne),ne}o(P,"lex");for(var B,F,G,$,V,K,ee={},H,he,Z,de;;){if(G=y[y.length-1],this.defaultActions[G]?$=this.defaultActions[G]:((B===null||typeof B>"u")&&(B=P()),$=T[G]&&T[G][B]),typeof $>"u"||!$.length||!$[0]){var re="";de=[];for(H in T[G])this.terminals_[H]&&H>D&&de.push("'"+this.terminals_[H]+"'");L.showPosition?re="Parse error on line "+(w+1)+`: -`+L.showPosition()+` -Expecting `+de.join(", ")+", got '"+(this.terminals_[B]||B)+"'":re="Parse error on line "+(w+1)+": Unexpected "+(B==R?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(re,{text:L.match,token:this.terminals_[B]||B,line:L.yylineno,loc:_,expected:de})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+B);switch($[0]){case 1:y.push(B),x.push(L.yytext),b.push(L.yylloc),y.push($[1]),B=null,F?(B=F,F=null):(k=L.yyleng,E=L.yytext,w=L.yylineno,_=L.yylloc,C>0&&C--);break;case 2:if(he=this.productions_[$[1]][1],ee.$=x[x.length-he],ee._$={first_line:b[b.length-(he||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(he||1)].first_column,last_column:b[b.length-1].last_column},N&&(ee._$.range=[b[b.length-(he||1)].range[0],b[b.length-1].range[1]]),K=this.performAction.apply(ee,[E,k,w,S.yy,$[1],x,b].concat(O)),typeof K<"u")return K;he&&(y=y.slice(0,-1*he*2),x=x.slice(0,-1*he),b=b.slice(0,-1*he)),y.push(this.productions_[$[1]][0]),x.push(ee.$),b.push(ee._$),Z=T[y[y.length-2]][y[y.length-1]],y.push(Z);break;case 3:return!0}}return!0},"parse")},f=(function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). + ${Lu()} +`,"getStyles"),W5e=Lut});var IU,Nut,j5e,X5e,Mut,Iut,Y5e,Out,Put,K5e,But,Vv,Q5e=O(()=>{"use strict";Ar();a0();IU=o(function(t,e){return i0(t,e)},"drawRect"),Nut=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=uc().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=uc().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),j5e=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),X5e=o(function(t,e){return Gee(t,e)},"drawText"),Mut=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,X5e(t,e)},"drawLabel"),Iut=o(function(t,e,r){let n=t.append("g"),i=Oa();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,IU(n,i),K5e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Y5e=-1,Out=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Y5e++,i.append("line").attr("id","task"+Y5e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Nut(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=Oa();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,IU(i,s);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};j5e(i,f),l+=10}),K5e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),Put=o(function(t,e){nk(t,e)},"drawBackgroundRect"),K5e=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let a=cf[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:cf[i].position};Vv.drawCircle(t,s);let l=t.append("text").attr("visibility","hidden").text(i),u=l.node().getBoundingClientRect().width;l.remove();let h=[];if(u<=r)h=[i];else{let f=i.split(" "),d="";l=t.append("text").attr("visibility","hidden"),f.forEach(p=>{let m=d?`${d} ${p}`:p;if(l.text(m),l.node().getBoundingClientRect().width>r){if(d&&h.push(d),d=p,l.text(p),l.node().getBoundingClientRect().width>r){let y="";for(let v of p)y+=v,l.text(y+"-"),l.node().getBoundingClientRect().width>r&&(h.push(y.slice(0,-1)+"-"),y=v);d=y}}else d=m}),d&&h.push(d),l.remove()}h.forEach((f,d)=>{let p={x:40,y:n+7+d*20,fill:"#666",text:f,textMargin:e.boxTextMargin??5},g=Vv.drawText(t,p).node().getBoundingClientRect().width;g>s_&&g>e.leftMargin-g&&(s_=g)}),n+=Math.max(20,h.length*20)})}var Fut,cf,s_,Pc,xp,zut,Hl,OU,Z5e,Gut,PU,J5e=O(()=>{"use strict";Ar();Q5e();jt();Ti();Fut=o(function(t){Object.keys(t).forEach(function(r){Pc[r]=t[r]})},"setConf"),cf={},s_=0;o($ut,"drawActorLegend");Pc=ve().journey,xp=0,zut=o(function(t,e,r,n){let i=ve(),a=i.journey.titleColor,s=i.journey.titleFontSize,l=i.journey.titleFontFamily,u=i.securityLevel,h;u==="sandbox"&&(h=je("#i"+e));let f=u==="sandbox"?je(h.nodes()[0].contentDocument.body):je("body");Hl.init();let d=f.select("#"+e);Vv.initGraphics(d);let p=n.db.getTasks(),m=n.db.getDiagramTitle(),g=n.db.getActors();for(let E in cf)delete cf[E];let y=0;g.forEach(E=>{cf[E]={color:Pc.actorColours[y%Pc.actorColours.length],position:y},y++}),$ut(d),xp=Pc.leftMargin+s_,Hl.insert(0,0,xp,Object.keys(cf).length*50),Gut(d,p,0);let v=Hl.getBounds();m&&d.append("text").text(m).attr("x",xp).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",l);let x=v.stopy-v.starty+2*Pc.diagramMarginY,b=xp+v.stopx+2*Pc.diagramMarginX;Zr(d,x,b,Pc.useMaxWidth),d.append("line").attr("x1",xp).attr("y1",Pc.height*4).attr("x2",b-xp-4).attr("y2",Pc.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let T=m?70:0;d.attr("viewBox",`${v.startx} -25 ${b} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),Hl={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=ve().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Hl.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Hl.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Hl.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Hl.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),l=Math.max(e,n);this.updateVal(Hl.data,"startx",i,Math.min),this.updateVal(Hl.data,"starty",s,Math.min),this.updateVal(Hl.data,"stopx",a,Math.max),this.updateVal(Hl.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},OU=Pc.sectionFills,Z5e=Pc.sectionColours,Gut=o(function(t,e,r){let n=ve().journey,i="",a=n.height*2+n.diagramMarginY,s=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=OU[l%OU.length],f=l%OU.length,h=Z5e[l%Z5e.length];let g=0,y=p.section;for(let x=d;x(cf[y]&&(g[y]=cf[y]),g),{});p.x=d*n.taskMargin+d*n.width+xp,p.y=s,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,Vv.drawTask(t,p,n),Hl.insert(p.x,p.y,p.x+p.width+n.taskMargin,450)}},"drawTasks"),PU={setConf:Fut,draw:zut}});var eke={};vr(eke,{diagram:()=>Vut});var Vut,tke=O(()=>{"use strict";V5e();U5e();H5e();J5e();Vut={parser:G5e,db:MU,renderer:PU,styles:W5e,init:o(t=>{PU.setConf(t.journey),MU.clear()},"init")}});var FU,lke,cke=O(()=>{"use strict";FU=(function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,16],u=[1,17],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:o(function(m,g,y,v,x,b,T){var E=b.length-1;switch(x){case 1:return b[E-1];case 2:this.$=[];break;case 3:b[E-1].push(b[E]),this.$=b[E-1];break;case 4:case 5:this.$=b[E];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[E].substr(6)),this.$=b[E].substr(6);break;case 9:this.$=b[E].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[E].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[E].substr(8)),this.$=b[E].substr(8);break;case 15:v.addTask(b[E],0,""),this.$=b[E];break;case 16:v.addEvent(b[E].substr(2)),this.$=b[E];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],T=this.table,E="",w=0,k=0,S=0,A=2,L=1,I=b.slice.call(arguments,1),N=Object.create(this.lexer),C={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(C.yy[_]=this.yy[_]);N.setInput(m,C.yy),C.yy.lexer=N,C.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var D=N.yylloc;b.push(D);var M=N.options&&N.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(J){y.length=y.length-2*J,x.length=x.length-J,b.length=b.length-J}o(R,"popStack");function P(){var J;return J=v.pop()||N.lex()||L,typeof J!="number"&&(J instanceof Array&&(v=J,J=v.pop()),J=g.symbols_[J]||J),J}o(P,"lex");for(var B,F,G,$,V,X,Q={},H,ie,Y,le;;){if(G=y[y.length-1],this.defaultActions[G]?$=this.defaultActions[G]:((B===null||typeof B>"u")&&(B=P()),$=T[G]&&T[G][B]),typeof $>"u"||!$.length||!$[0]){var ee="";le=[];for(H in T[G])this.terminals_[H]&&H>A&&le.push("'"+this.terminals_[H]+"'");N.showPosition?ee="Parse error on line "+(w+1)+`: +`+N.showPosition()+` +Expecting `+le.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ee="Parse error on line "+(w+1)+": Unexpected "+(B==L?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ee,{text:N.match,token:this.terminals_[B]||B,line:N.yylineno,loc:D,expected:le})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+B);switch($[0]){case 1:y.push(B),x.push(N.yytext),b.push(N.yylloc),y.push($[1]),B=null,F?(B=F,F=null):(k=N.yyleng,E=N.yytext,w=N.yylineno,D=N.yylloc,S>0&&S--);break;case 2:if(ie=this.productions_[$[1]][1],Q.$=x[x.length-ie],Q._$={first_line:b[b.length-(ie||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(ie||1)].first_column,last_column:b[b.length-1].last_column},M&&(Q._$.range=[b[b.length-(ie||1)].range[0],b[b.length-1].range[1]]),X=this.performAction.apply(Q,[E,k,w,C.yy,$[1],x,b].concat(I)),typeof X<"u")return X;ie&&(y=y.slice(0,-1*ie*2),x=x.slice(0,-1*ie),b=b.slice(0,-1*ie)),y.push(this.productions_[$[1]][0]),x.push(Q.$),b.push(Q._$),Y=T[y[y.length-2]][y[y.length-1]],y.push(Y);break;case 3:return!0}}return!0},"parse")},f=(function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(m){this.unput(this.match.slice(m))},"less"),pastInput:o(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` `+g+"^"},"showPosition"),test_match:o(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var g=this.next();return g||this.lex()},"lex"),begin:o(function(g){this.conditionStack.push(g)},"begin"),popState:o(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p})();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d})();kU.parser=kU;w5e=kU});var EU={};vr(EU,{addEvent:()=>N5e,addSection:()=>_5e,addTask:()=>L5e,addTaskOrg:()=>M5e,clear:()=>A5e,default:()=>sct,getCommonDb:()=>C5e,getSections:()=>D5e,getTasks:()=>R5e});var Ov,E5e,SU,j7,Pv,C5e,A5e,_5e,D5e,R5e,L5e,N5e,M5e,S5e,sct,I5e=I(()=>{"use strict";ki();Ov="",E5e=0,SU=[],j7=[],Pv=[],C5e=o(()=>C2,"getCommonDb"),A5e=o(function(){SU.length=0,j7.length=0,Ov="",Pv.length=0,Mr()},"clear"),_5e=o(function(t){Ov=t,SU.push(t)},"addSection"),D5e=o(function(){return SU},"getSections"),R5e=o(function(){let t=S5e(),e=100,r=0;for(;!t&&rr.id===E5e-1).events.push(t)},"addEvent"),M5e=o(function(t){let e={section:Ov,type:Ov,description:t,task:t,classes:[]};j7.push(e)},"addTaskOrg"),S5e=o(function(){let t=o(function(r){return Pv[r].processed},"compileTask"),e=!0;for(let[r,n]of Pv.entries())t(r),e=e&&n.processed;return e},"compileTasks"),sct={clear:A5e,getCommonDb:C5e,addSection:_5e,getSections:D5e,getTasks:R5e,addTask:L5e,addTaskOrg:M5e,addEvent:N5e}});function F5e(t,e){t.each(function(){var r=He(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(i))})}var oct,X7,lct,cct,P5e,uct,hct,O5e,fct,dct,pct,CU,B5e,mct,gct,yct,vct,yp,$5e=I(()=>{"use strict";kr();oct=12,X7=o(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),lct=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=ic().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=ic().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),cct=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),P5e=o(function(t,e){let r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),uct=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,P5e(t,e)},"drawLabel"),hct=o(function(t,e,r){let n=t.append("g"),i=CU();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,X7(n,i),B5e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),O5e=-1,fct=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");O5e++,i.append("line").attr("id","task"+O5e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),lct(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=CU();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,X7(i,s),B5e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),dct=o(function(t,e){X7(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),pct=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),CU=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),B5e=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";kr();$5e();gt();Qt();Fi();xct=o(function(t,e,r,n){let i=xe(),a=i.timeline?.leftMargin??50;X.debug("timeline",n.db);let s=i.securityLevel,l;s==="sandbox"&&(l=He("#i"+e));let h=(s==="sandbox"?He(l.nodes()[0].contentDocument.body):He("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();X.debug("task",f),yp.initGraphics(h);let p=n.db.getSections();X.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let T=0,E=!0;p.forEach(function(R){let O={number:T,descr:R,section:T,width:150,padding:20,maxHeight:m},L=yp.getVirtualNodeHeight(h,O,i);X.debug("sectionHeight before draw",L),m=Math.max(m,L+20)});let w=0,k=0;X.debug("tasks.length",f.length);for(let[R,O]of f.entries()){let L={number:R,descr:O,section:O.section,width:150,padding:20,maxHeight:g},S=yp.getVirtualNodeHeight(h,L,i);X.debug("taskHeight before draw",S),g=Math.max(g,S+20),w=Math.max(w,O.events.length);let A=0;for(let _ of O.events){let N={descr:_,section:O.section,number:O.section,width:150,padding:20,maxHeight:50};A+=yp.getVirtualNodeHeight(h,N,i)}O.events.length>0&&(A+=(O.events.length-1)*10),k=Math.max(k,A)}X.debug("maxSectionHeight before draw",m),X.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(R=>{let O=f.filter(_=>_.section===R),L={number:T,descr:R,section:T,width:200*Math.max(O.length,1)-50,padding:20,maxHeight:m};X.debug("sectionNode",L);let S=h.append("g"),A=yp.drawNode(S,L,T,i);X.debug("sectionNode output",A),S.attr("transform",`translate(${x}, ${v})`),b+=m+50,O.length>0&&z5e(h,O,T,x,b,g,i,w,k,m,!1),x+=200*Math.max(O.length,1),b=v,T++}):(E=!1,z5e(h,f,T,x,b,g,i,w,k,m,!0));let C=h.node().getBBox();X.debug("bounds",C),d&&h.append("text").text(d).attr("x",C.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=E?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",C.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Vc(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),z5e=o(function(t,e,r,n,i,a,s,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};X.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=yp.drawNode(m,p,r,s).height;if(X.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+bct(t,d.events,r,n,i,s),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+u+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),bct=o(function(t,e,r,n,i,a){let s=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};X.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=yp.drawNode(f,h,r,a).height;s=s+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,s},"drawEvents"),G5e={setConf:o(()=>{},"setConf"),draw:xct}});var Tct,wct,q5e,U5e=I(()=>{"use strict";_o();Tct=o(t=>{let e="";for(let r=0;r0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p})();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d})();FU.parser=FU;lke=FU});var zU={};vr(zU,{addEvent:()=>vke,addSection:()=>pke,addTask:()=>yke,addTaskOrg:()=>xke,clear:()=>dke,default:()=>Qut,getCommonDb:()=>fke,getSections:()=>mke,getTasks:()=>gke});var qv,hke,$U,o_,Uv,fke,dke,pke,mke,gke,yke,vke,xke,uke,Qut,bke=O(()=>{"use strict";si();qv="",hke=0,$U=[],o_=[],Uv=[],fke=o(()=>$2,"getCommonDb"),dke=o(function(){$U.length=0,o_.length=0,qv="",Uv.length=0,_r()},"clear"),pke=o(function(t){qv=t,$U.push(t)},"addSection"),mke=o(function(){return $U},"getSections"),gke=o(function(){let t=uke(),e=100,r=0;for(;!t&&rr.id===hke-1).events.push(t)},"addEvent"),xke=o(function(t){let e={section:qv,type:qv,description:t,task:t,classes:[]};o_.push(e)},"addTaskOrg"),uke=o(function(){let t=o(function(r){return Uv[r].processed},"compileTask"),e=!0;for(let[r,n]of Uv.entries())t(r),e=e&&n.processed;return e},"compileTasks"),Qut={clear:dke,getCommonDb:fke,addSection:pke,getSections:mke,getTasks:gke,addTask:yke,addTaskOrg:xke,addEvent:vke}});function Eke(t,e){t.each(function(){var r=je(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(i))})}var Zut,l_,Jut,eht,wke,tht,rht,Tke,nht,iht,aht,GU,kke,sht,oht,lht,cht,bp,Ske=O(()=>{"use strict";Ar();Zut=12,l_=o(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),Jut=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=uc().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=uc().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),eht=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),wke=o(function(t,e){let r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),tht=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,wke(t,e)},"drawLabel"),rht=o(function(t,e,r){let n=t.append("g"),i=GU();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,l_(n,i),kke(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Tke=-1,nht=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Tke++,i.append("line").attr("id","task"+Tke).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Jut(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=GU();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,l_(i,s),kke(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),iht=o(function(t,e){l_(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),aht=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),GU=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),kke=(function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";Ar();Ske();xt();jt();Ti();uht=o(function(t,e,r,n){let i=ve(),a=i.timeline?.leftMargin??50;K.debug("timeline",n.db);let s=i.securityLevel,l;s==="sandbox"&&(l=je("#i"+e));let h=(s==="sandbox"?je(l.nodes()[0].contentDocument.body):je("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();K.debug("task",f),bp.initGraphics(h);let p=n.db.getSections();K.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let T=0,E=!0;p.forEach(function(L){let I={number:T,descr:L,section:T,width:150,padding:20,maxHeight:m},N=bp.getVirtualNodeHeight(h,I,i);K.debug("sectionHeight before draw",N),m=Math.max(m,N+20)});let w=0,k=0;K.debug("tasks.length",f.length);for(let[L,I]of f.entries()){let N={number:L,descr:I,section:I.section,width:150,padding:20,maxHeight:g},C=bp.getVirtualNodeHeight(h,N,i);K.debug("taskHeight before draw",C),g=Math.max(g,C+20),w=Math.max(w,I.events.length);let _=0;for(let D of I.events){let M={descr:D,section:I.section,number:I.section,width:150,padding:20,maxHeight:50};_+=bp.getVirtualNodeHeight(h,M,i)}I.events.length>0&&(_+=(I.events.length-1)*10),k=Math.max(k,_)}K.debug("maxSectionHeight before draw",m),K.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(L=>{let I=f.filter(D=>D.section===L),N={number:T,descr:L,section:T,width:200*Math.max(I.length,1)-50,padding:20,maxHeight:m};K.debug("sectionNode",N);let C=h.append("g"),_=bp.drawNode(C,N,T,i);K.debug("sectionNode output",_),C.attr("transform",`translate(${x}, ${v})`),b+=m+50,I.length>0&&Cke(h,I,T,x,b,g,i,w,k,m,!1),x+=200*Math.max(I.length,1),b=v,T++}):(E=!1,Cke(h,f,T,x,b,g,i,w,k,m,!0));let S=h.node().getBBox();K.debug("bounds",S),d&&h.append("text").text(d).attr("x",S.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=E?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",S.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Kc(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),Cke=o(function(t,e,r,n,i,a,s,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};K.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=bp.drawNode(m,p,r,s).height;if(K.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+hht(t,d.events,r,n,i,s),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+u+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),hht=o(function(t,e,r,n,i,a){let s=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};K.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=bp.drawNode(f,h,r,a).height;s=s+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,s},"drawEvents"),Ake={setConf:o(()=>{},"setConf"),draw:uht}});var fht,dht,Dke,Rke=O(()=>{"use strict";Ys();fht=o(t=>{let e="";for(let r=0;r` + `}return e},"genSections"),dht=o(t=>` .edge { stroke-width: 3; } - ${Tct(t)} + ${fht(t)} .section-root rect, .section-root path, .section-root circle { fill: ${t.git0}; } @@ -2383,13 +2450,13 @@ Expecting `+de.join(", ")+", got '"+(this.terminals_[B]||B)+"'":re="Parse error .eventWrapper { filter: brightness(120%); } -`,"getStyles"),q5e=wct});var W5e={};vr(W5e,{diagram:()=>kct});var kct,H5e=I(()=>{"use strict";k5e();I5e();V5e();U5e();kct={db:EU,renderer:G5e,parser:w5e,styles:q5e}});var AU,X5e,K5e=I(()=>{"use strict";AU=(function(){var t=o(function(E,w,k,C){for(k=k||{},C=E.length;C--;k[E[C]]=w);return k},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(w,k,C,D,R,O,L){var S=O.length-1;switch(R){case 6:case 7:return D;case 8:D.getLogger().trace("Stop NL ");break;case 9:D.getLogger().trace("Stop EOF ");break;case 11:D.getLogger().trace("Stop NL2 ");break;case 12:D.getLogger().trace("Stop EOF2 ");break;case 15:D.getLogger().info("Node: ",O[S].id),D.addNode(O[S-1].length,O[S].id,O[S].descr,O[S].type);break;case 16:D.getLogger().trace("Icon: ",O[S]),D.decorateNode({icon:O[S]});break;case 17:case 21:D.decorateNode({class:O[S]});break;case 18:D.getLogger().trace("SPACELIST");break;case 19:D.getLogger().trace("Node: ",O[S].id),D.addNode(0,O[S].id,O[S].descr,O[S].type);break;case 20:D.decorateNode({icon:O[S]});break;case 25:D.getLogger().trace("node found ..",O[S-2]),this.$={id:O[S-1],descr:O[S-1],type:D.getType(O[S-2],O[S])};break;case 26:this.$={id:O[S],descr:O[S],type:D.nodeType.DEFAULT};break;case 27:D.getLogger().trace("node found ..",O[S-3]),this.$={id:O[S-3],descr:O[S-1],type:D.getType(O[S-2],O[S])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(w,k){if(k.recoverable)this.trace(w);else{var C=new Error(w);throw C.hash=k,C}},"parseError"),parse:o(function(w){var k=this,C=[0],D=[],R=[null],O=[],L=this.table,S="",A=0,_=0,N=0,M=2,P=1,B=O.slice.call(arguments,1),F=Object.create(this.lexer),G={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(G.yy[$]=this.yy[$]);F.setInput(w,G.yy),G.yy.lexer=F,G.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var V=F.yylloc;O.push(V);var K=F.options&&F.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(j){C.length=C.length-2*j,R.length=R.length-j,O.length=O.length-j}o(ee,"popStack");function H(){var j;return j=D.pop()||F.lex()||P,typeof j!="number"&&(j instanceof Array&&(D=j,j=D.pop()),j=k.symbols_[j]||j),j}o(H,"lex");for(var he,Z,de,re,ne,te,Q={},le,J,ge,ie;;){if(de=C[C.length-1],this.defaultActions[de]?re=this.defaultActions[de]:((he===null||typeof he>"u")&&(he=H()),re=L[de]&&L[de][he]),typeof re>"u"||!re.length||!re[0]){var Te="";ie=[];for(le in L[de])this.terminals_[le]&&le>M&&ie.push("'"+this.terminals_[le]+"'");F.showPosition?Te="Parse error on line "+(A+1)+`: +`,"getStyles"),Dke=dht});var Lke={};vr(Lke,{diagram:()=>pht});var pht,Nke=O(()=>{"use strict";cke();bke();_ke();Rke();pht={db:zU,renderer:Ake,parser:lke,styles:Dke}});var VU,Oke,Pke=O(()=>{"use strict";VU=(function(){var t=o(function(E,w,k,S){for(k=k||{},S=E.length;S--;k[E[S]]=w);return k},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(w,k,S,A,L,I,N){var C=I.length-1;switch(L){case 6:case 7:return A;case 8:A.getLogger().trace("Stop NL ");break;case 9:A.getLogger().trace("Stop EOF ");break;case 11:A.getLogger().trace("Stop NL2 ");break;case 12:A.getLogger().trace("Stop EOF2 ");break;case 15:A.getLogger().info("Node: ",I[C].id),A.addNode(I[C-1].length,I[C].id,I[C].descr,I[C].type);break;case 16:A.getLogger().trace("Icon: ",I[C]),A.decorateNode({icon:I[C]});break;case 17:case 21:A.decorateNode({class:I[C]});break;case 18:A.getLogger().trace("SPACELIST");break;case 19:A.getLogger().trace("Node: ",I[C].id),A.addNode(0,I[C].id,I[C].descr,I[C].type);break;case 20:A.decorateNode({icon:I[C]});break;case 25:A.getLogger().trace("node found ..",I[C-2]),this.$={id:I[C-1],descr:I[C-1],type:A.getType(I[C-2],I[C])};break;case 26:this.$={id:I[C],descr:I[C],type:A.nodeType.DEFAULT};break;case 27:A.getLogger().trace("node found ..",I[C-3]),this.$={id:I[C-3],descr:I[C-1],type:A.getType(I[C-2],I[C])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(w,k){if(k.recoverable)this.trace(w);else{var S=new Error(w);throw S.hash=k,S}},"parseError"),parse:o(function(w){var k=this,S=[0],A=[],L=[null],I=[],N=this.table,C="",_=0,D=0,M=0,R=2,P=1,B=I.slice.call(arguments,1),F=Object.create(this.lexer),G={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(G.yy[$]=this.yy[$]);F.setInput(w,G.yy),G.yy.lexer=F,G.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var V=F.yylloc;I.push(V);var X=F.options&&F.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Q(we){S.length=S.length-2*we,L.length=L.length-we,I.length=I.length-we}o(Q,"popStack");function H(){var we;return we=A.pop()||F.lex()||P,typeof we!="number"&&(we instanceof Array&&(A=we,we=A.pop()),we=k.symbols_[we]||we),we}o(H,"lex");for(var ie,Y,le,ee,J,te,Z={},xe,de,Se,Me;;){if(le=S[S.length-1],this.defaultActions[le]?ee=this.defaultActions[le]:((ie===null||typeof ie>"u")&&(ie=H()),ee=N[le]&&N[le][ie]),typeof ee>"u"||!ee.length||!ee[0]){var ke="";Me=[];for(xe in N[le])this.terminals_[xe]&&xe>R&&Me.push("'"+this.terminals_[xe]+"'");F.showPosition?ke="Parse error on line "+(_+1)+`: `+F.showPosition()+` -Expecting `+ie.join(", ")+", got '"+(this.terminals_[he]||he)+"'":Te="Parse error on line "+(A+1)+": Unexpected "+(he==P?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(Te,{text:F.match,token:this.terminals_[he]||he,line:F.yylineno,loc:V,expected:ie})}if(re[0]instanceof Array&&re.length>1)throw new Error("Parse Error: multiple actions possible at state: "+de+", token: "+he);switch(re[0]){case 1:C.push(he),R.push(F.yytext),O.push(F.yylloc),C.push(re[1]),he=null,Z?(he=Z,Z=null):(_=F.yyleng,S=F.yytext,A=F.yylineno,V=F.yylloc,N>0&&N--);break;case 2:if(J=this.productions_[re[1]][1],Q.$=R[R.length-J],Q._$={first_line:O[O.length-(J||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(J||1)].first_column,last_column:O[O.length-1].last_column},K&&(Q._$.range=[O[O.length-(J||1)].range[0],O[O.length-1].range[1]]),te=this.performAction.apply(Q,[S,_,A,G.yy,re[1],R,O].concat(B)),typeof te<"u")return te;J&&(C=C.slice(0,-1*J*2),R=R.slice(0,-1*J),O=O.slice(0,-1*J)),C.push(this.productions_[re[1]][0]),R.push(Q.$),O.push(Q._$),ge=L[C[C.length-2]][C[C.length-1]],C.push(ge);break;case 3:return!0}}return!0},"parse")},b=(function(){var E={EOF:1,parseError:o(function(k,C){if(this.yy.parser)this.yy.parser.parseError(k,C);else throw new Error(k)},"parseError"),setInput:o(function(w,k){return this.yy=k||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:o(function(w){var k=w.length,C=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var D=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),C.length-1&&(this.yylineno-=C.length-1);var 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:C?(C.length===D.length?this.yylloc.first_column:0)+D[D.length-C.length].length-C[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Me.join(", ")+", got '"+(this.terminals_[ie]||ie)+"'":ke="Parse error on line "+(_+1)+": Unexpected "+(ie==P?"end of input":"'"+(this.terminals_[ie]||ie)+"'"),this.parseError(ke,{text:F.match,token:this.terminals_[ie]||ie,line:F.yylineno,loc:V,expected:Me})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+le+", token: "+ie);switch(ee[0]){case 1:S.push(ie),L.push(F.yytext),I.push(F.yylloc),S.push(ee[1]),ie=null,Y?(ie=Y,Y=null):(D=F.yyleng,C=F.yytext,_=F.yylineno,V=F.yylloc,M>0&&M--);break;case 2:if(de=this.productions_[ee[1]][1],Z.$=L[L.length-de],Z._$={first_line:I[I.length-(de||1)].first_line,last_line:I[I.length-1].last_line,first_column:I[I.length-(de||1)].first_column,last_column:I[I.length-1].last_column},X&&(Z._$.range=[I[I.length-(de||1)].range[0],I[I.length-1].range[1]]),te=this.performAction.apply(Z,[C,D,_,G.yy,ee[1],L,I].concat(B)),typeof te<"u")return te;de&&(S=S.slice(0,-1*de*2),L=L.slice(0,-1*de),I=I.slice(0,-1*de)),S.push(this.productions_[ee[1]][0]),L.push(Z.$),I.push(Z._$),Se=N[S[S.length-2]][S[S.length-1]],S.push(Se);break;case 3:return!0}}return!0},"parse")},b=(function(){var E={EOF:1,parseError:o(function(k,S){if(this.yy.parser)this.yy.parser.parseError(k,S);else throw new Error(k)},"parseError"),setInput:o(function(w,k){return this.yy=k||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:o(function(w){var k=w.length,S=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),S.length-1&&(this.yylineno-=S.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:S?(S.length===A.length?this.yylloc.first_column:0)+A[A.length-S.length].length-S[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(w){this.unput(this.match.slice(w))},"less"),pastInput:o(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var w=this.pastInput(),k=new Array(w.length+1).join("-");return w+this.upcomingInput()+` -`+k+"^"},"showPosition"),test_match:o(function(w,k){var C,D,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))),D=w[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+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(w[0].length),this.matched+=w[0],C=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var O in R)this[O]=R[O];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,k,C,D;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),O=0;Ok[0].length)){if(k=C,D=O,this.options.backtrack_lexer){if(w=this.test_match(C,R[O]),w!==!1)return w;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(w=this.test_match(k,R[D]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var k=this.next();return k||this.lex()},"lex"),begin:o(function(k){this.conditionStack.push(k)},"begin"),popState:o(function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},"topState"),pushState:o(function(k){this.begin(k)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(k,C,D,R){var O=R;switch(D){case 0:return k.getLogger().trace("Found comment",C.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:k.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return k.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:k.getLogger().trace("end icon"),this.popState();break;case 10:return k.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return k.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return k.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return k.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:k.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return k.getLogger().trace("description:",C.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),k.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),k.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),k.getLogger().trace("node end ...",C.yytext),"NODE_DEND";break;case 30:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return k.getLogger().trace("Long description:",C.yytext),20;break;case 36:return k.getLogger().trace("Long description:",C.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=b;function T(){this.yy={}}return o(T,"Parser"),T.prototype=x,x.Parser=T,new T})();AU.parser=AU;X5e=AU});function Q5e(t,e=0){return(ja[t[e+0]]+ja[t[e+1]]+ja[t[e+2]]+ja[t[e+3]]+"-"+ja[t[e+4]]+ja[t[e+5]]+"-"+ja[t[e+6]]+ja[t[e+7]]+"-"+ja[t[e+8]]+ja[t[e+9]]+"-"+ja[t[e+10]]+ja[t[e+11]]+ja[t[e+12]]+ja[t[e+13]]+ja[t[e+14]]+ja[t[e+15]]).toLowerCase()}var ja,Z5e=I(()=>{"use strict";ja=[];for(let t=0;t<256;++t)ja.push((t+256).toString(16).slice(1));o(Q5e,"unsafeStringify")});function DU(){if(!_U){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");_U=crypto.getRandomValues.bind(crypto)}return _U(Act)}var _U,Act,J5e=I(()=>{"use strict";Act=new Uint8Array(16);o(DU,"rng")});var _ct,RU,eke=I(()=>{"use strict";_ct=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),RU={randomUUID:_ct}});function Dct(t,e,r){if(RU.randomUUID&&!e&&!t)return RU.randomUUID();t=t||{};let n=t.random??t.rng?.()??DU();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)e[r+i]=n[i];return e}return Q5e(n)}var LU,tke=I(()=>{"use strict";eke();J5e();Z5e();o(Dct,"v4");LU=Dct});var rke=I(()=>{"use strict";tke()});var nf,K7,nke=I(()=>{"use strict";Qt();rke();wr();gt();Ka();ti();nf={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},K7=class{constructor(){this.nodes=[];this.count=0;this.elements={};this.getLogger=this.getLogger.bind(this),this.nodeType=nf,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{o(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){X.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);let s=xe(),l=s.mindmap?.padding??gr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:l*=2;break}let u={id:this.count++,nodeId:fr(r,s),level:e,descr:fr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??gr.mindmap.maxNodeWidth,padding:l,isRoot:a},h=this.getParent(e);if(h)h.children.push(u),this.nodes.push(u);else if(a)this.nodes.push(u);else throw new Error(`There can be only one root. No parent could be found for ("${u.descr}")`)}getType(e,r){switch(X.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let r=xe(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=fr(e.icon,r)),e.class&&(n.class=fr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(let[n,i]of e.children.entries()){let a=e.level===0?n:r;this.assignSections(i,a)}}flattenNodes(e,r){let n=["mindmap-node"];e.isRoot===!0?n.push("section-root","section--1"):e.section!==void 0&&n.push(`section-${e.section}`),e.class&&n.push(e.class);let i=n.join(" "),a=o(l=>{switch(l){case nf.CIRCLE:return"mindmapCircle";case nf.RECT:return"rect";case nf.ROUNDED_RECT:return"rounded";case nf.CLOUD:return"cloud";case nf.BANG:return"bang";case nf.HEXAGON:return"hexagon";case nf.DEFAULT:return"defaultMindmapNode";case nf.NO_BORDER:default:return"rect"}},"getShapeFromType"),s={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,isGroup:!1,shape:a(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:i,cssStyles:[],look:"default",icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(s),e.children)for(let l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(e.children)for(let n of e.children){let i="edge";n.section!==void 0&&(i+=` section-edge-${n.section}`);let a=e.level+1;i+=` edge-depth-${a}`;let s={id:`edge_${e.id}_${n.id}`,start:e.id.toString(),end:n.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:"default",classes:i,depth:e.level,section:n.section};r.push(s),this.generateEdges(n,r)}}getData(){let e=this.getMindmap(),r=xe(),i=GH().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};X.debug("getData: mindmapRoot",e,r),this.assignSections(e);let s=[],l=[];this.flattenNodes(e,s),this.generateEdges(e,l),X.debug(`getData: processed ${s.length} nodes and ${l.length} edges`);let u=new Map;for(let h of s)u.set(h.id,{shape:h.shape,width:h.width,height:h.height,padding:h.padding});return{nodes:s,edges:l,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(u),type:"mindmap",diagramId:"mindmap-"+LU()}}getLogger(){return X}}});var Rct,ike,ake=I(()=>{"use strict";gt();y0();Cd();Ad();Ka();Rct=o(async(t,e,r,n)=>{X.debug(`Rendering mindmap diagram -`+t);let i=n.db,a=i.getData(),s=xl(e,a.config.securityLevel);a.type=n.type,a.layoutAlgorithm=ku(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,i.getMindmap()&&(a.nodes.forEach(u=>{u.shape==="rounded"?(u.radius=15,u.taper=15,u.stroke="none",u.width=0,u.padding=15):u.shape==="circle"?u.padding=10:u.shape==="rect"&&(u.width=0,u.padding=10)}),await _l(a,s),mo(s,a.config.mindmap?.padding??gr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??gr.mindmap.useMaxWidth))},"draw"),ike={draw:Rct}});var Lct,Nct,ske,oke=I(()=>{"use strict";_o();Lct=o(t=>{let e="";for(let r=0;rk[0].length)){if(k=S,A=I,this.options.backtrack_lexer){if(w=this.test_match(S,L[I]),w!==!1)return w;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(w=this.test_match(k,L[A]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var k=this.next();return k||this.lex()},"lex"),begin:o(function(k){this.conditionStack.push(k)},"begin"),popState:o(function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},"topState"),pushState:o(function(k){this.begin(k)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(k,S,A,L){var I=L;switch(A){case 0:return k.getLogger().trace("Found comment",S.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:k.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return k.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:k.getLogger().trace("end icon"),this.popState();break;case 10:return k.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return k.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return k.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return k.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:k.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return k.getLogger().trace("description:",S.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),k.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),k.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),k.getLogger().trace("node end ...",S.yytext),"NODE_DEND";break;case 30:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),k.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),k.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return k.getLogger().trace("Long description:",S.yytext),20;break;case 36:return k.getLogger().trace("Long description:",S.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return E})();x.lexer=b;function T(){this.yy={}}return o(T,"Parser"),T.prototype=x,x.Parser=T,new T})();VU.parser=VU;Oke=VU});function Bke(t,e=0){return(Qa[t[e+0]]+Qa[t[e+1]]+Qa[t[e+2]]+Qa[t[e+3]]+"-"+Qa[t[e+4]]+Qa[t[e+5]]+"-"+Qa[t[e+6]]+Qa[t[e+7]]+"-"+Qa[t[e+8]]+Qa[t[e+9]]+"-"+Qa[t[e+10]]+Qa[t[e+11]]+Qa[t[e+12]]+Qa[t[e+13]]+Qa[t[e+14]]+Qa[t[e+15]]).toLowerCase()}var Qa,Fke=O(()=>{"use strict";Qa=[];for(let t=0;t<256;++t)Qa.push((t+256).toString(16).slice(1));o(Bke,"unsafeStringify")});function UU(){if(!qU){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");qU=crypto.getRandomValues.bind(crypto)}return qU(vht)}var qU,vht,$ke=O(()=>{"use strict";vht=new Uint8Array(16);o(UU,"rng")});var xht,WU,zke=O(()=>{"use strict";xht=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),WU={randomUUID:xht}});function bht(t,e,r){if(WU.randomUUID&&!e&&!t)return WU.randomUUID();t=t||{};let n=t.random??t.rng?.()??UU();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)e[r+i]=n[i];return e}return Bke(n)}var HU,Gke=O(()=>{"use strict";zke();$ke();Fke();o(bht,"v4");HU=bht});var Vke=O(()=>{"use strict";Gke()});var qke,Uke=O(()=>{"use strict";co();ar();qke=12});var uf,c_,Wke=O(()=>{"use strict";jt();Vke();Ur();xt();La();$r();Uke();uf={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},c_=class{constructor(){this.nodes=[];this.count=0;this.elements={};this.getLogger=this.getLogger.bind(this),this.nodeType=uf,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{o(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){K.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);let s=ve(),l=s.mindmap?.padding??gr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:l*=2;break}let u={id:this.count++,nodeId:wr(r,s),level:e,descr:wr(n,s),type:i,children:[],width:s.mindmap?.maxNodeWidth??gr.mindmap.maxNodeWidth,padding:l,isRoot:a},h=this.getParent(e);if(h)h.children.push(u),this.nodes.push(u);else if(a)this.nodes.push(u);else throw new Error(`There can be only one root. No parent could be found for ("${u.descr}")`)}getType(e,r){switch(K.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let r=ve(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=wr(e.icon,r)),e.class&&(n.class=wr(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(let[n,i]of e.children.entries()){let a=e.level===0?n%(qke-1):r;this.assignSections(i,a)}}flattenNodes(e,r){let n=["mindmap-node"];e.isRoot===!0?n.push("section-root","section--1"):e.section!==void 0&&n.push(`section-${e.section}`),e.class&&n.push(e.class);let i=n.join(" "),a=o(l=>{switch(l){case uf.CIRCLE:return"mindmapCircle";case uf.RECT:return"rect";case uf.ROUNDED_RECT:return"rounded";case uf.CLOUD:return"cloud";case uf.BANG:return"bang";case uf.HEXAGON:return"hexagon";case uf.DEFAULT:return"defaultMindmapNode";case uf.NO_BORDER:default:return"rect"}},"getShapeFromType"),s={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:a(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:i,cssStyles:[],look:"default",icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(s),e.children)for(let l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(e.children)for(let n of e.children){let i="edge";n.section!==void 0&&(i+=` section-edge-${n.section}`);let a=e.level+1;i+=` edge-depth-${a}`;let s={id:`edge_${e.id}_${n.id}`,start:e.id.toString(),end:n.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:"default",classes:i,depth:e.level,section:n.section};r.push(s),this.generateEdges(n,r)}}getData(){let e=this.getMindmap(),r=ve(),i=kY().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};K.debug("getData: mindmapRoot",e,r),this.assignSections(e);let s=[],l=[];this.flattenNodes(e,s),this.generateEdges(e,l),K.debug(`getData: processed ${s.length} nodes and ${l.length} edges`);let u=new Map;for(let h of s)u.set(h.id,{shape:h.shape,width:h.width,height:h.height,padding:h.padding});return{nodes:s,edges:l,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(u),type:"mindmap",diagramId:"mindmap-"+HU()}}getLogger(){return K}}});var Tht,Hke,Yke=O(()=>{"use strict";xt();b0();Rd();Ld();La();Tht=o(async(t,e,r,n)=>{K.debug(`Rendering mindmap diagram +`+t);let i=n.db,a=i.getData(),s=Sl(e,a.config.securityLevel);a.type=n.type,a.layoutAlgorithm=Ru(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,i.getMindmap()&&(a.nodes.forEach(u=>{u.shape==="rounded"?(u.radius=15,u.taper=15,u.stroke="none",u.width=0,u.padding=15):u.shape==="circle"?u.padding=10:u.shape==="rect"&&(u.width=0,u.padding=10)}),await Ol(a,s),bo(s,a.config.mindmap?.padding??gr.mindmap.padding,"mindmapDiagram",a.config.mindmap?.useMaxWidth??gr.mindmap.useMaxWidth))},"draw"),Hke={draw:Tht}});var wht,kht,jke,Xke=O(()=>{"use strict";Ys();wht=o(t=>{let e="";for(let r=0;r` + `}return e},"genSections"),kht=o(t=>` .edge { stroke-width: 3; } - ${Lct(t)} + ${wht(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2450,17 +2517,17 @@ Expecting `+ie.join(", ")+", got '"+(this.terminals_[he]||he)+"'":Te="Parse erro dominant-baseline: middle; text-align: center; } -`,"getStyles"),ske=Nct});var lke={};vr(lke,{diagram:()=>Mct});var Mct,cke=I(()=>{"use strict";K5e();nke();ake();oke();Mct={get db(){return new K7},renderer:ike,parser:X5e,styles:ske}});var NU,fke,dke=I(()=>{"use strict";NU=(function(){var t=o(function(C,D,R,O){for(R=R||{},O=C.length;O--;R[C[O]]=D);return R},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],T=[1,38],E={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(D,R,O,L,S,A,_){var N=A.length-1;switch(S){case 6:case 7:return L;case 8:L.getLogger().trace("Stop NL ");break;case 9:L.getLogger().trace("Stop EOF ");break;case 11:L.getLogger().trace("Stop NL2 ");break;case 12:L.getLogger().trace("Stop EOF2 ");break;case 15:L.getLogger().info("Node: ",A[N-1].id),L.addNode(A[N-2].length,A[N-1].id,A[N-1].descr,A[N-1].type,A[N]);break;case 16:L.getLogger().info("Node: ",A[N].id),L.addNode(A[N-1].length,A[N].id,A[N].descr,A[N].type);break;case 17:L.getLogger().trace("Icon: ",A[N]),L.decorateNode({icon:A[N]});break;case 18:case 23:L.decorateNode({class:A[N]});break;case 19:L.getLogger().trace("SPACELIST");break;case 20:L.getLogger().trace("Node: ",A[N-1].id),L.addNode(0,A[N-1].id,A[N-1].descr,A[N-1].type,A[N]);break;case 21:L.getLogger().trace("Node: ",A[N].id),L.addNode(0,A[N].id,A[N].descr,A[N].type);break;case 22:L.decorateNode({icon:A[N]});break;case 27:L.getLogger().trace("node found ..",A[N-2]),this.$={id:A[N-1],descr:A[N-1],type:L.getType(A[N-2],A[N])};break;case 28:this.$={id:A[N],descr:A[N],type:0};break;case 29:L.getLogger().trace("node found ..",A[N-3]),this.$={id:A[N-3],descr:A[N-1],type:L.getType(A[N-2],A[N])};break;case 30:this.$=A[N-1]+A[N];break;case 31:this.$=A[N];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:h,7:f,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:m}),t(p,[2,22]),t(p,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:f,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(y,[2,14],{7:v,11:x}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(p,[2,16],{15:37,24:m}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:T}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(y,[2,13],{7:v,11:x}),t(b,[2,11]),t(b,[2,12]),t(p,[2,15],{24:T}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(D,R){if(R.recoverable)this.trace(D);else{var O=new Error(D);throw O.hash=R,O}},"parseError"),parse:o(function(D){var R=this,O=[0],L=[],S=[null],A=[],_=this.table,N="",M=0,P=0,B=0,F=2,G=1,$=A.slice.call(arguments,1),V=Object.create(this.lexer),K={yy:{}};for(var ee in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ee)&&(K.yy[ee]=this.yy[ee]);V.setInput(D,K.yy),K.yy.lexer=V,K.yy.parser=this,typeof V.yylloc>"u"&&(V.yylloc={});var H=V.yylloc;A.push(H);var he=V.options&&V.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Z($e){O.length=O.length-2*$e,S.length=S.length-$e,A.length=A.length-$e}o(Z,"popStack");function de(){var $e;return $e=L.pop()||V.lex()||G,typeof $e!="number"&&($e instanceof Array&&(L=$e,$e=L.pop()),$e=R.symbols_[$e]||$e),$e}o(de,"lex");for(var re,ne,te,Q,le,J,ge={},ie,Te,j,Ge;;){if(te=O[O.length-1],this.defaultActions[te]?Q=this.defaultActions[te]:((re===null||typeof re>"u")&&(re=de()),Q=_[te]&&_[te][re]),typeof Q>"u"||!Q.length||!Q[0]){var ye="";Ge=[];for(ie in _[te])this.terminals_[ie]&&ie>F&&Ge.push("'"+this.terminals_[ie]+"'");V.showPosition?ye="Parse error on line "+(M+1)+`: +`,"getStyles"),jke=kht});var Kke={};vr(Kke,{diagram:()=>Eht});var Eht,Qke=O(()=>{"use strict";Pke();Wke();Yke();Xke();Eht={get db(){return new c_},renderer:Hke,parser:Oke,styles:jke}});var YU,eEe,tEe=O(()=>{"use strict";YU=(function(){var t=o(function(S,A,L,I){for(L=L||{},I=S.length;I--;L[S[I]]=A);return L},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],T=[1,38],E={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:o(function(A,L,I,N,C,_,D){var M=_.length-1;switch(C){case 6:case 7:return N;case 8:N.getLogger().trace("Stop NL ");break;case 9:N.getLogger().trace("Stop EOF ");break;case 11:N.getLogger().trace("Stop NL2 ");break;case 12:N.getLogger().trace("Stop EOF2 ");break;case 15:N.getLogger().info("Node: ",_[M-1].id),N.addNode(_[M-2].length,_[M-1].id,_[M-1].descr,_[M-1].type,_[M]);break;case 16:N.getLogger().info("Node: ",_[M].id),N.addNode(_[M-1].length,_[M].id,_[M].descr,_[M].type);break;case 17:N.getLogger().trace("Icon: ",_[M]),N.decorateNode({icon:_[M]});break;case 18:case 23:N.decorateNode({class:_[M]});break;case 19:N.getLogger().trace("SPACELIST");break;case 20:N.getLogger().trace("Node: ",_[M-1].id),N.addNode(0,_[M-1].id,_[M-1].descr,_[M-1].type,_[M]);break;case 21:N.getLogger().trace("Node: ",_[M].id),N.addNode(0,_[M].id,_[M].descr,_[M].type);break;case 22:N.decorateNode({icon:_[M]});break;case 27:N.getLogger().trace("node found ..",_[M-2]),this.$={id:_[M-1],descr:_[M-1],type:N.getType(_[M-2],_[M])};break;case 28:this.$={id:_[M],descr:_[M],type:0};break;case 29:N.getLogger().trace("node found ..",_[M-3]),this.$={id:_[M-3],descr:_[M-1],type:N.getType(_[M-2],_[M])};break;case 30:this.$=_[M-1]+_[M];break;case 31:this.$=_[M];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:h,7:f,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:m}),t(p,[2,22]),t(p,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:f,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(y,[2,14],{7:v,11:x}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(p,[2,16],{15:37,24:m}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:T}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(y,[2,13],{7:v,11:x}),t(b,[2,11]),t(b,[2,12]),t(p,[2,15],{24:T}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(A,L){if(L.recoverable)this.trace(A);else{var I=new Error(A);throw I.hash=L,I}},"parseError"),parse:o(function(A){var L=this,I=[0],N=[],C=[null],_=[],D=this.table,M="",R=0,P=0,B=0,F=2,G=1,$=_.slice.call(arguments,1),V=Object.create(this.lexer),X={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&(X.yy[Q]=this.yy[Q]);V.setInput(A,X.yy),X.yy.lexer=V,X.yy.parser=this,typeof V.yylloc>"u"&&(V.yylloc={});var H=V.yylloc;_.push(H);var ie=V.options&&V.options.ranges;typeof X.yy.parseError=="function"?this.parseError=X.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(fe){I.length=I.length-2*fe,C.length=C.length-fe,_.length=_.length-fe}o(Y,"popStack");function le(){var fe;return fe=N.pop()||V.lex()||G,typeof fe!="number"&&(fe instanceof Array&&(N=fe,fe=N.pop()),fe=L.symbols_[fe]||fe),fe}o(le,"lex");for(var ee,J,te,Z,xe,de,Se={},Me,ke,we,_e;;){if(te=I[I.length-1],this.defaultActions[te]?Z=this.defaultActions[te]:((ee===null||typeof ee>"u")&&(ee=le()),Z=D[te]&&D[te][ee]),typeof Z>"u"||!Z.length||!Z[0]){var $e="";_e=[];for(Me in D[te])this.terminals_[Me]&&Me>F&&_e.push("'"+this.terminals_[Me]+"'");V.showPosition?$e="Parse error on line "+(R+1)+`: `+V.showPosition()+` -Expecting `+Ge.join(", ")+", got '"+(this.terminals_[re]||re)+"'":ye="Parse error on line "+(M+1)+": Unexpected "+(re==G?"end of input":"'"+(this.terminals_[re]||re)+"'"),this.parseError(ye,{text:V.match,token:this.terminals_[re]||re,line:V.yylineno,loc:H,expected:Ge})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+re);switch(Q[0]){case 1:O.push(re),S.push(V.yytext),A.push(V.yylloc),O.push(Q[1]),re=null,ne?(re=ne,ne=null):(P=V.yyleng,N=V.yytext,M=V.yylineno,H=V.yylloc,B>0&&B--);break;case 2:if(Te=this.productions_[Q[1]][1],ge.$=S[S.length-Te],ge._$={first_line:A[A.length-(Te||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(Te||1)].first_column,last_column:A[A.length-1].last_column},he&&(ge._$.range=[A[A.length-(Te||1)].range[0],A[A.length-1].range[1]]),J=this.performAction.apply(ge,[N,P,M,K.yy,Q[1],S,A].concat($)),typeof J<"u")return J;Te&&(O=O.slice(0,-1*Te*2),S=S.slice(0,-1*Te),A=A.slice(0,-1*Te)),O.push(this.productions_[Q[1]][0]),S.push(ge.$),A.push(ge._$),j=_[O[O.length-2]][O[O.length-1]],O.push(j);break;case 3:return!0}}return!0},"parse")},w=(function(){var C={EOF:1,parseError:o(function(R,O){if(this.yy.parser)this.yy.parser.parseError(R,O);else throw new Error(R)},"parseError"),setInput:o(function(D,R){return this.yy=R||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var R=D.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:o(function(D){var R=D.length,O=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;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),O.length-1&&(this.yylineno-=O.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===L.length?this.yylloc.first_column:0)+L[L.length-O.length].length-O[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(D){this.unput(this.match.slice(D))},"less"),pastInput:o(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var D=this.pastInput(),R=new Array(D.length+1).join("-");return D+this.upcomingInput()+` -`+R+"^"},"showPosition"),test_match:o(function(D,R){var O,L,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),L=D[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+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],O=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),O)return O;if(this._backtrack){for(var A in S)this[A]=S[A];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,R,O,L;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),A=0;AR[0].length)){if(R=O,L=A,this.options.backtrack_lexer){if(D=this.test_match(O,S[A]),D!==!1)return D;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(D=this.test_match(R,S[L]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var R=this.next();return R||this.lex()},"lex"),begin:o(function(R){this.conditionStack.push(R)},"begin"),popState:o(function(){var R=this.conditionStack.length-1;return R>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(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:o(function(R){this.begin(R)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(R,O,L,S){var A=S;switch(L){case 0:return this.pushState("shapeData"),O.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let _=/\n\s*/g;return O.yytext=O.yytext.replace(_,"
    "),24;break;case 4:return 24;case 5:this.popState();break;case 6:return R.getLogger().trace("Found comment",O.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:R.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return R.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:R.getLogger().trace("end icon"),this.popState();break;case 16:return R.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return R.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return R.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return R.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:R.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return R.getLogger().trace("description:",O.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),R.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),R.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),R.getLogger().trace("node end ...",O.yytext),"NODE_DEND";break;case 36:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),R.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),R.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return R.getLogger().trace("Long description:",O.yytext),21;break;case 42:return R.getLogger().trace("Long description:",O.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return C})();E.lexer=w;function k(){this.yy={}}return o(k,"Parser"),k.prototype=E,E.Parser=k,new k})();NU.parser=NU;fke=NU});var zl,IU,MU,OU,Bct,Fct,pke,$ct,zct,sa,Gct,Vct,qct,Uct,Wct,Hct,Yct,mke,gke=I(()=>{"use strict";Qt();wr();gt();Ka();Hx();zl=[],IU=[],MU=0,OU={},Bct=o(()=>{zl=[],IU=[],MU=0,OU={}},"clear"),Fct=o(t=>{if(zl.length===0)return null;let e=zl[0].level,r=null;for(let n=zl.length-1;n>=0;n--)if(zl[n].level===e&&!r&&(r=zl[n]),zl[n].levell.parentId===i.id);for(let l of s){let u={id:l.id,parentId:i.id,label:fr(l.label??"",n),isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(u)}}return{nodes:e,edges:t,other:{},config:xe()}},"getData"),zct=o((t,e,r,n,i)=>{let a=xe(),s=a.mindmap?.padding??gr.mindmap.padding;switch(n){case sa.ROUNDED_RECT:case sa.RECT:case sa.HEXAGON:s*=2}let l={id:fr(e,a)||"kbn"+MU++,level:t,label:fr(r,a),width:a.mindmap?.maxNodeWidth??gr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let h;i.includes(` +Expecting `+_e.join(", ")+", got '"+(this.terminals_[ee]||ee)+"'":$e="Parse error on line "+(R+1)+": Unexpected "+(ee==G?"end of input":"'"+(this.terminals_[ee]||ee)+"'"),this.parseError($e,{text:V.match,token:this.terminals_[ee]||ee,line:V.yylineno,loc:H,expected:_e})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+te+", token: "+ee);switch(Z[0]){case 1:I.push(ee),C.push(V.yytext),_.push(V.yylloc),I.push(Z[1]),ee=null,J?(ee=J,J=null):(P=V.yyleng,M=V.yytext,R=V.yylineno,H=V.yylloc,B>0&&B--);break;case 2:if(ke=this.productions_[Z[1]][1],Se.$=C[C.length-ke],Se._$={first_line:_[_.length-(ke||1)].first_line,last_line:_[_.length-1].last_line,first_column:_[_.length-(ke||1)].first_column,last_column:_[_.length-1].last_column},ie&&(Se._$.range=[_[_.length-(ke||1)].range[0],_[_.length-1].range[1]]),de=this.performAction.apply(Se,[M,P,R,X.yy,Z[1],C,_].concat($)),typeof de<"u")return de;ke&&(I=I.slice(0,-1*ke*2),C=C.slice(0,-1*ke),_=_.slice(0,-1*ke)),I.push(this.productions_[Z[1]][0]),C.push(Se.$),_.push(Se._$),we=D[I[I.length-2]][I[I.length-1]],I.push(we);break;case 3:return!0}}return!0},"parse")},w=(function(){var S={EOF:1,parseError:o(function(L,I){if(this.yy.parser)this.yy.parser.parseError(L,I);else throw new Error(L)},"parseError"),setInput:o(function(A,L){return this.yy=L||this.yy||{},this._input=A,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var L=A.match(/(?:\r\n?|\n).*/g);return L?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),A},"input"),unput:o(function(A){var L=A.length,I=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;var N=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.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:I?(I.length===N.length?this.yylloc.first_column:0)+N[N.length-I.length].length-I[0].length:this.yylloc.first_column-L},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-L]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(A){this.unput(this.match.slice(A))},"less"),pastInput:o(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var A=this.pastInput(),L=new Array(A.length+1).join("-");return A+this.upcomingInput()+` +`+L+"^"},"showPosition"),test_match:o(function(A,L){var I,N,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))),N=A[0].match(/(?:\r\n?|\n).*/g),N&&(this.yylineno+=N.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:N?N[N.length-1].length-N[N.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(A[0].length),this.matched+=A[0],I=this.performAction.call(this,this.yy,this,L,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var _ in C)this[_]=C[_];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,L,I,N;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),_=0;_L[0].length)){if(L=I,N=_,this.options.backtrack_lexer){if(A=this.test_match(I,C[_]),A!==!1)return A;if(this._backtrack){L=!1;continue}else return!1}else if(!this.options.flex)break}return L?(A=this.test_match(L,C[N]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var L=this.next();return L||this.lex()},"lex"),begin:o(function(L){this.conditionStack.push(L)},"begin"),popState:o(function(){var L=this.conditionStack.length-1;return L>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(L){return L=this.conditionStack.length-1-Math.abs(L||0),L>=0?this.conditionStack[L]:"INITIAL"},"topState"),pushState:o(function(L){this.begin(L)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(L,I,N,C){var _=C;switch(N){case 0:return this.pushState("shapeData"),I.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let D=/\n\s*/g;return I.yytext=I.yytext.replace(D,"
    "),24;break;case 4:return 24;case 5:this.popState();break;case 6:return L.getLogger().trace("Found comment",I.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:L.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return L.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:L.getLogger().trace("end icon"),this.popState();break;case 16:return L.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return L.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return L.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return L.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:L.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return L.getLogger().trace("description:",I.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),L.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),L.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),L.getLogger().trace("node end ...",I.yytext),"NODE_DEND";break;case 36:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return L.getLogger().trace("Long description:",I.yytext),21;break;case 42:return L.getLogger().trace("Long description:",I.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return S})();E.lexer=w;function k(){this.yy={}}return o(k,"Parser"),k.prototype=E,E.Parser=k,new k})();YU.parser=YU;eEe=YU});var Yl,XU,jU,KU,_ht,Dht,rEe,Rht,Lht,ha,Nht,Mht,Iht,Oht,Pht,Bht,Fht,nEe,iEe=O(()=>{"use strict";jt();Ur();xt();La();ib();Yl=[],XU=[],jU=0,KU={},_ht=o(()=>{Yl=[],XU=[],jU=0,KU={}},"clear"),Dht=o(t=>{if(Yl.length===0)return null;let e=Yl[0].level,r=null;for(let n=Yl.length-1;n>=0;n--)if(Yl[n].level===e&&!r&&(r=Yl[n]),Yl[n].levell.parentId===i.id);for(let l of s){let u={id:l.id,parentId:i.id,label:wr(l.label??"",n),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"]};e.push(u)}}return{nodes:e,edges:t,other:{},config:ve()}},"getData"),Lht=o((t,e,r,n,i)=>{let a=ve(),s=a.mindmap?.padding??gr.mindmap.padding;switch(n){case ha.ROUNDED_RECT:case ha.RECT:case ha.HEXAGON:s*=2}let l={id:wr(e,a)||"kbn"+jU++,level:t,label:wr(r,a),width:a.mindmap?.maxNodeWidth??gr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let h;i.includes(` `)?h=i+` `:h=`{ `+i+` -}`;let f=Wf(h,{schema:Uf});if(f.shape&&(f.shape!==f.shape.toLowerCase()||f.shape.includes("_")))throw new Error(`No such shape: ${f.shape}. Shape names should be lowercase.`);f?.shape&&f.shape==="kanbanItem"&&(l.shape=f?.shape),f?.label&&(l.label=f?.label),f?.icon&&(l.icon=f?.icon.toString()),f?.assigned&&(l.assigned=f?.assigned.toString()),f?.ticket&&(l.ticket=f?.ticket.toString()),f?.priority&&(l.priority=f?.priority)}let u=Fct(t);u?l.parentId=u.id||"kbn"+MU++:IU.push(l),zl.push(l)},"addNode"),sa={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Gct=o((t,e)=>{switch(X.debug("In get type",t,e),t){case"[":return sa.RECT;case"(":return e===")"?sa.ROUNDED_RECT:sa.CLOUD;case"((":return sa.CIRCLE;case")":return sa.CLOUD;case"))":return sa.BANG;case"{{":return sa.HEXAGON;default:return sa.DEFAULT}},"getType"),Vct=o((t,e)=>{OU[t]=e},"setElementForId"),qct=o(t=>{if(!t)return;let e=xe(),r=zl[zl.length-1];t.icon&&(r.icon=fr(t.icon,e)),t.class&&(r.cssClasses=fr(t.class,e))},"decorateNode"),Uct=o(t=>{switch(t){case sa.DEFAULT:return"no-border";case sa.RECT:return"rect";case sa.ROUNDED_RECT:return"rounded-rect";case sa.CIRCLE:return"circle";case sa.CLOUD:return"cloud";case sa.BANG:return"bang";case sa.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Wct=o(()=>X,"getLogger"),Hct=o(t=>OU[t],"getElementById"),Yct={clear:Bct,addNode:zct,getSections:pke,getData:$ct,nodeType:sa,getType:Gct,setElementForId:Vct,decorateNode:qct,type2Str:Uct,getLogger:Wct,getElementById:Hct},mke=Yct});var jct,yke,vke=I(()=>{"use strict";Qt();gt();Uu();Fi();Ka();Yk();iS();jct=o(async(t,e,r,n)=>{X.debug(`Rendering kanban diagram -`+t);let a=n.db.getData(),s=xe();s.htmlLabels=!1;let l=Ca(e),u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let f=a.nodes.filter(v=>v.isGroup),d=0,p=10,m=[],g=25;for(let v of f){let x=s?.kanban?.sectionWidth||200;d=d+1,v.x=x*d+(d-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+d;let b=await l1(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of f){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,T=-b*3/2+g,E=T,w=a.nodes.filter(D=>D.parentId===v.id);for(let D of w){if(D.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");D.x=v.x,D.width=b-1.5*p;let O=(await c1(h,D,{config:s})).node().getBBox();D.y=E+O.height/2,await sb(D),E=D.y+O.height/2+p/2}let k=x.cluster.select("rect"),C=Math.max(E-T+3*p,50)+(g-25);k.attr("height",C)}Vc(void 0,l,s.mindmap?.padding??gr.kanban.padding,s.mindmap?.useMaxWidth??gr.kanban.useMaxWidth)},"draw"),yke={draw:jct}});var Xct,Kct,xke,bke=I(()=>{"use strict";_o();ey();Xct=o(t=>{let e="";for(let n=0;nt.darkMode?$t(n,i):It(n,i),"adjuster");for(let n=0;n{switch(K.debug("In get type",t,e),t){case"[":return ha.RECT;case"(":return e===")"?ha.ROUNDED_RECT:ha.CLOUD;case"((":return ha.CIRCLE;case")":return ha.CLOUD;case"))":return ha.BANG;case"{{":return ha.HEXAGON;default:return ha.DEFAULT}},"getType"),Mht=o((t,e)=>{KU[t]=e},"setElementForId"),Iht=o(t=>{if(!t)return;let e=ve(),r=Yl[Yl.length-1];t.icon&&(r.icon=wr(t.icon,e)),t.class&&(r.cssClasses=wr(t.class,e))},"decorateNode"),Oht=o(t=>{switch(t){case ha.DEFAULT:return"no-border";case ha.RECT:return"rect";case ha.ROUNDED_RECT:return"rounded-rect";case ha.CIRCLE:return"circle";case ha.CLOUD:return"cloud";case ha.BANG:return"bang";case ha.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Pht=o(()=>K,"getLogger"),Bht=o(t=>KU[t],"getElementById"),Fht={clear:_ht,addNode:Lht,getSections:rEe,getData:Rht,nodeType:ha,getType:Nht,setElementForId:Mht,decorateNode:Iht,type2Str:Oht,getLogger:Pht,getElementById:Bht},nEe=Fht});var $ht,aEe,sEe=O(()=>{"use strict";jt();xt();Ul();Ti();La();oE();yE();$ht=o(async(t,e,r,n)=>{K.debug(`Rendering kanban diagram +`+t);let a=n.db.getData(),s=ve();s.htmlLabels=!1;let l=Ii(e),u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let f=a.nodes.filter(v=>v.isGroup),d=0,p=10,m=[],g=25;for(let v of f){let x=s?.kanban?.sectionWidth||200;d=d+1,v.x=x*d+(d-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+d;let b=await g1(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of f){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,T=-b*3/2+g,E=T,w=a.nodes.filter(A=>A.parentId===v.id);for(let A of w){if(A.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");A.x=v.x,A.width=b-1.5*p;let I=(await y1(h,A,{config:s})).node().getBBox();A.y=E+I.height/2,await vb(A),E=A.y+I.height/2+p/2}let k=x.cluster.select("rect"),S=Math.max(E-T+3*p,50)+(g-25);k.attr("height",S)}Kc(void 0,l,s.mindmap?.padding??gr.kanban.padding,s.mindmap?.useMaxWidth??gr.kanban.useMaxWidth)},"draw"),aEe={draw:$ht}});var zht,Ght,oEe,lEe=O(()=>{"use strict";Ys();ly();zht=o(t=>{let e="";for(let n=0;nt.darkMode?Bt(n,i):Lt(n,i),"adjuster");for(let n=0;n` + `}return e},"genSections"),Ght=o(t=>` .edge { stroke-width: 3; } - ${Xct(t)} + ${zht(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -2537,17 +2604,17 @@ Expecting `+Ge.join(", ")+", got '"+(this.terminals_[re]||re)+"'":ye="Parse erro dominant-baseline: middle; text-align: center; } - ${Su()} -`,"getStyles"),xke=Kct});var Tke={};vr(Tke,{diagram:()=>Qct});var Qct,wke=I(()=>{"use strict";dke();gke();vke();bke();Qct={db:mke,renderer:yke,parser:fke,styles:xke}});var PU,u3,Eke=I(()=>{"use strict";PU=(function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,T=2,E=1,w=m.slice.call(arguments,1),k=Object.create(this.lexer),C={yy:{}};for(var D in this.yy)Object.prototype.hasOwnProperty.call(this.yy,D)&&(C.yy[D]=this.yy[D]);k.setInput(u,C.yy),C.yy.lexer=k,C.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var R=k.yylloc;m.push(R);var O=k.options&&k.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function L(H){f.length=f.length-2*H,p.length=p.length-H,m.length=m.length-H}o(L,"popStack");function S(){var H;return H=d.pop()||k.lex()||E,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=h.symbols_[H]||H),H}o(S,"lex");for(var A,_,N,M,P,B,F={},G,$,V,K;;){if(N=f[f.length-1],this.defaultActions[N]?M=this.defaultActions[N]:((A===null||typeof A>"u")&&(A=S()),M=g[N]&&g[N][A]),typeof M>"u"||!M.length||!M[0]){var ee="";K=[];for(G in g[N])this.terminals_[G]&&G>T&&K.push("'"+this.terminals_[G]+"'");k.showPosition?ee="Parse error on line "+(v+1)+`: + ${Lu()} +`,"getStyles"),oEe=Ght});var cEe={};vr(cEe,{diagram:()=>Vht});var Vht,uEe=O(()=>{"use strict";tEe();iEe();sEe();lEe();Vht={db:nEe,renderer:aEe,parser:eEe,styles:oEe}});var QU,T3,dEe=O(()=>{"use strict";QU=(function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,T=2,E=1,w=m.slice.call(arguments,1),k=Object.create(this.lexer),S={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(S.yy[A]=this.yy[A]);k.setInput(u,S.yy),S.yy.lexer=k,S.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var L=k.yylloc;m.push(L);var I=k.options&&k.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(H){f.length=f.length-2*H,p.length=p.length-H,m.length=m.length-H}o(N,"popStack");function C(){var H;return H=d.pop()||k.lex()||E,typeof H!="number"&&(H instanceof Array&&(d=H,H=d.pop()),H=h.symbols_[H]||H),H}o(C,"lex");for(var _,D,M,R,P,B,F={},G,$,V,X;;){if(M=f[f.length-1],this.defaultActions[M]?R=this.defaultActions[M]:((_===null||typeof _>"u")&&(_=C()),R=g[M]&&g[M][_]),typeof R>"u"||!R.length||!R[0]){var Q="";X=[];for(G in g[M])this.terminals_[G]&&G>T&&X.push("'"+this.terminals_[G]+"'");k.showPosition?Q="Parse error on line "+(v+1)+`: `+k.showPosition()+` -Expecting `+K.join(", ")+", got '"+(this.terminals_[A]||A)+"'":ee="Parse error on line "+(v+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(ee,{text:k.match,token:this.terminals_[A]||A,line:k.yylineno,loc:R,expected:K})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+A);switch(M[0]){case 1:f.push(A),p.push(k.yytext),m.push(k.yylloc),f.push(M[1]),A=null,_?(A=_,_=null):(x=k.yyleng,y=k.yytext,v=k.yylineno,R=k.yylloc,b>0&&b--);break;case 2:if($=this.productions_[M[1]][1],F.$=p[p.length-$],F._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},O&&(F._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),B=this.performAction.apply(F,[y,x,v,C.yy,M[1],p,m].concat(w)),typeof B<"u")return B;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[M[1]][0]),p.push(F.$),m.push(F._$),V=g[f[f.length-2]][f[f.length-1]],f.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+X.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Q="Parse error on line "+(v+1)+": Unexpected "+(_==E?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Q,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:L,expected:X})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+_);switch(R[0]){case 1:f.push(_),p.push(k.yytext),m.push(k.yylloc),f.push(R[1]),_=null,D?(_=D,D=null):(x=k.yyleng,y=k.yytext,v=k.yylineno,L=k.yylloc,b>0&&b--);break;case 2:if($=this.productions_[R[1]][1],F.$=p[p.length-$],F._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},I&&(F._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),B=this.performAction.apply(F,[y,x,v,S.yy,R[1],p,m].concat(w)),typeof B<"u")return B;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[R[1]][0]),p.push(F.$),m.push(F._$),V=g[f[f.length-2]][f[f.length-1]],f.push(V);break;case 3:return!0}}return!0},"parse")},a=(function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(u){this.unput(this.match.slice(u))},"less"),pastInput:o(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` `+h+"^"},"showPosition"),test_match:o(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return l})();i.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=i,i.Parser=s,new s})();PU.parser=PU;u3=PU});var Z7,J7,Q7,tut,BU,rut,FU,nut,iut,aut,sut,Cke,Ake=I(()=>{"use strict";Qt();wr();ki();Z7=[],J7=[],Q7=new Map,tut=o(()=>{Z7=[],J7=[],Q7=new Map,Mr()},"clear"),BU=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{o(this,"SankeyLink")}},rut=o((t,e,r)=>{Z7.push(new BU(t,e,r))},"addLink"),FU=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},nut=o(t=>{t=nt.sanitizeText(t,xe());let e=Q7.get(t);return e===void 0&&(e=new FU(t),Q7.set(t,e),J7.push(e)),e},"findOrCreateNode"),iut=o(()=>J7,"getNodes"),aut=o(()=>Z7,"getLinks"),sut=o(()=>({nodes:J7.map(t=>({id:t.ID})),links:Z7.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),Cke={nodesMap:Q7,getConfig:o(()=>xe().sankey,"getConfig"),getNodes:iut,getLinks:aut,getGraph:sut,addLink:rut,findOrCreateNode:nut,getAccTitle:Vr,setAccTitle:zr,getAccDescription:Ur,setAccDescription:qr,getDiagramTitle:Wr,setDiagramTitle:Xr,clear:tut}});function h3(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var _ke=I(()=>{"use strict";o(h3,"max")});function Bv(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var Dke=I(()=>{"use strict";o(Bv,"min")});function Fv(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var Rke=I(()=>{"use strict";o(Fv,"sum")});var $U=I(()=>{"use strict";_ke();Dke();Rke()});function out(t){return t.target.depth}function zU(t){return t.depth}function GU(t,e){return e-1-t.height}function f3(t,e){return t.sourceLinks.length?t.depth:e-1}function VU(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?Bv(t.sourceLinks,out)-1:0}var qU=I(()=>{"use strict";$U();o(out,"targetDepth");o(zU,"left");o(GU,"right");o(f3,"justify");o(VU,"center")});function $v(t){return function(){return t}}var Lke=I(()=>{"use strict";o($v,"constant")});function Nke(t,e){return e8(t.source,e.source)||t.index-e.index}function Mke(t,e){return e8(t.target,e.target)||t.index-e.index}function e8(t,e){return t.y0-e.y0}function UU(t){return t.value}function lut(t){return t.index}function cut(t){return t.nodes}function uut(t){return t.links}function Ike(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function Oke({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function t8(){let t=0,e=0,r=1,n=1,i=24,a=8,s,l=lut,u=f3,h,f,d=cut,p=uut,m=6;function g(){let N={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(N),v(N),x(N),b(N),w(N),Oke(N),N}o(g,"sankey"),g.update=function(N){return Oke(N),N},g.nodeId=function(N){return arguments.length?(l=typeof N=="function"?N:$v(N),g):l},g.nodeAlign=function(N){return arguments.length?(u=typeof N=="function"?N:$v(N),g):u},g.nodeSort=function(N){return arguments.length?(h=N,g):h},g.nodeWidth=function(N){return arguments.length?(i=+N,g):i},g.nodePadding=function(N){return arguments.length?(a=s=+N,g):a},g.nodes=function(N){return arguments.length?(d=typeof N=="function"?N:$v(N),g):d},g.links=function(N){return arguments.length?(p=typeof N=="function"?N:$v(N),g):p},g.linkSort=function(N){return arguments.length?(f=N,g):f},g.size=function(N){return arguments.length?(t=e=0,r=+N[0],n=+N[1],g):[r-t,n-e]},g.extent=function(N){return arguments.length?(t=+N[0][0],r=+N[1][0],e=+N[0][1],n=+N[1][1],g):[[t,e],[r,n]]},g.iterations=function(N){return arguments.length?(m=+N,g):m};function y({nodes:N,links:M}){for(let[B,F]of N.entries())F.index=B,F.sourceLinks=[],F.targetLinks=[];let P=new Map(N.map((B,F)=>[l(B,F,N),B]));for(let[B,F]of M.entries()){F.index=B;let{source:G,target:$}=F;typeof G!="object"&&(G=F.source=Ike(P,G)),typeof $!="object"&&($=F.target=Ike(P,$)),G.sourceLinks.push(F),$.targetLinks.push(F)}if(f!=null)for(let{sourceLinks:B,targetLinks:F}of N)B.sort(f),F.sort(f)}o(y,"computeNodeLinks");function v({nodes:N}){for(let M of N)M.value=M.fixedValue===void 0?Math.max(Fv(M.sourceLinks,UU),Fv(M.targetLinks,UU)):M.fixedValue}o(v,"computeNodeValues");function x({nodes:N}){let M=N.length,P=new Set(N),B=new Set,F=0;for(;P.size;){for(let G of P){G.depth=F;for(let{target:$}of G.sourceLinks)B.add($)}if(++F>M)throw new Error("circular link");P=B,B=new Set}}o(x,"computeNodeDepths");function b({nodes:N}){let M=N.length,P=new Set(N),B=new Set,F=0;for(;P.size;){for(let G of P){G.height=F;for(let{source:$}of G.targetLinks)B.add($)}if(++F>M)throw new Error("circular link");P=B,B=new Set}}o(b,"computeNodeHeights");function T({nodes:N}){let M=h3(N,F=>F.depth)+1,P=(r-t-i)/(M-1),B=new Array(M);for(let F of N){let G=Math.max(0,Math.min(M-1,Math.floor(u.call(null,F,M))));F.layer=G,F.x0=t+G*P,F.x1=F.x0+i,B[G]?B[G].push(F):B[G]=[F]}if(h)for(let F of B)F.sort(h);return B}o(T,"computeNodeLayers");function E(N){let M=Bv(N,P=>(n-e-(P.length-1)*s)/Fv(P,UU));for(let P of N){let B=e;for(let F of P){F.y0=B,F.y1=B+F.value*M,B=F.y1+s;for(let G of F.sourceLinks)G.width=G.value*M}B=(n-B+s)/(P.length+1);for(let F=0;FP.length)-1)),E(M);for(let P=0;P0))continue;let ee=(V/K-$.y0)*M;$.y0+=ee,$.y1+=ee,L($)}h===void 0&&G.sort(e8),D(G,P)}}o(k,"relaxLeftToRight");function C(N,M,P){for(let B=N.length,F=B-2;F>=0;--F){let G=N[F];for(let $ of G){let V=0,K=0;for(let{target:H,value:he}of $.sourceLinks){let Z=he*(H.layer-$.layer);V+=_($,H)*Z,K+=Z}if(!(K>0))continue;let ee=(V/K-$.y0)*M;$.y0+=ee,$.y1+=ee,L($)}h===void 0&&G.sort(e8),D(G,P)}}o(C,"relaxRightToLeft");function D(N,M){let P=N.length>>1,B=N[P];O(N,B.y0-s,P-1,M),R(N,B.y1+s,P+1,M),O(N,n,N.length-1,M),R(N,e,0,M)}o(D,"resolveCollisions");function R(N,M,P,B){for(;P1e-6&&(F.y0+=G,F.y1+=G),M=F.y1+s}}o(R,"resolveCollisionsTopToBottom");function O(N,M,P,B){for(;P>=0;--P){let F=N[P],G=(F.y1-M)*B;G>1e-6&&(F.y0-=G,F.y1-=G),M=F.y0-s}}o(O,"resolveCollisionsBottomToTop");function L({sourceLinks:N,targetLinks:M}){if(f===void 0){for(let{source:{sourceLinks:P}}of M)P.sort(Mke);for(let{target:{targetLinks:P}}of N)P.sort(Nke)}}o(L,"reorderNodeLinks");function S(N){if(f===void 0)for(let{sourceLinks:M,targetLinks:P}of N)M.sort(Mke),P.sort(Nke)}o(S,"reorderLinks");function A(N,M){let P=N.y0-(N.sourceLinks.length-1)*s/2;for(let{target:B,width:F}of N.sourceLinks){if(B===M)break;P+=F+s}for(let{source:B,width:F}of M.targetLinks){if(B===N)break;P-=F}return P}o(A,"targetTop");function _(N,M){let P=M.y0-(M.targetLinks.length-1)*s/2;for(let{source:B,width:F}of M.targetLinks){if(B===N)break;P+=F+s}for(let{target:B,width:F}of N.sourceLinks){if(B===M)break;P-=F}return P}return o(_,"sourceTop"),g}var Pke=I(()=>{"use strict";$U();qU();Lke();o(Nke,"ascendingSourceBreadth");o(Mke,"ascendingTargetBreadth");o(e8,"ascendingBreadth");o(UU,"value");o(lut,"defaultId");o(cut,"defaultNodes");o(uut,"defaultLinks");o(Ike,"find");o(Oke,"computeLinkBreadths");o(t8,"Sankey")});function YU(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Bke(){return new YU}var WU,HU,Xm,hut,jU,Fke=I(()=>{"use strict";WU=Math.PI,HU=2*WU,Xm=1e-6,hut=HU-Xm;o(YU,"Path");o(Bke,"path");YU.prototype=Bke.prototype={constructor:YU,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,l=r-t,u=n-e,h=a-t,f=s-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Xm)if(!(Math.abs(f*l-u*h)>Xm)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((WU-Math.acos((g+d-y)/(2*v*x)))/2),T=b/x,E=b/v;Math.abs(T-1)>Xm&&(this._+="L"+(t+T*h)+","+(e+T*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+E*l)+","+(this._y1=e+E*u)}},"arcTo"),arc:o(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),l=r*Math.sin(n),u=t+s,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>Xm||Math.abs(this._y1-h)>Xm)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%HU+HU),d>hut?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>Xm&&(this._+="A"+r+","+r+",0,"+ +(d>=WU)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:o(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};jU=Bke});var $ke=I(()=>{"use strict";Fke()});function r8(t){return o(function(){return t},"constant")}var zke=I(()=>{"use strict";o(r8,"default")});function Gke(t){return t[0]}function Vke(t){return t[1]}var qke=I(()=>{"use strict";o(Gke,"x");o(Vke,"y")});var Uke,Wke=I(()=>{"use strict";Uke=Array.prototype.slice});function fut(t){return t.source}function dut(t){return t.target}function put(t){var e=fut,r=dut,n=Gke,i=Vke,a=null;function s(){var l,u=Uke.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=jU()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(n=typeof l=="function"?l:r8(+l),s):n},s.y=function(l){return arguments.length?(i=typeof l=="function"?l:r8(+l),s):i},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function mut(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function XU(){return put(mut)}var Hke=I(()=>{"use strict";$ke();Wke();zke();qke();o(fut,"linkSource");o(dut,"linkTarget");o(put,"link");o(mut,"curveHorizontal");o(XU,"linkHorizontal")});var Yke=I(()=>{"use strict";Hke()});function gut(t){return[t.source.x1,t.y0]}function yut(t){return[t.target.x0,t.y1]}function n8(){return XU().source(gut).target(yut)}var jke=I(()=>{"use strict";Yke();o(gut,"horizontalSource");o(yut,"horizontalTarget");o(n8,"default")});var Xke=I(()=>{"use strict";Pke();qU();jke()});var d3,Kke=I(()=>{"use strict";d3=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var vut,xut,Qke,Zke=I(()=>{"use strict";Qt();kr();Xke();Fi();Kke();vut={left:zU,right:GU,center:VU,justify:f3},xut=o(function(t,e,r,n){let{securityLevel:i,sankey:a}=xe(),s=Ew.sankey,l;i==="sandbox"&&(l=He("#i"+e));let u=i==="sandbox"?He(l.nodes()[0].contentDocument.body):He("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):He(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=n.db.getGraph(),b=vut[m];t8().nodeId(O=>O.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let w=Lo(w9);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",O=>(O.uid=d3.next("node-")).id).attr("transform",function(O){return"translate("+O.x0+","+O.y0+")"}).attr("x",O=>O.x0).attr("y",O=>O.y0).append("rect").attr("height",O=>O.y1-O.y0).attr("width",O=>O.x1-O.x0).attr("fill",O=>w(O.id));let k=o(({id:O,value:L})=>v?`${O} -${g}${Math.round(L*100)/100}${y}`:O,"getText");h.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",O=>O.x0(O.y1+O.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",O=>O.x0(L.uid=d3.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",L=>L.source.x1).attr("x2",L=>L.target.x0);O.append("stop").attr("offset","0%").attr("stop-color",L=>w(L.source.id)),O.append("stop").attr("offset","100%").attr("stop-color",L=>w(L.target.id))}let R;switch(D){case"gradient":R=o(O=>O.uid,"coloring");break;case"source":R=o(O=>w(O.source.id),"coloring");break;case"target":R=o(O=>w(O.target.id),"coloring");break;default:R=D}C.append("path").attr("d",n8()).attr("stroke",R).attr("stroke-width",O=>Math.max(1,O.width)),Vc(void 0,h,0,p)},"draw"),Qke={draw:xut}});var Jke,eSe=I(()=>{"use strict";Jke=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing")});var but,tSe,rSe=I(()=>{"use strict";but=o(t=>`.label { +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return l})();i.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=i,i.Parser=s,new s})();QU.parser=QU;T3=QU});var h_,f_,u_,Hht,ZU,Yht,JU,jht,Xht,Kht,Qht,pEe,mEe=O(()=>{"use strict";jt();Ur();si();h_=[],f_=[],u_=new Map,Hht=o(()=>{h_=[],f_=[],u_=new Map,_r()},"clear"),ZU=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{o(this,"SankeyLink")}},Yht=o((t,e,r)=>{h_.push(new ZU(t,e,r))},"addLink"),JU=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},jht=o(t=>{t=st.sanitizeText(t,ve());let e=u_.get(t);return e===void 0&&(e=new JU(t),u_.set(t,e),f_.push(e)),e},"findOrCreateNode"),Xht=o(()=>f_,"getNodes"),Kht=o(()=>h_,"getLinks"),Qht=o(()=>({nodes:f_.map(t=>({id:t.ID})),links:h_.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),pEe={nodesMap:u_,getConfig:o(()=>ve().sankey,"getConfig"),getNodes:Xht,getLinks:Kht,getGraph:Qht,addLink:Yht,findOrCreateNode:jht,getAccTitle:Or,setAccTitle:Lr,getAccDescription:Br,setAccDescription:Pr,getDiagramTitle:Fr,setDiagramTitle:zr,clear:Hht}});function w3(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var gEe=O(()=>{"use strict";o(w3,"max")});function Wv(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var yEe=O(()=>{"use strict";o(Wv,"min")});function Hv(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var vEe=O(()=>{"use strict";o(Hv,"sum")});var eW=O(()=>{"use strict";gEe();yEe();vEe()});function Zht(t){return t.target.depth}function tW(t){return t.depth}function rW(t,e){return e-1-t.height}function k3(t,e){return t.sourceLinks.length?t.depth:e-1}function nW(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?Wv(t.sourceLinks,Zht)-1:0}var iW=O(()=>{"use strict";eW();o(Zht,"targetDepth");o(tW,"left");o(rW,"right");o(k3,"justify");o(nW,"center")});function Yv(t){return function(){return t}}var xEe=O(()=>{"use strict";o(Yv,"constant")});function bEe(t,e){return d_(t.source,e.source)||t.index-e.index}function TEe(t,e){return d_(t.target,e.target)||t.index-e.index}function d_(t,e){return t.y0-e.y0}function aW(t){return t.value}function Jht(t){return t.index}function eft(t){return t.nodes}function tft(t){return t.links}function wEe(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function kEe({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function p_(){let t=0,e=0,r=1,n=1,i=24,a=8,s,l=Jht,u=k3,h,f,d=eft,p=tft,m=6;function g(){let M={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(M),v(M),x(M),b(M),w(M),kEe(M),M}o(g,"sankey"),g.update=function(M){return kEe(M),M},g.nodeId=function(M){return arguments.length?(l=typeof M=="function"?M:Yv(M),g):l},g.nodeAlign=function(M){return arguments.length?(u=typeof M=="function"?M:Yv(M),g):u},g.nodeSort=function(M){return arguments.length?(h=M,g):h},g.nodeWidth=function(M){return arguments.length?(i=+M,g):i},g.nodePadding=function(M){return arguments.length?(a=s=+M,g):a},g.nodes=function(M){return arguments.length?(d=typeof M=="function"?M:Yv(M),g):d},g.links=function(M){return arguments.length?(p=typeof M=="function"?M:Yv(M),g):p},g.linkSort=function(M){return arguments.length?(f=M,g):f},g.size=function(M){return arguments.length?(t=e=0,r=+M[0],n=+M[1],g):[r-t,n-e]},g.extent=function(M){return arguments.length?(t=+M[0][0],r=+M[1][0],e=+M[0][1],n=+M[1][1],g):[[t,e],[r,n]]},g.iterations=function(M){return arguments.length?(m=+M,g):m};function y({nodes:M,links:R}){for(let[B,F]of M.entries())F.index=B,F.sourceLinks=[],F.targetLinks=[];let P=new Map(M.map((B,F)=>[l(B,F,M),B]));for(let[B,F]of R.entries()){F.index=B;let{source:G,target:$}=F;typeof G!="object"&&(G=F.source=wEe(P,G)),typeof $!="object"&&($=F.target=wEe(P,$)),G.sourceLinks.push(F),$.targetLinks.push(F)}if(f!=null)for(let{sourceLinks:B,targetLinks:F}of M)B.sort(f),F.sort(f)}o(y,"computeNodeLinks");function v({nodes:M}){for(let R of M)R.value=R.fixedValue===void 0?Math.max(Hv(R.sourceLinks,aW),Hv(R.targetLinks,aW)):R.fixedValue}o(v,"computeNodeValues");function x({nodes:M}){let R=M.length,P=new Set(M),B=new Set,F=0;for(;P.size;){for(let G of P){G.depth=F;for(let{target:$}of G.sourceLinks)B.add($)}if(++F>R)throw new Error("circular link");P=B,B=new Set}}o(x,"computeNodeDepths");function b({nodes:M}){let R=M.length,P=new Set(M),B=new Set,F=0;for(;P.size;){for(let G of P){G.height=F;for(let{source:$}of G.targetLinks)B.add($)}if(++F>R)throw new Error("circular link");P=B,B=new Set}}o(b,"computeNodeHeights");function T({nodes:M}){let R=w3(M,F=>F.depth)+1,P=(r-t-i)/(R-1),B=new Array(R);for(let F of M){let G=Math.max(0,Math.min(R-1,Math.floor(u.call(null,F,R))));F.layer=G,F.x0=t+G*P,F.x1=F.x0+i,B[G]?B[G].push(F):B[G]=[F]}if(h)for(let F of B)F.sort(h);return B}o(T,"computeNodeLayers");function E(M){let R=Wv(M,P=>(n-e-(P.length-1)*s)/Hv(P,aW));for(let P of M){let B=e;for(let F of P){F.y0=B,F.y1=B+F.value*R,B=F.y1+s;for(let G of F.sourceLinks)G.width=G.value*R}B=(n-B+s)/(P.length+1);for(let F=0;FP.length)-1)),E(R);for(let P=0;P0))continue;let Q=(V/X-$.y0)*R;$.y0+=Q,$.y1+=Q,N($)}h===void 0&&G.sort(d_),A(G,P)}}o(k,"relaxLeftToRight");function S(M,R,P){for(let B=M.length,F=B-2;F>=0;--F){let G=M[F];for(let $ of G){let V=0,X=0;for(let{target:H,value:ie}of $.sourceLinks){let Y=ie*(H.layer-$.layer);V+=D($,H)*Y,X+=Y}if(!(X>0))continue;let Q=(V/X-$.y0)*R;$.y0+=Q,$.y1+=Q,N($)}h===void 0&&G.sort(d_),A(G,P)}}o(S,"relaxRightToLeft");function A(M,R){let P=M.length>>1,B=M[P];I(M,B.y0-s,P-1,R),L(M,B.y1+s,P+1,R),I(M,n,M.length-1,R),L(M,e,0,R)}o(A,"resolveCollisions");function L(M,R,P,B){for(;P1e-6&&(F.y0+=G,F.y1+=G),R=F.y1+s}}o(L,"resolveCollisionsTopToBottom");function I(M,R,P,B){for(;P>=0;--P){let F=M[P],G=(F.y1-R)*B;G>1e-6&&(F.y0-=G,F.y1-=G),R=F.y0-s}}o(I,"resolveCollisionsBottomToTop");function N({sourceLinks:M,targetLinks:R}){if(f===void 0){for(let{source:{sourceLinks:P}}of R)P.sort(TEe);for(let{target:{targetLinks:P}}of M)P.sort(bEe)}}o(N,"reorderNodeLinks");function C(M){if(f===void 0)for(let{sourceLinks:R,targetLinks:P}of M)R.sort(TEe),P.sort(bEe)}o(C,"reorderLinks");function _(M,R){let P=M.y0-(M.sourceLinks.length-1)*s/2;for(let{target:B,width:F}of M.sourceLinks){if(B===R)break;P+=F+s}for(let{source:B,width:F}of R.targetLinks){if(B===M)break;P-=F}return P}o(_,"targetTop");function D(M,R){let P=R.y0-(R.targetLinks.length-1)*s/2;for(let{source:B,width:F}of R.targetLinks){if(B===M)break;P+=F+s}for(let{target:B,width:F}of M.sourceLinks){if(B===R)break;P-=F}return P}return o(D,"sourceTop"),g}var EEe=O(()=>{"use strict";eW();iW();xEe();o(bEe,"ascendingSourceBreadth");o(TEe,"ascendingTargetBreadth");o(d_,"ascendingBreadth");o(aW,"value");o(Jht,"defaultId");o(eft,"defaultNodes");o(tft,"defaultLinks");o(wEe,"find");o(kEe,"computeLinkBreadths");o(p_,"Sankey")});function lW(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function SEe(){return new lW}var sW,oW,Jm,rft,cW,CEe=O(()=>{"use strict";sW=Math.PI,oW=2*sW,Jm=1e-6,rft=oW-Jm;o(lW,"Path");o(SEe,"path");lW.prototype=SEe.prototype={constructor:lW,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,l=r-t,u=n-e,h=a-t,f=s-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Jm)if(!(Math.abs(f*l-u*h)>Jm)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((sW-Math.acos((g+d-y)/(2*v*x)))/2),T=b/x,E=b/v;Math.abs(T-1)>Jm&&(this._+="L"+(t+T*h)+","+(e+T*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+E*l)+","+(this._y1=e+E*u)}},"arcTo"),arc:o(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),l=r*Math.sin(n),u=t+s,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>Jm||Math.abs(this._y1-h)>Jm)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%oW+oW),d>rft?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>Jm&&(this._+="A"+r+","+r+",0,"+ +(d>=sW)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:o(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};cW=SEe});var AEe=O(()=>{"use strict";CEe()});function m_(t){return o(function(){return t},"constant")}var _Ee=O(()=>{"use strict";o(m_,"default")});function DEe(t){return t[0]}function REe(t){return t[1]}var LEe=O(()=>{"use strict";o(DEe,"x");o(REe,"y")});var NEe,MEe=O(()=>{"use strict";NEe=Array.prototype.slice});function nft(t){return t.source}function ift(t){return t.target}function aft(t){var e=nft,r=ift,n=DEe,i=REe,a=null;function s(){var l,u=NEe.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=cW()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(n=typeof l=="function"?l:m_(+l),s):n},s.y=function(l){return arguments.length?(i=typeof l=="function"?l:m_(+l),s):i},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function sft(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function uW(){return aft(sft)}var IEe=O(()=>{"use strict";AEe();MEe();_Ee();LEe();o(nft,"linkSource");o(ift,"linkTarget");o(aft,"link");o(sft,"curveHorizontal");o(uW,"linkHorizontal")});var OEe=O(()=>{"use strict";IEe()});function oft(t){return[t.source.x1,t.y0]}function lft(t){return[t.target.x0,t.y1]}function g_(){return uW().source(oft).target(lft)}var PEe=O(()=>{"use strict";OEe();o(oft,"horizontalSource");o(lft,"horizontalTarget");o(g_,"default")});var BEe=O(()=>{"use strict";EEe();iW();PEe()});var E3,FEe=O(()=>{"use strict";E3=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var cft,uft,$Ee,zEe=O(()=>{"use strict";jt();Ar();BEe();Ti();FEe();cft={left:tW,right:rW,center:nW,justify:k3},uft=o(function(t,e,r,n){let{securityLevel:i,sankey:a}=ve(),s=Fw.sankey,l;i==="sandbox"&&(l=je("#i"+e));let u=i==="sandbox"?je(l.nodes()[0].contentDocument.body):je("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):je(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=n.db.getGraph(),b=cft[m];p_().nodeId(I=>I.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let w=Fo(B9);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",I=>(I.uid=E3.next("node-")).id).attr("transform",function(I){return"translate("+I.x0+","+I.y0+")"}).attr("x",I=>I.x0).attr("y",I=>I.y0).append("rect").attr("height",I=>I.y1-I.y0).attr("width",I=>I.x1-I.x0).attr("fill",I=>w(I.id));let k=o(({id:I,value:N})=>v?`${I} +${g}${Math.round(N*100)/100}${y}`:I,"getText");h.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",I=>I.x0(I.y1+I.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",I=>I.x0(N.uid=E3.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",N=>N.source.x1).attr("x2",N=>N.target.x0);I.append("stop").attr("offset","0%").attr("stop-color",N=>w(N.source.id)),I.append("stop").attr("offset","100%").attr("stop-color",N=>w(N.target.id))}let L;switch(A){case"gradient":L=o(I=>I.uid,"coloring");break;case"source":L=o(I=>w(I.source.id),"coloring");break;case"target":L=o(I=>w(I.target.id),"coloring");break;default:L=A}S.append("path").attr("d",g_()).attr("stroke",L).attr("stroke-width",I=>Math.max(1,I.width)),Kc(void 0,h,0,p)},"draw"),$Ee={draw:uft}});var GEe,VEe=O(()=>{"use strict";GEe=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing")});var hft,qEe,UEe=O(()=>{"use strict";hft=o(t=>`.label { font-family: ${t.fontFamily}; - }`,"getStyles"),tSe=but});var nSe={};vr(nSe,{diagram:()=>wut});var Tut,wut,iSe=I(()=>{"use strict";Eke();Ake();Zke();eSe();rSe();Tut=u3.parse.bind(u3);u3.parse=t=>Tut(Jke(t));wut={styles:tSe,parser:u3,db:Cke,renderer:Qke}});var Cut,zv,KU=I(()=>{"use strict";ti();Ka();sr();ki();Cut=gr.packet,zv=class{constructor(){this.packet=[];this.setAccTitle=zr;this.getAccTitle=Vr;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getAccDescription=Ur;this.setAccDescription=qr}static{o(this,"PacketDB")}getConfig(){let e=Qn({...Cut,...tr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Mr(),this.packet=[]}}});var Aut,_ut,Dut,QU,oSe=I(()=>{"use strict";sp();gt();$m();KU();Aut=1e4,_ut=o((t,e)=>{Pl(t,e);let r=-1,n=[],i=1,{bitsPerRow:a}=e.getConfig();for(let{start:s,end:l,bits:u,label:h}of t.blocks){if(s!==void 0&&l!==void 0&&l{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];let n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),QU={parser:{yy:void 0},parse:o(async t=>{let e=await Vs("packet",t),r=QU.parser?.yy;if(!(r instanceof zv))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");X.debug(e),_ut(e,r)},"parse")}});var Rut,Lut,lSe,cSe=I(()=>{"use strict";Uu();Fi();Rut=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=Ca(e);y.attr("viewbox",`0 0 ${g} ${m}`),Sn(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())Lut(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),Lut=o((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),lSe={draw:Rut}});var Nut,uSe,hSe=I(()=>{"use strict";sr();Nut={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},uSe=o(({packet:t}={})=>{let e=Qn(Nut,t);return` + }`,"getStyles"),qEe=hft});var WEe={};vr(WEe,{diagram:()=>dft});var fft,dft,HEe=O(()=>{"use strict";dEe();mEe();zEe();VEe();UEe();fft=T3.parse.bind(T3);T3.parse=t=>fft(GEe(t));dft={styles:qEe,parser:T3,db:pEe,renderer:$Ee}});var yft,jv,hW=O(()=>{"use strict";$r();La();ar();si();yft=gr.packet,jv=class{constructor(){this.packet=[];this.setAccTitle=Lr;this.getAccTitle=Or;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getAccDescription=Br;this.setAccDescription=Pr}static{o(this,"PacketDB")}getConfig(){let e=Pn({...yft,...Zt().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){_r(),this.packet=[]}}});var vft,xft,bft,fW,XEe=O(()=>{"use strict";up();xt();Vm();hW();vft=1e4,xft=o((t,e)=>{ql(t,e);let r=-1,n=[],i=1,{bitsPerRow:a}=e.getConfig();for(let{start:s,end:l,bits:u,label:h}of t.blocks){if(s!==void 0&&l!==void 0&&l{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];let n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),fW={parser:{yy:void 0},parse:o(async t=>{let e=await Us("packet",t),r=fW.parser?.yy;if(!(r instanceof jv))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.");K.debug(e),xft(e,r)},"parse")}});var Tft,wft,KEe,QEe=O(()=>{"use strict";Ul();Ti();Tft=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=Ii(e);y.attr("viewBox",`0 0 ${g} ${m}`),Zr(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())wft(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),wft=o((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),KEe={draw:Tft}});var kft,ZEe,JEe=O(()=>{"use strict";ar();kft={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},ZEe=o(({packet:t}={})=>{let e=Pn(kft,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -2570,7 +2637,7 @@ ${g}${Math.round(L*100)/100}${y}`:O,"getText");h.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles")});var fSe={};vr(fSe,{diagram:()=>Mut});var Mut,dSe=I(()=>{"use strict";KU();oSe();cSe();hSe();Mut={parser:QU,get db(){return new zv},renderer:lSe,styles:uSe}});var Gv,gSe,Km,Put,But,ySe,Fut,$ut,zut,Gut,Vut,qut,Uut,Qm,ZU=I(()=>{"use strict";ti();Ka();sr();ki();Gv={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},gSe={axes:[],curves:[],options:Gv},Km=structuredClone(gSe),Put=gr.radar,But=o(()=>Qn({...Put,...tr().radar}),"getConfig"),ySe=o(()=>Km.axes,"getAxes"),Fut=o(()=>Km.curves,"getCurves"),$ut=o(()=>Km.options,"getOptions"),zut=o(t=>{Km.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),Gut=o(t=>{Km.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:Vut(e.entries)}))},"setCurves"),Vut=o(t=>{if(t[0].axis==null)return t.map(r=>r.value);let e=ySe();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{let n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),qut=o(t=>{let e=t.reduce((r,n)=>(r[n.name]=n,r),{});Km.options={showLegend:e.showLegend?.value??Gv.showLegend,ticks:e.ticks?.value??Gv.ticks,max:e.max?.value??Gv.max,min:e.min?.value??Gv.min,graticule:e.graticule?.value??Gv.graticule}},"setOptions"),Uut=o(()=>{Mr(),Km=structuredClone(gSe)},"clear"),Qm={getAxes:ySe,getCurves:Fut,getOptions:$ut,setAxes:zut,setCurves:Gut,setOptions:qut,getConfig:But,clear:Uut,setAccTitle:zr,getAccTitle:Vr,setDiagramTitle:Xr,getDiagramTitle:Wr,getAccDescription:Ur,setAccDescription:qr}});var Wut,vSe,xSe=I(()=>{"use strict";sp();gt();$m();ZU();Wut=o(t=>{Pl(t,Qm);let{axes:e,curves:r,options:n}=t;Qm.setAxes(e),Qm.setCurves(r),Qm.setOptions(n)},"populate"),vSe={parse:o(async t=>{let e=await Vs("radar",t);X.debug(e),Wut(e)},"parse")}});function Kut(t,e,r,n,i,a,s){let l=e.length,u=Math.min(s.width,s.height)/2;r.forEach((h,f)=>{if(h.entries.length!==l)return;let d=h.entries.map((p,m)=>{let g=2*Math.PI*m/l-Math.PI/2,y=Qut(p,n,i,u),v=y*Math.cos(g),x=y*Math.sin(g);return{x:v,y:x}});a==="circle"?t.append("path").attr("d",Zut(d,s.curveTension)).attr("class",`radarCurve-${f}`):a==="polygon"&&t.append("polygon").attr("points",d.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${f}`)})}function Qut(t,e,r,n){let i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}function Zut(t,e){let r=t.length,n=`M${t[0].x},${t[0].y}`;for(let i=0;i{let h=t.append("g").attr("transform",`translate(${i}, ${a+u*s})`);h.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${u}`),h.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(l.label)})}var Hut,Yut,jut,Xut,bSe,TSe=I(()=>{"use strict";Uu();Hut=o((t,e,r,n)=>{let i=n.db,a=i.getAxes(),s=i.getCurves(),l=i.getOptions(),u=i.getConfig(),h=i.getDiagramTitle(),f=Ca(e),d=Yut(f,u),p=l.max??Math.max(...s.map(y=>Math.max(...y.entries))),m=l.min,g=Math.min(u.width,u.height)/2;jut(d,a,g,l.ticks,l.graticule),Xut(d,a,g,u),Kut(d,a,s,m,p,l.graticule,u),Jut(d,s,l.showLegend,u),d.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-u.height/2-u.marginTop)},"draw"),Yut=o((t,e)=>{let r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return t.attr("viewbox",`0 0 ${r} ${n}`).attr("width",r).attr("height",n),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),jut=o((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{let d=2*f*Math.PI/a-Math.PI/2,p=l*Math.cos(d),m=l*Math.sin(d);return`${p},${m}`}).join(" ");t.append("polygon").attr("points",u).attr("class","radarGraticule")}}},"drawGraticule"),Xut=o((t,e,r,n)=>{let i=e.length;for(let a=0;a{"use strict";sr();a2();ti();eht=o((t,e)=>{let r="";for(let n=0;nEft});var Eft,tSe=O(()=>{"use strict";hW();XEe();QEe();JEe();Eft={parser:fW,get db(){return new jv},renderer:KEe,styles:ZEe}});var Xv,iSe,eg,Aft,_ft,aSe,Dft,Rft,Lft,Nft,Mft,Ift,Oft,tg,dW=O(()=>{"use strict";$r();La();ar();si();Xv={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},iSe={axes:[],curves:[],options:Xv},eg=structuredClone(iSe),Aft=gr.radar,_ft=o(()=>Pn({...Aft,...Zt().radar}),"getConfig"),aSe=o(()=>eg.axes,"getAxes"),Dft=o(()=>eg.curves,"getCurves"),Rft=o(()=>eg.options,"getOptions"),Lft=o(t=>{eg.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),Nft=o(t=>{eg.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:Mft(e.entries)}))},"setCurves"),Mft=o(t=>{if(t[0].axis==null)return t.map(r=>r.value);let e=aSe();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{let n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),Ift=o(t=>{let e=t.reduce((r,n)=>(r[n.name]=n,r),{});eg.options={showLegend:e.showLegend?.value??Xv.showLegend,ticks:e.ticks?.value??Xv.ticks,max:e.max?.value??Xv.max,min:e.min?.value??Xv.min,graticule:e.graticule?.value??Xv.graticule}},"setOptions"),Oft=o(()=>{_r(),eg=structuredClone(iSe)},"clear"),tg={getAxes:aSe,getCurves:Dft,getOptions:Rft,setAxes:Lft,setCurves:Nft,setOptions:Ift,getConfig:_ft,clear:Oft,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,getAccDescription:Br,setAccDescription:Pr}});var Pft,sSe,oSe=O(()=>{"use strict";up();xt();Vm();dW();Pft=o(t=>{ql(t,tg);let{axes:e,curves:r,options:n}=t;tg.setAxes(e),tg.setCurves(r),tg.setOptions(n)},"populate"),sSe={parse:o(async t=>{let e=await Us("radar",t);K.debug(e),Pft(e)},"parse")}});function Gft(t,e,r,n,i,a,s){let l=e.length,u=Math.min(s.width,s.height)/2;r.forEach((h,f)=>{if(h.entries.length!==l)return;let d=h.entries.map((p,m)=>{let g=2*Math.PI*m/l-Math.PI/2,y=Vft(p,n,i,u),v=y*Math.cos(g),x=y*Math.sin(g);return{x:v,y:x}});a==="circle"?t.append("path").attr("d",qft(d,s.curveTension)).attr("class",`radarCurve-${f}`):a==="polygon"&&t.append("polygon").attr("points",d.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${f}`)})}function Vft(t,e,r,n){let i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}function qft(t,e){let r=t.length,n=`M${t[0].x},${t[0].y}`;for(let i=0;i{let h=t.append("g").attr("transform",`translate(${i}, ${a+u*s})`);h.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${u}`),h.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(l.label)})}var Bft,Fft,$ft,zft,lSe,cSe=O(()=>{"use strict";Ul();Ti();Bft=o((t,e,r,n)=>{let i=n.db,a=i.getAxes(),s=i.getCurves(),l=i.getOptions(),u=i.getConfig(),h=i.getDiagramTitle(),f=Ii(e),d=Fft(f,u),p=l.max??Math.max(...s.map(y=>Math.max(...y.entries))),m=l.min,g=Math.min(u.width,u.height)/2;$ft(d,a,g,l.ticks,l.graticule),zft(d,a,g,u),Gft(d,a,s,m,p,l.graticule,u),Uft(d,s,l.showLegend,u),d.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-u.height/2-u.marginTop)},"draw"),Fft=o((t,e)=>{let r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Zr(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),$ft=o((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{let d=2*f*Math.PI/a-Math.PI/2,p=l*Math.cos(d),m=l*Math.sin(d);return`${p},${m}`}).join(" ");t.append("polygon").attr("points",u).attr("class","radarGraticule")}}},"drawGraticule"),zft=o((t,e,r,n)=>{let i=e.length;for(let a=0;a{"use strict";ar();y2();$r();Wft=o((t,e)=>{let r="";for(let n=0;n{let e=uf(),r=tr(),n=Qn(e,r.themeVariables),i=Qn(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),wSe=o(({radar:t}={})=>{let{themeVariables:e,radarOptions:r}=tht(t);return` + `}return r},"genIndexStyles"),Hft=o(t=>{let e=yf(),r=Zt(),n=Pn(e,r.themeVariables),i=Pn(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),uSe=o(({radar:t}={})=>{let{themeVariables:e,radarOptions:r}=Hft(t);return` .radarTitle { font-size: ${e.fontSize}; color: ${e.titleColor}; @@ -2611,13 +2678,13 @@ ${g}${Math.round(L*100)/100}${y}`:O,"getText");h.append("g").attr("class","node- font-size: ${r.legendFontSize}px; dominant-baseline: hanging; } - ${eht(e,r)} - `},"styles")});var SSe={};vr(SSe,{diagram:()=>rht});var rht,ESe=I(()=>{"use strict";ZU();xSe();TSe();kSe();rht={parser:vSe,db:Qm,renderer:bSe,styles:wSe}});var JU,_Se,DSe=I(()=>{"use strict";JU=(function(){var t=o(function(T,E,w,k){for(w=w||{},k=T.length;k--;w[T[k]]=E);return w},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,10,21,28,29,30,31,39,43,46],d=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],g=[8,10,15,16,21,27,28,29,30,31,39,43,46],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(E,w,k,C,D,R,O){var L=R.length-1;switch(D){case 4:C.getLogger().debug("Rule: separator (NL) ");break;case 5:C.getLogger().debug("Rule: separator (Space) ");break;case 6:C.getLogger().debug("Rule: separator (EOF) ");break;case 7:C.getLogger().debug("Rule: hierarchy: ",R[L-1]),C.setHierarchy(R[L-1]);break;case 8:C.getLogger().debug("Stop NL ");break;case 9:C.getLogger().debug("Stop EOF ");break;case 10:C.getLogger().debug("Stop NL2 ");break;case 11:C.getLogger().debug("Stop EOF2 ");break;case 12:C.getLogger().debug("Rule: statement: ",R[L]),typeof R[L].length=="number"?this.$=R[L]:this.$=[R[L]];break;case 13:C.getLogger().debug("Rule: statement #2: ",R[L-1]),this.$=[R[L-1]].concat(R[L]);break;case 14:C.getLogger().debug("Rule: link: ",R[L],E),this.$={edgeTypeStr:R[L],label:""};break;case 15:C.getLogger().debug("Rule: LABEL link: ",R[L-3],R[L-1],R[L]),this.$={edgeTypeStr:R[L],label:R[L-1]};break;case 18:let S=parseInt(R[L]),A=C.generateId();this.$={id:A,type:"space",label:"",width:S,children:[]};break;case 23:C.getLogger().debug("Rule: (nodeStatement link node) ",R[L-2],R[L-1],R[L]," typestr: ",R[L-1].edgeTypeStr);let _=C.edgeStrToEdgeData(R[L-1].edgeTypeStr);this.$=[{id:R[L-2].id,label:R[L-2].label,type:R[L-2].type,directions:R[L-2].directions},{id:R[L-2].id+"-"+R[L].id,start:R[L-2].id,end:R[L].id,label:R[L-1].label,type:"edge",directions:R[L].directions,arrowTypeEnd:_,arrowTypeStart:"arrow_open"},{id:R[L].id,label:R[L].label,type:C.typeStr2Type(R[L].typeStr),directions:R[L].directions}];break;case 24:C.getLogger().debug("Rule: nodeStatement (abc88 node size) ",R[L-1],R[L]),this.$={id:R[L-1].id,label:R[L-1].label,type:C.typeStr2Type(R[L-1].typeStr),directions:R[L-1].directions,widthInColumns:parseInt(R[L],10)};break;case 25:C.getLogger().debug("Rule: nodeStatement (node) ",R[L]),this.$={id:R[L].id,label:R[L].label,type:C.typeStr2Type(R[L].typeStr),directions:R[L].directions,widthInColumns:1};break;case 26:C.getLogger().debug("APA123",this?this:"na"),C.getLogger().debug("COLUMNS: ",R[L]),this.$={type:"column-setting",columns:R[L]==="auto"?-1:parseInt(R[L])};break;case 27:C.getLogger().debug("Rule: id-block statement : ",R[L-2],R[L-1]);let N=C.generateId();this.$={...R[L-2],type:"composite",children:R[L-1]};break;case 28:C.getLogger().debug("Rule: blockStatement : ",R[L-2],R[L-1],R[L]);let M=C.generateId();this.$={id:M,type:"composite",label:"",children:R[L-1]};break;case 29:C.getLogger().debug("Rule: node (NODE_ID separator): ",R[L]),this.$={id:R[L]};break;case 30:C.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",R[L-1],R[L]),this.$={id:R[L-1],label:R[L].label,typeStr:R[L].typeStr,directions:R[L].directions};break;case 31:C.getLogger().debug("Rule: dirList: ",R[L]),this.$=[R[L]];break;case 32:C.getLogger().debug("Rule: dirList: ",R[L-1],R[L]),this.$=[R[L-1]].concat(R[L]);break;case 33:C.getLogger().debug("Rule: nodeShapeNLabel: ",R[L-2],R[L-1],R[L]),this.$={typeStr:R[L-2]+R[L],label:R[L-1]};break;case 34:C.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",R[L-3],R[L-2]," #3:",R[L-1],R[L]),this.$={typeStr:R[L-3]+R[L],label:R[L-2],directions:R[L-1]};break;case 35:case 36:this.$={type:"classDef",id:R[L-1].trim(),css:R[L].trim()};break;case 37:this.$={type:"applyClass",id:R[L-1].trim(),styleClass:R[L].trim()};break;case 38:this.$={type:"applyStyles",id:R[L-1].trim(),stylesStr:R[L].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:l,46:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(g,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(m,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{36:[1,47]},{33:48,34:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{38:[1,51]},{33:52,34:y,38:[2,31]},{31:[2,15]},t(g,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(E,w){if(w.recoverable)this.trace(E);else{var k=new Error(E);throw k.hash=w,k}},"parseError"),parse:o(function(E){var w=this,k=[0],C=[],D=[null],R=[],O=this.table,L="",S=0,A=0,_=0,N=2,M=1,P=R.slice.call(arguments,1),B=Object.create(this.lexer),F={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(F.yy[G]=this.yy[G]);B.setInput(E,F.yy),F.yy.lexer=B,F.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var $=B.yylloc;R.push($);var V=B.options&&B.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function K(Te){k.length=k.length-2*Te,D.length=D.length-Te,R.length=R.length-Te}o(K,"popStack");function ee(){var Te;return Te=C.pop()||B.lex()||M,typeof Te!="number"&&(Te instanceof Array&&(C=Te,Te=C.pop()),Te=w.symbols_[Te]||Te),Te}o(ee,"lex");for(var H,he,Z,de,re,ne,te={},Q,le,J,ge;;){if(Z=k[k.length-1],this.defaultActions[Z]?de=this.defaultActions[Z]:((H===null||typeof H>"u")&&(H=ee()),de=O[Z]&&O[Z][H]),typeof de>"u"||!de.length||!de[0]){var ie="";ge=[];for(Q in O[Z])this.terminals_[Q]&&Q>N&&ge.push("'"+this.terminals_[Q]+"'");B.showPosition?ie="Parse error on line "+(S+1)+`: + ${Wft(e,r)} + `},"styles")});var fSe={};vr(fSe,{diagram:()=>Yft});var Yft,dSe=O(()=>{"use strict";dW();oSe();cSe();hSe();Yft={parser:sSe,db:tg,renderer:lSe,styles:uSe}});var pW,gSe,ySe=O(()=>{"use strict";pW=(function(){var t=o(function(T,E,w,k){for(w=w||{},k=T.length;k--;w[T[k]]=E);return w},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,10,21,28,29,30,31,39,43,46],d=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],g=[8,10,15,16,21,27,28,29,30,31,39,43,46],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(E,w,k,S,A,L,I){var N=L.length-1;switch(A){case 4:S.getLogger().debug("Rule: separator (NL) ");break;case 5:S.getLogger().debug("Rule: separator (Space) ");break;case 6:S.getLogger().debug("Rule: separator (EOF) ");break;case 7:S.getLogger().debug("Rule: hierarchy: ",L[N-1]),S.setHierarchy(L[N-1]);break;case 8:S.getLogger().debug("Stop NL ");break;case 9:S.getLogger().debug("Stop EOF ");break;case 10:S.getLogger().debug("Stop NL2 ");break;case 11:S.getLogger().debug("Stop EOF2 ");break;case 12:S.getLogger().debug("Rule: statement: ",L[N]),typeof L[N].length=="number"?this.$=L[N]:this.$=[L[N]];break;case 13:S.getLogger().debug("Rule: statement #2: ",L[N-1]),this.$=[L[N-1]].concat(L[N]);break;case 14:S.getLogger().debug("Rule: link: ",L[N],E),this.$={edgeTypeStr:L[N],label:""};break;case 15:S.getLogger().debug("Rule: LABEL link: ",L[N-3],L[N-1],L[N]),this.$={edgeTypeStr:L[N],label:L[N-1]};break;case 18:let C=parseInt(L[N]),_=S.generateId();this.$={id:_,type:"space",label:"",width:C,children:[]};break;case 23:S.getLogger().debug("Rule: (nodeStatement link node) ",L[N-2],L[N-1],L[N]," typestr: ",L[N-1].edgeTypeStr);let D=S.edgeStrToEdgeData(L[N-1].edgeTypeStr);this.$=[{id:L[N-2].id,label:L[N-2].label,type:L[N-2].type,directions:L[N-2].directions},{id:L[N-2].id+"-"+L[N].id,start:L[N-2].id,end:L[N].id,label:L[N-1].label,type:"edge",directions:L[N].directions,arrowTypeEnd:D,arrowTypeStart:"arrow_open"},{id:L[N].id,label:L[N].label,type:S.typeStr2Type(L[N].typeStr),directions:L[N].directions}];break;case 24:S.getLogger().debug("Rule: nodeStatement (abc88 node size) ",L[N-1],L[N]),this.$={id:L[N-1].id,label:L[N-1].label,type:S.typeStr2Type(L[N-1].typeStr),directions:L[N-1].directions,widthInColumns:parseInt(L[N],10)};break;case 25:S.getLogger().debug("Rule: nodeStatement (node) ",L[N]),this.$={id:L[N].id,label:L[N].label,type:S.typeStr2Type(L[N].typeStr),directions:L[N].directions,widthInColumns:1};break;case 26:S.getLogger().debug("APA123",this?this:"na"),S.getLogger().debug("COLUMNS: ",L[N]),this.$={type:"column-setting",columns:L[N]==="auto"?-1:parseInt(L[N])};break;case 27:S.getLogger().debug("Rule: id-block statement : ",L[N-2],L[N-1]);let M=S.generateId();this.$={...L[N-2],type:"composite",children:L[N-1]};break;case 28:S.getLogger().debug("Rule: blockStatement : ",L[N-2],L[N-1],L[N]);let R=S.generateId();this.$={id:R,type:"composite",label:"",children:L[N-1]};break;case 29:S.getLogger().debug("Rule: node (NODE_ID separator): ",L[N]),this.$={id:L[N]};break;case 30:S.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",L[N-1],L[N]),this.$={id:L[N-1],label:L[N].label,typeStr:L[N].typeStr,directions:L[N].directions};break;case 31:S.getLogger().debug("Rule: dirList: ",L[N]),this.$=[L[N]];break;case 32:S.getLogger().debug("Rule: dirList: ",L[N-1],L[N]),this.$=[L[N-1]].concat(L[N]);break;case 33:S.getLogger().debug("Rule: nodeShapeNLabel: ",L[N-2],L[N-1],L[N]),this.$={typeStr:L[N-2]+L[N],label:L[N-1]};break;case 34:S.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",L[N-3],L[N-2]," #3:",L[N-1],L[N]),this.$={typeStr:L[N-3]+L[N],label:L[N-2],directions:L[N-1]};break;case 35:case 36:this.$={type:"classDef",id:L[N-1].trim(),css:L[N].trim()};break;case 37:this.$={type:"applyClass",id:L[N-1].trim(),styleClass:L[N].trim()};break;case 38:this.$={type:"applyStyles",id:L[N-1].trim(),stylesStr:L[N].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:l,46:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(g,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(m,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{36:[1,47]},{33:48,34:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{38:[1,51]},{33:52,34:y,38:[2,31]},{31:[2,15]},t(g,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(E,w){if(w.recoverable)this.trace(E);else{var k=new Error(E);throw k.hash=w,k}},"parseError"),parse:o(function(E){var w=this,k=[0],S=[],A=[null],L=[],I=this.table,N="",C=0,_=0,D=0,M=2,R=1,P=L.slice.call(arguments,1),B=Object.create(this.lexer),F={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(F.yy[G]=this.yy[G]);B.setInput(E,F.yy),F.yy.lexer=B,F.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var $=B.yylloc;L.push($);var V=B.options&&B.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(ke){k.length=k.length-2*ke,A.length=A.length-ke,L.length=L.length-ke}o(X,"popStack");function Q(){var ke;return ke=S.pop()||B.lex()||R,typeof ke!="number"&&(ke instanceof Array&&(S=ke,ke=S.pop()),ke=w.symbols_[ke]||ke),ke}o(Q,"lex");for(var H,ie,Y,le,ee,J,te={},Z,xe,de,Se;;){if(Y=k[k.length-1],this.defaultActions[Y]?le=this.defaultActions[Y]:((H===null||typeof H>"u")&&(H=Q()),le=I[Y]&&I[Y][H]),typeof le>"u"||!le.length||!le[0]){var Me="";Se=[];for(Z in I[Y])this.terminals_[Z]&&Z>M&&Se.push("'"+this.terminals_[Z]+"'");B.showPosition?Me="Parse error on line "+(C+1)+`: `+B.showPosition()+` -Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(S+1)+": Unexpected "+(H==M?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:B.match,token:this.terminals_[H]||H,line:B.yylineno,loc:$,expected:ge})}if(de[0]instanceof Array&&de.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+H);switch(de[0]){case 1:k.push(H),D.push(B.yytext),R.push(B.yylloc),k.push(de[1]),H=null,he?(H=he,he=null):(A=B.yyleng,L=B.yytext,S=B.yylineno,$=B.yylloc,_>0&&_--);break;case 2:if(le=this.productions_[de[1]][1],te.$=D[D.length-le],te._$={first_line:R[R.length-(le||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(le||1)].first_column,last_column:R[R.length-1].last_column},V&&(te._$.range=[R[R.length-(le||1)].range[0],R[R.length-1].range[1]]),ne=this.performAction.apply(te,[L,A,S,F.yy,de[1],D,R].concat(P)),typeof ne<"u")return ne;le&&(k=k.slice(0,-1*le*2),D=D.slice(0,-1*le),R=R.slice(0,-1*le)),k.push(this.productions_[de[1]][0]),D.push(te.$),R.push(te._$),J=O[k[k.length-2]][k[k.length-1]],k.push(J);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:o(function(w,k){if(this.yy.parser)this.yy.parser.parseError(w,k);else throw new Error(w)},"parseError"),setInput:o(function(E,w){return this.yy=w||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:o(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var w=E.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:o(function(E){var w=E.length,k=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var C=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var 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:k?(k.length===C.length?this.yylloc.first_column:0)+C[C.length-k.length].length-k[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +Expecting `+Se.join(", ")+", got '"+(this.terminals_[H]||H)+"'":Me="Parse error on line "+(C+1)+": Unexpected "+(H==R?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(Me,{text:B.match,token:this.terminals_[H]||H,line:B.yylineno,loc:$,expected:Se})}if(le[0]instanceof Array&&le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+H);switch(le[0]){case 1:k.push(H),A.push(B.yytext),L.push(B.yylloc),k.push(le[1]),H=null,ie?(H=ie,ie=null):(_=B.yyleng,N=B.yytext,C=B.yylineno,$=B.yylloc,D>0&&D--);break;case 2:if(xe=this.productions_[le[1]][1],te.$=A[A.length-xe],te._$={first_line:L[L.length-(xe||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(xe||1)].first_column,last_column:L[L.length-1].last_column},V&&(te._$.range=[L[L.length-(xe||1)].range[0],L[L.length-1].range[1]]),J=this.performAction.apply(te,[N,_,C,F.yy,le[1],A,L].concat(P)),typeof J<"u")return J;xe&&(k=k.slice(0,-1*xe*2),A=A.slice(0,-1*xe),L=L.slice(0,-1*xe)),k.push(this.productions_[le[1]][0]),A.push(te.$),L.push(te._$),de=I[k[k.length-2]][k[k.length-1]],k.push(de);break;case 3:return!0}}return!0},"parse")},x=(function(){var T={EOF:1,parseError:o(function(w,k){if(this.yy.parser)this.yy.parser.parseError(w,k);else throw new Error(w)},"parseError"),setInput:o(function(E,w){return this.yy=w||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:o(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var w=E.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:o(function(E){var w=E.length,k=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var S=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===S.length?this.yylloc.first_column:0)+S[S.length-k.length].length-k[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(E){this.unput(this.match.slice(E))},"less"),pastInput:o(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:o(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:o(function(){var E=this.pastInput(),w=new Array(E.length+1).join("-");return E+this.upcomingInput()+` -`+w+"^"},"showPosition"),test_match:o(function(E,w){var k,C,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))),C=E[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+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],k=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var R in D)this[R]=D[R];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,w,k,C;this._more||(this.yytext="",this.match="");for(var D=this._currentRules(),R=0;Rw[0].length)){if(w=k,C=R,this.options.backtrack_lexer){if(E=this.test_match(k,D[R]),E!==!1)return E;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(E=this.test_match(w,D[C]),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:o(function(){var w=this.next();return w||this.lex()},"lex"),begin:o(function(w){this.conditionStack.push(w)},"begin"),popState:o(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:o(function(w){this.begin(w)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(w,k,C,D){var R=D;switch(C){case 0:return w.getLogger().debug("Found block-beta"),10;break;case 1:return w.getLogger().debug("Found id-block"),29;break;case 2:return w.getLogger().debug("Found block"),10;break;case 3:w.getLogger().debug(".",k.yytext);break;case 4:w.getLogger().debug("_",k.yytext);break;case 5:return 5;case 6:return k.yytext=-1,28;break;case 7:return k.yytext=k.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",k.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:w.getLogger().debug("LEX: POPPING STR:",k.yytext),this.popState();break;case 13:return w.getLogger().debug("LEX: STR end:",k.yytext),"STR";break;case 14:return k.yytext=k.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",k.yytext),21;break;case 15:return k.yytext="1",w.getLogger().debug("COLUMNS (LEX)",k.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return w.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return w.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return w.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return w.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return w.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return w.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return w.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),w.getLogger().debug("LEX ARR START"),37;break;case 74:return w.getLogger().debug("Lex: NODE_ID",k.yytext),31;break;case 75:return w.getLogger().debug("Lex: EOF",k.yytext),8;break;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:w.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:w.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return w.getLogger().debug("LEX: NODE_DESCR:",k.yytext),"NODE_DESCR";break;case 83:w.getLogger().debug("LEX POPPING"),this.popState();break;case 84:w.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (right): dir:",k.yytext),"DIR";break;case 86:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (left):",k.yytext),"DIR";break;case 87:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (x):",k.yytext),"DIR";break;case 88:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (y):",k.yytext),"DIR";break;case 89:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (up):",k.yytext),"DIR";break;case 90:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (down):",k.yytext),"DIR";break;case 91:return k.yytext="]>",w.getLogger().debug("Lex (ARROW_DIR end):",k.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 93:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 94:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 95:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 96:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 97:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 98:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return w.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 102:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 103:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 104:return w.getLogger().debug("Lex: COLON",k.yytext),k.yytext=k.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b})();JU.parser=JU;_Se=JU});function fht(t){switch(X.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return X.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function dht(t){switch(X.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function pht(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}var Dc,tW,eW,RSe,LSe,aht,MSe,sht,i8,oht,lht,cht,uht,ISe,rW,p3,hht,NSe,mht,ght,yht,vht,xht,bht,Tht,wht,kht,Sht,Eht,OSe,PSe=I(()=>{"use strict";zM();ti();Qt();gt();wr();ki();Dc=new Map,tW=[],eW=new Map,RSe="color",LSe="fill",aht="bgFill",MSe=",",sht=xe(),i8=new Map,oht=o(t=>nt.sanitizeText(t,sht),"sanitizeText"),lht=o(function(t,e=""){let r=i8.get(t);r||(r={id:t,styles:[],textStyles:[]},i8.set(t,r)),e?.split(MSe).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(RSe).exec(n)){let s=i.replace(LSe,aht).replace(RSe,LSe);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),cht=o(function(t,e=""){let r=Dc.get(t);e!=null&&(r.styles=e.split(MSe))},"addStyle2Node"),uht=o(function(t,e){t.split(",").forEach(function(r){let n=Dc.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},Dc.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),ISe=o((t,e)=>{let r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(let s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&X.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=oht(s.label)),s.type==="classDef"){lht(s.id,s.css);continue}if(s.type==="applyClass"){uht(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&cht(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){let l=(eW.get(s.id)??0)+1;eW.set(s.id,l),s.id=l+"-"+s.id,tW.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);let l=Dc.get(s.id);if(l===void 0?Dc.set(s.id,s):(s.type!=="na"&&(l.type=s.type),s.label!==s.id&&(l.label=s.label)),s.children&&ISe(s.children,s),s.type==="space"){let u=s.width??1;for(let h=0;h{X.debug("Clear called"),Mr(),p3={id:"root",type:"composite",children:[],columns:-1},Dc=new Map([["root",p3]]),rW=[],i8=new Map,tW=[],eW=new Map},"clear");o(fht,"typeStr2Type");o(dht,"edgeTypeStr2Type");o(pht,"edgeStrToEdgeData");NSe=0,mht=o(()=>(NSe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+NSe),"generateId"),ght=o(t=>{p3.children=t,ISe(t,p3),rW=p3.children},"setHierarchy"),yht=o(t=>{let e=Dc.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),vht=o(()=>[...Dc.values()],"getBlocksFlat"),xht=o(()=>rW||[],"getBlocks"),bht=o(()=>tW,"getEdges"),Tht=o(t=>Dc.get(t),"getBlock"),wht=o(t=>{Dc.set(t.id,t)},"setBlock"),kht=o(()=>X,"getLogger"),Sht=o(function(){return i8},"getClasses"),Eht={getConfig:o(()=>tr().block,"getConfig"),typeStr2Type:fht,edgeTypeStr2Type:dht,edgeStrToEdgeData:pht,getLogger:kht,getBlocksFlat:vht,getBlocks:xht,getEdges:bht,setHierarchy:ght,getBlock:Tht,setBlock:wht,getColumns:yht,getClasses:Sht,clear:hht,generateId:mht},OSe=Eht});var a8,Cht,BSe,FSe=I(()=>{"use strict";_o();ey();a8=o((t,e)=>{let r=Ep,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return vs(n,i,a,e)},"fade"),Cht=o(t=>`.label { +`+w+"^"},"showPosition"),test_match:o(function(E,w){var k,S,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))),S=E[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+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],k=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),k)return k;if(this._backtrack){for(var L in A)this[L]=A[L];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,w,k,S;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),L=0;Lw[0].length)){if(w=k,S=L,this.options.backtrack_lexer){if(E=this.test_match(k,A[L]),E!==!1)return E;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(E=this.test_match(w,A[S]),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:o(function(){var w=this.next();return w||this.lex()},"lex"),begin:o(function(w){this.conditionStack.push(w)},"begin"),popState:o(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:o(function(w){this.begin(w)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(w,k,S,A){var L=A;switch(S){case 0:return w.getLogger().debug("Found block-beta"),10;break;case 1:return w.getLogger().debug("Found id-block"),29;break;case 2:return w.getLogger().debug("Found block"),10;break;case 3:w.getLogger().debug(".",k.yytext);break;case 4:w.getLogger().debug("_",k.yytext);break;case 5:return 5;case 6:return k.yytext=-1,28;break;case 7:return k.yytext=k.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",k.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:w.getLogger().debug("LEX: POPPING STR:",k.yytext),this.popState();break;case 13:return w.getLogger().debug("LEX: STR end:",k.yytext),"STR";break;case 14:return k.yytext=k.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",k.yytext),21;break;case 15:return k.yytext="1",w.getLogger().debug("COLUMNS (LEX)",k.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return w.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return w.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return w.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return w.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return w.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return w.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return w.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),w.getLogger().debug("LEX ARR START"),37;break;case 74:return w.getLogger().debug("Lex: NODE_ID",k.yytext),31;break;case 75:return w.getLogger().debug("Lex: EOF",k.yytext),8;break;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:w.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:w.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return w.getLogger().debug("LEX: NODE_DESCR:",k.yytext),"NODE_DESCR";break;case 83:w.getLogger().debug("LEX POPPING"),this.popState();break;case 84:w.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (right): dir:",k.yytext),"DIR";break;case 86:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (left):",k.yytext),"DIR";break;case 87:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (x):",k.yytext),"DIR";break;case 88:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (y):",k.yytext),"DIR";break;case 89:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (up):",k.yytext),"DIR";break;case 90:return k.yytext=k.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (down):",k.yytext),"DIR";break;case 91:return k.yytext="]>",w.getLogger().debug("Lex (ARROW_DIR end):",k.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 93:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 94:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 95:return w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 96:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 97:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 98:return w.getLogger().debug("Lex: START_LINK",k.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return w.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),w.getLogger().debug("Lex: LINK","#"+k.yytext+"#"),15;break;case 102:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 103:return this.popState(),w.getLogger().debug("Lex: LINK",k.yytext),15;break;case 104:return w.getLogger().debug("Lex: COLON",k.yytext),k.yytext=k.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T})();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b})();pW.parser=pW;gSe=pW});function ndt(t){switch(K.debug("typeStr2Type",t),t){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"}}function idt(t){switch(K.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function adt(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}var Bc,gW,mW,vSe,xSe,Kft,TSe,Qft,y_,Zft,Jft,edt,tdt,wSe,yW,S3,rdt,bSe,sdt,odt,ldt,cdt,udt,hdt,fdt,ddt,pdt,mdt,gdt,kSe,ESe=O(()=>{"use strict";rI();$r();jt();xt();Ur();si();Bc=new Map,gW=[],mW=new Map,vSe="color",xSe="fill",Kft="bgFill",TSe=",",Qft=ve(),y_=new Map,Zft=o(t=>st.sanitizeText(t,Qft),"sanitizeText"),Jft=o(function(t,e=""){let r=y_.get(t);r||(r={id:t,styles:[],textStyles:[]},y_.set(t,r)),e?.split(TSe).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(vSe).exec(n)){let s=i.replace(xSe,Kft).replace(vSe,xSe);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),edt=o(function(t,e=""){let r=Bc.get(t);e!=null&&(r.styles=e.split(TSe))},"addStyle2Node"),tdt=o(function(t,e){t.split(",").forEach(function(r){let n=Bc.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},Bc.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),wSe=o((t,e)=>{let r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(let s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&K.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=Zft(s.label)),s.type==="classDef"){Jft(s.id,s.css);continue}if(s.type==="applyClass"){tdt(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&edt(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){let l=(mW.get(s.id)??0)+1;mW.set(s.id,l),s.id=l+"-"+s.id,gW.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);let l=Bc.get(s.id);if(l===void 0?Bc.set(s.id,s):(s.type!=="na"&&(l.type=s.type),s.label!==s.id&&(l.label=s.label)),s.children&&wSe(s.children,s),s.type==="space"){let u=s.width??1;for(let h=0;h{K.debug("Clear called"),_r(),S3={id:"root",type:"composite",children:[],columns:-1},Bc=new Map([["root",S3]]),yW=[],y_=new Map,gW=[],mW=new Map},"clear");o(ndt,"typeStr2Type");o(idt,"edgeTypeStr2Type");o(adt,"edgeStrToEdgeData");bSe=0,sdt=o(()=>(bSe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+bSe),"generateId"),odt=o(t=>{S3.children=t,wSe(t,S3),yW=S3.children},"setHierarchy"),ldt=o(t=>{let e=Bc.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),cdt=o(()=>[...Bc.values()],"getBlocksFlat"),udt=o(()=>yW||[],"getBlocks"),hdt=o(()=>gW,"getEdges"),fdt=o(t=>Bc.get(t),"getBlock"),ddt=o(t=>{Bc.set(t.id,t)},"setBlock"),pdt=o(()=>K,"getLogger"),mdt=o(function(){return y_},"getClasses"),gdt={getConfig:o(()=>Zt().block,"getConfig"),typeStr2Type:ndt,edgeTypeStr2Type:idt,edgeStrToEdgeData:adt,getLogger:pdt,getBlocksFlat:cdt,getBlocks:udt,getEdges:hdt,setHierarchy:odt,getBlock:fdt,setBlock:ddt,getColumns:ldt,getClasses:mdt,clear:rdt,generateId:sdt},kSe=gdt});var vW,ydt,SSe,CSe=O(()=>{"use strict";Ys();ly();vW=o((t,e)=>{let r=_p,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return bs(n,i,a,e)},"fade"),ydt=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -2677,6 +2744,17 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error .edgeLabel { background-color: ${t.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: ${t.edgeLabelBackground}; @@ -2687,14 +2765,13 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error /* For html labels only */ .labelBkg { - background-color: ${a8(t.edgeLabelBackground,.5)}; - // background-color: + background-color: ${t.edgeLabelBackground}; } .node .cluster { - // fill: ${a8(t.mainBkg,.5)}; - fill: ${a8(t.clusterBkg,.5)}; - stroke: ${a8(t.clusterBorder,.2)}; + // fill: ${vW(t.mainBkg,.5)}; + fill: ${vW(t.clusterBkg,.5)}; + stroke: ${vW(t.clusterBorder,.2)}; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; stroke-width: 1px; } @@ -2729,11 +2806,11 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error font-size: 18px; fill: ${t.textColor}; } - ${Su()} -`,"getStyles"),BSe=Cht});var Aht,_ht,Dht,Rht,Lht,Nht,Mht,Iht,Oht,Pht,Bht,$Se,zSe=I(()=>{"use strict";gt();Aht=o((t,e,r,n)=>{e.forEach(i=>{Bht[i](t,r,n)})},"insertMarkers"),_ht=o((t,e,r)=>{X.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),Dht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Rht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Lht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Nht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Mht=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Iht=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Oht=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Pht=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Bht={extension:_ht,composition:Dht,aggregation:Rht,dependency:Lht,lollipop:Nht,point:Mht,circle:Iht,cross:Oht,barb:Pht},$Se=Aht});function Fht(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function nW(t,e,r=0,n=0){X.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)nW(m,e);let s=$ht(t);i=s.width,a=s.height,X.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(X.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+Oi*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,X.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)nW(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*Oi-Oi)/m;X.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}X.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function GSe(t,e){X.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(X.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*Oi;X.debug("widthOfChildren 88",i,"posX");let a=0;X.debug("abc91 block?.size?.x",t.id,t?.size?.x);let s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Oi,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=Fht(r,a);if(m!=l&&(l=m,s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-Oi,X.debug("New row in layout for block",t.id," and child ",u.id,l)),X.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${Oi}`),h.size){let y=f/2;u.size.x=s+Oi+y,X.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${u.size.x} ${y} padding=${Oi} width=${f} halfWidth=${y} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),s=u.size.x+y,u.size.y=h.size.y-h.size.height/2+m*(d+Oi)+d/2+Oi,X.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${Oi}${y}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&GSe(u,e);let g=u?.widthInColumns??1;r>0&&(g=Math.min(g,r-a%r)),a+=g,X.debug("abc88 columnsPos",u,a)}}X.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function VSe(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),s+u/2>i&&(i=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=VSe(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function qSe(t){let e=t.getBlock("root");if(!e)return;nW(e,t,0,0),GSe(e,t),X.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=VSe(e),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}var Oi,$ht,USe=I(()=>{"use strict";gt();Qt();Oi=xe()?.block?.padding??8;o(Fht,"calculateBlockPosition");$ht=o(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};X.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(t.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(nW,"setBlockSizes");o(GSe,"layoutBlocks");o(VSe,"findBounds");o(qSe,"layout")});function WSe(t,e){e&&t.attr("style",e)}function zht(t,e){let r=He(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=r.append("xhtml:div"),i=t.label,a=t.isNode?"nodeLabel":"edgeLabel",s=n.append("span");return s.html(fr(i,e)),WSe(s,t.labelStyle),s.attr("class",a),WSe(n,t.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),r.node()}var Ght,Ws,s8=I(()=>{"use strict";kr();Qt();wr();gt();yl();sr();o(WSe,"applyStyle");o(zht,"addHtmlLabel");Ght=o(async(t,e,r,n)=>{let i=t||"";typeof i=="object"&&(i=i[0]);let a=xe();if(Sr(a.flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),X.debug("vertexText"+i);let s=await ZN(ga(i)),l={isNode:n,label:s,labelStyle:e.replace("fill:","color:")};return zht(l,a)}else{let s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",e.replace("color:","fill:"));let l=[];typeof i=="string"?l=i.split(/\\n|\n|/gi):Array.isArray(i)?l=i:l=[];for(let u of l){let h=document.createElementNS("http://www.w3.org/2000/svg","tspan");h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),h.setAttribute("dy","1em"),h.setAttribute("x","0"),r?h.setAttribute("class","title-row"):h.setAttribute("class","row"),h.textContent=u.trim(),s.appendChild(h)}return s}},"createLabel"),Ws=Ght});var YSe,Vht,HSe,jSe=I(()=>{"use strict";gt();YSe=o((t,e,r,n,i)=>{e.arrowTypeStart&&HSe(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&HSe(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Vht={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},HSe=o((t,e,r,n,i,a)=>{let s=Vht[r];if(!s){X.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function o8(t,e){xe().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var iW,ms,KSe,QSe,qht,Uht,XSe,ZSe,JSe=I(()=>{"use strict";gt();s8();yl();kr();Qt();sr();wr();kM();ab();jSe();iW={},ms={},KSe=o(async(t,e)=>{let r=xe(),n=Sr(r.flowchart.htmlLabels),i=e.labelType==="markdown"?Ai(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):await Ws(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(i);let l=i.getBBox();if(n){let h=i.children[0],f=He(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),iW[e.id]=a,e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=await Ws(e.startLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),ms[e.id]||(ms[e.id]={}),ms[e.id].startLeft=f,o8(u,e.startLabelLeft)}if(e.startLabelRight){let h=await Ws(e.startLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),ms[e.id]||(ms[e.id]={}),ms[e.id].startRight=f,o8(u,e.startLabelRight)}if(e.endLabelLeft){let h=await Ws(e.endLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),ms[e.id]||(ms[e.id]={}),ms[e.id].endLeft=f,o8(u,e.endLabelLeft)}if(e.endLabelRight){let h=await Ws(e.endLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),ms[e.id]||(ms[e.id]={}),ms[e.id].endRight=f,o8(u,e.endLabelRight)}return i},"insertEdgeLabel");o(o8,"setTerminalWidth");QSe=o((t,e)=>{X.debug("Moving label abc88 ",t.id,t.label,iW[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=xe(),{subGraphTitleTotalMargin:i}=Eh(n);if(t.label){let a=iW[t.id],s=t.x,l=t.y;if(r){let u=jt.calcLabelPosition(r);X.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=ms[t.id].startLeft,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=ms[t.id].startRight,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=ms[t.id].endLeft,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=ms[t.id].endRight,s=t.x,l=t.y;if(r){let u=jt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),qht=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),Uht=o((t,e,r)=>{X.debug(`intersection calc abc89: + ${Lu()} +`,"getStyles"),SSe=ydt});var vdt,xdt,bdt,Tdt,wdt,kdt,Edt,Sdt,Cdt,Adt,_dt,ASe,_Se=O(()=>{"use strict";xt();vdt=o((t,e,r,n)=>{e.forEach(i=>{_dt[i](t,r,n)})},"insertMarkers"),xdt=o((t,e,r)=>{K.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),bdt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Tdt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),wdt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),kdt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Edt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Sdt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Cdt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Adt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),_dt={extension:xdt,composition:bdt,aggregation:Tdt,dependency:wdt,lollipop:kdt,point:Edt,circle:Sdt,cross:Cdt,barb:Adt},ASe=vdt});function DSe(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function xW(t,e,r=0,n=0){K.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)xW(m,e);let s=Ddt(t);i=s.width,a=s.height,K.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(K.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+$i*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,K.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)xW(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*$i-$i)/m;K.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}K.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function RSe(t,e){K.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(K.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*$i;K.debug("widthOfChildren 88",i,"posX");let a=new Map;{let f=0;for(let d of t.children){if(!d.size)continue;let{py:p}=DSe(r,f),m=a.get(p)??0;d.size.height>m&&a.set(p,d.size.height);let g=d?.widthInColumns??1;r>0&&(g=Math.min(g,r-f%r)),f+=g}}let s=new Map;{let f=0,d=[...a.keys()].sort((p,m)=>p-m);for(let p of d)s.set(p,f),f+=(a.get(p)??0)+$i}let l=0;K.debug("abc91 block?.size?.x",t.id,t?.size?.x);let u=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-$i,h=0;for(let f of t.children){let d=t;if(!f.size)continue;let{width:p,height:m}=f.size,{px:g,py:y}=DSe(r,l);if(y!=h&&(h=y,u=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-$i,K.debug("New row in layout for block",t.id," and child ",f.id,h)),K.debug(`abc89 layout blocks (child) id: ${f.id} Pos: ${l} (px, py) ${g},${y} (${d?.size?.x},${d?.size?.y}) parent: ${d.id} width: ${p}${$i}`),d.size){let x=p/2;f.size.x=u+$i+x,K.debug(`abc91 layout blocks (calc) px, pyid:${f.id} startingPos=X${u} new startingPosX${f.size.x} ${x} padding=${$i} width=${p} halfWidth=${x} => x:${f.size.x} y:${f.size.y} ${f.widthInColumns} (width * (child?.w || 1)) / 2 ${p*(f?.widthInColumns??1)/2}`),u=f.size.x+x;let b=s.get(y)??0,T=a.get(y)??m;f.size.y=d.size.y-d.size.height/2+b+T/2+$i,K.debug(`abc88 layout blocks (calc) px, pyid:${f.id}startingPosX${u}${$i}${x}=>x:${f.size.x}y:${f.size.y}${f.widthInColumns}(width * (child?.w || 1)) / 2${p*(f?.widthInColumns??1)/2}`)}f.children&&RSe(f,e);let v=f?.widthInColumns??1;r>0&&(v=Math.min(v,r-l%r)),l+=v,K.debug("abc88 columnsPos",f,l)}}K.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function LSe(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),s+u/2>i&&(i=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=LSe(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function NSe(t){let e=t.getBlock("root");if(!e)return;xW(e,t,0,0),RSe(e,t),K.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=LSe(e),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}var $i,Ddt,MSe=O(()=>{"use strict";xt();jt();$i=ve()?.block?.padding??8;o(DSe,"calculateBlockPosition");Ddt=o(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};K.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(n.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(xW,"setBlockSizes");o(RSe,"layoutBlocks");o(LSe,"findBounds");o(NSe,"layout")});var Rdt,Lo,v_=O(()=>{"use strict";$r();jt();co();Rdt=o(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);let s=ve(),l=Sr(s);return await Fn(t,a,{style:r,isTitle:n,useHtmlLabels:l,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),Lo=Rdt});var OSe,Ldt,ISe,PSe=O(()=>{"use strict";xt();OSe=o((t,e,r,n,i)=>{e.arrowTypeStart&&ISe(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&ISe(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Ldt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},ISe=o((t,e,r,n,i,a)=>{let s=Ldt[r];if(!s){K.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function x_(t,e){Sr(ve())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var bW,ys,FSe,$Se,Ndt,Mdt,BSe,zSe,GSe=O(()=>{"use strict";xt();v_();co();BM();Ar();jt();$r();ar();Ur();$M();gb();PSe();bW={},ys={},FSe=o(async(t,e)=>{let r=ve(),n=Sr(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",l=await Fn(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(l);let u=l.getBBox(),h=u;if(n){let d=l.children[0],p=je(l);u=d.getBoundingClientRect(),h=u,p.attr("width",u.width),p.attr("height",u.height)}else{let d=je(l).select("text").node();d&&typeof d.getBBox=="function"&&(h=d.getBBox())}a.attr("transform",Cl(h,n)),bW[e.id]=i,e.width=u.width,e.height=u.height;let f;if(e.startLabelLeft){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Lo(p,e.startLabelLeft,e.labelStyle);f=m;let g=m.getBBox();if(n){let y=m.children[0],v=je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Cl(g,n)),ys[e.id]||(ys[e.id]={}),ys[e.id].startLeft=d,x_(f,e.startLabelLeft)}if(e.startLabelRight){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Lo(d,e.startLabelRight,e.labelStyle);f=m,p.node().appendChild(m);let g=m.getBBox();if(n){let y=m.children[0],v=je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Cl(g,n)),ys[e.id]||(ys[e.id]={}),ys[e.id].startRight=d,x_(f,e.startLabelRight)}if(e.endLabelLeft){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Lo(p,e.endLabelLeft,e.labelStyle);f=m;let g=m.getBBox();if(n){let y=m.children[0],v=je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Cl(g,n)),d.node().appendChild(m),ys[e.id]||(ys[e.id]={}),ys[e.id].endLeft=d,x_(f,e.endLabelLeft)}if(e.endLabelRight){let d=t.insert("g").attr("class","edgeTerminals"),p=d.insert("g").attr("class","inner"),m=await Lo(p,e.endLabelRight,e.labelStyle);f=m;let g=m.getBBox();if(n){let y=m.children[0],v=je(m);g=y.getBoundingClientRect(),v.attr("width",g.width),v.attr("height",g.height)}p.attr("transform",Cl(g,n)),d.node().appendChild(m),ys[e.id]||(ys[e.id]={}),ys[e.id].endRight=d,x_(f,e.endLabelRight)}return l},"insertEdgeLabel");o(x_,"setTerminalWidth");$Se=o((t,e)=>{K.debug("Moving label abc88 ",t.id,t.label,bW[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=ve(),{subGraphTitleTotalMargin:i}=Lh(n);if(t.label){let a=bW[t.id],s=t.x,l=t.y;if(r){let u=Xt.calcLabelPosition(r);K.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=ys[t.id].startLeft,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=ys[t.id].startRight,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=ys[t.id].endLeft,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=ys[t.id].endRight,s=t.x,l=t.y;if(r){let u=Xt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),Ndt=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),Mdt=o((t,e,r)=>{K.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{X.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!qht(e,a)&&!i){let s=Uht(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),ZSe=o(function(t,e,r,n,i,a,s){let l=r.points;X.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(X.debug("to cluster abc88",n[r.toCluster]),l=XSe(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(X.debug("from cluster abc88",n[r.fromCluster]),l=XSe(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(E=>!Number.isNaN(E.y)),p=cl;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=Xk(r),y=ac().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(xe().flowchart.arrowMarkerAbsolute||xe().state.arrowMarkerAbsolute)&&(b=Np(!0)),YSe(x,r,b,s,i);let T={};return u&&(T.updatedPath=l),T.originalPath=r.points,T},"insertEdge")});var Wht,eEe,tEe=I(()=>{"use strict";Wht=o(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),eEe=o((t,e,r)=>{let n=Wht(t),i=2,a=e.height+2*r.padding,s=a/i,l=e.width+2*s+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function Hht(t,e){return t.intersect(e)}var rEe,nEe=I(()=>{"use strict";o(Hht,"intersectNode");rEe=Hht});function Yht(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(Yht,"intersectEllipse");l8=Yht});function jht(t,e,r){return l8(t,e,e,r)}var iEe,aEe=I(()=>{"use strict";aW();o(jht,"intersectCircle");iEe=jht});function Xht(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&sEe(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&sEe(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function sEe(t,e){return t*e>0}var oEe,lEe=I(()=>{"use strict";o(Xht,"intersectLine");o(sEe,"sameSign");oEe=Xht});function Kht(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-s,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),T=y.x-r.x,E=y.y-r.y,w=Math.sqrt(T*T+E*E);return b{"use strict";lEe();cEe=Kht;o(Kht,"intersectPolygon")});var Qht,hEe,fEe=I(()=>{"use strict";Qht=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),hEe=Qht});var jn,sW=I(()=>{"use strict";nEe();aEe();aW();uEe();fEe();jn={node:rEe,circle:iEe,ellipse:l8,polygon:cEe,rect:hEe}});function Rc(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var Wi,fi,oW=I(()=>{"use strict";s8();yl();Qt();kr();wr();sr();Wi=o(async(t,e,r,n)=>{let i=xe(),a,s=e.useHtmlLabels||Sr(i.flowchart.htmlLabels);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f=u.node(),d;e.labelType==="markdown"?d=Ai(u,fr(ga(h),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=f.appendChild(await Ws(fr(ga(h),i),e.labelStyle,!1,n));let p=d.getBBox(),m=e.padding/2;if(Sr(i.flowchart.htmlLabels)){let g=d.children[0],y=He(d),v=g.getElementsByTagName("img");if(v){let x=h.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(b=>new Promise(T=>{function E(){if(b.style.display="flex",b.style.flexDirection="column",x){let w=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,C=parseInt(w,10)*5+"px";b.style.minWidth=C,b.style.maxWidth=C}else b.style.width="100%";T(b)}o(E,"setupImage"),setTimeout(()=>{b.complete&&E()}),b.addEventListener("error",E),b.addEventListener("load",E)})))}p=g.getBoundingClientRect(),y.attr("width",p.width),y.attr("height",p.height)}return s?u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):u.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:p,halfPadding:m,label:u}},"labelHelper"),fi=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(Rc,"insertPolygonShape")});var Zht,dEe,pEe=I(()=>{"use strict";oW();gt();Qt();sW();Zht=o(async(t,e)=>{e.useHtmlLabels||xe().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await Wi(t,e,"node "+e.classes,!0);X.info("Classes = ",e.classes);let s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),fi(e,s),e.intersect=function(l){return jn.rect(e,l)},n},"note"),dEe=Zht});function lW(t,e,r,n){let i=[],a=o(l=>{i.push(l,0)},"addBorder"),s=o(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(X.debug("add top border"),a(r)):s(r),e.includes("r")?(X.debug("add right border"),a(n)):s(n),e.includes("b")?(X.debug("add bottom border"),a(r)):s(r),e.includes("l")?(X.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}var mEe,Zo,gEe,Jht,eft,tft,rft,nft,ift,aft,sft,oft,lft,cft,uft,hft,fft,dft,pft,mft,gft,yft,yEe,vft,xft,vEe,c8,cW,xEe,bEe=I(()=>{"use strict";kr();Qt();wr();gt();tEe();s8();sW();pEe();oW();mEe=o(t=>t?" "+t:"","formatClass"),Zo=o((t,e)=>`${e||"node default"}${mEe(t.classes)} ${mEe(t.class)}`,"getClassesFromNode"),gEe=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];X.info("Question main (Circle)");let u=Rc(r,s,s,l);return u.attr("style",e.style),fi(e,u),e.intersect=function(h){return X.warn("Intersect called"),jn.polygon(e,l,h)},r},"question"),Jht=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return jn.circle(e,14,s)},r},"choice"),eft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,l=n.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=Rc(r,l,a,u);return h.attr("style",e.style),fi(e,h),e.intersect=function(f){return jn.polygon(e,u,f)},r},"hexagon"),tft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,l=n.width+2*s+e.padding,u=eEe(e.directions,n,e),h=Rc(r,l,a,u);return h.attr("style",e.style),fi(e,h),e.intersect=function(f){return jn.polygon(e,u,f)},r},"block_arrow"),rft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Rc(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return jn.polygon(e,s,u)},r},"rect_left_inv_arrow"),nft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"lean_right"),ift=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"lean_left"),aft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"trapezoid"),sft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"inv_trapezoid"),oft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"rect_right_inv_arrow"),lft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return fi(e,h),e.intersect=function(f){let d=jn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),cft=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Wi(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(lW(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{X.warn(`Unknown node property ${d}`)})}return fi(e,a),e.intersect=function(f){return jn.rect(e,f)},r},"rect"),uft=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Wi(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(lW(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{X.warn(`Unknown node property ${d}`)})}return fi(e,a),e.intersect=function(f){return jn.rect(e,f)},r},"composite"),hft=o(async(t,e)=>{let{shapeSvg:r}=await Wi(t,e,"label",!0);X.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let s=new Set(Object.keys(e.props));e.props.borders&&(lW(n,e.props.borders,i,a),s.delete("borders")),s.forEach(l=>{X.warn(`Unknown node property ${l}`)})}return fi(e,n),e.intersect=function(s){return jn.rect(e,s)},r},"labelRect");o(lW,"applyNodePropertyBorders");fft=o(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,X.info("Label text abc79",u,l,typeof l=="object");let h=s.node().appendChild(await Ws(u,e.labelStyle,!0,!0)),f={width:0,height:0};if(Sr(xe().flowchart.htmlLabels)){let y=h.children[0],v=He(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}X.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=s.node().appendChild(await Ws(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(Sr(xe().flowchart.htmlLabels)){let y=m.children[0],v=He(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return He(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),He(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return fi(e,s),e.intersect=function(l){return jn.rect(e,l)},r},"stadium"),pft=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Wi(t,e,Zo(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),X.info("Circle main"),fi(e,a),e.intersect=function(s){return X.info("Circle intersect",e,n.width/2+i,s),jn.circle(e,n.width/2+i,s)},r},"circle"),mft=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Wi(t,e,Zo(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),X.info("DoubleCircle main"),fi(e,l),e.intersect=function(h){return X.info("DoubleCircle intersect",e,n.width/2+i+a,h),jn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),gft=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Wi(t,e,Zo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=Rc(r,i,a,s);return l.attr("style",e.style),fi(e,l),e.intersect=function(u){return jn.polygon(e,s,u)},r},"subroutine"),yft=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),fi(e,n),e.intersect=function(i){return jn.circle(e,7,i)},r},"start"),yEe=o((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return fi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return jn.rect(e,l)},n},"forkJoin"),vft=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),fi(e,i),e.intersect=function(a){return jn.circle(e,7,a)},r},"end"),xft=o(async(t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=n,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=p.node().appendChild(await Ws(y,e.labelStyle,!0,!0)),x=v.getBBox();if(Sr(xe().flowchart.htmlLabels)){let D=v.children[0],R=He(v);x=D.getBoundingClientRect(),R.attr("width",x.width),R.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(xe().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let T=p.node().appendChild(await Ws(b,e.labelStyle,!0,!0));He(T).attr("class","classTitle");let E=T.getBBox();if(Sr(xe().flowchart.htmlLabels)){let D=T.children[0],R=He(T);E=D.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}d+=E.height+n,E.width>f&&(f=E.width);let w=[];e.classData.members.forEach(async D=>{let R=D.getDisplayDetails(),O=R.displayText;xe().flowchart.htmlLabels&&(O=O.replace(//g,">"));let L=p.node().appendChild(await Ws(O,R.cssStyle?R.cssStyle:e.labelStyle,!0,!0)),S=L.getBBox();if(Sr(xe().flowchart.htmlLabels)){let A=L.children[0],_=He(L);S=A.getBoundingClientRect(),_.attr("width",S.width),_.attr("height",S.height)}S.width>f&&(f=S.width),d+=S.height+n,w.push(L)}),d+=i;let k=[];if(e.classData.methods.forEach(async D=>{let R=D.getDisplayDetails(),O=R.displayText;xe().flowchart.htmlLabels&&(O=O.replace(//g,">"));let L=p.node().appendChild(await Ws(O,R.cssStyle?R.cssStyle:e.labelStyle,!0,!0)),S=L.getBBox();if(Sr(xe().flowchart.htmlLabels)){let A=L.children[0],_=He(L);S=A.getBoundingClientRect(),_.attr("width",S.width),_.attr("height",S.height)}S.width>f&&(f=S.width),d+=S.height+n,k.push(L)}),d+=i,g){let D=(f-x.width)/2;He(v).attr("transform","translate( "+(-1*f/2+D)+", "+-1*d/2+")"),m=x.height+n}let C=(f-E.width)/2;return He(T).attr("transform","translate( "+(-1*f/2+C)+", "+(-1*d/2+m)+")"),m+=E.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,w.forEach(D=>{He(D).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let R=D?.getBBox();m+=(R?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,k.forEach(D=>{He(D).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let R=D?.getBBox();m+=(R?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),fi(e,l),e.intersect=function(D){return jn.rect(e,D)},s},"class_box"),vEe={rhombus:gEe,composite:uft,question:gEe,rect:cft,labelRect:hft,rectWithTitle:fft,choice:Jht,circle:pft,doublecircle:mft,stadium:dft,hexagon:eft,block_arrow:tft,rect_left_inv_arrow:rft,lean_right:nft,lean_left:ift,trapezoid:aft,inv_trapezoid:sft,rect_right_inv_arrow:oft,cylinder:lft,start:yft,end:vft,note:dEe,subroutine:gft,fork:yEe,join:yEe,class_box:xft},c8={},cW=o(async(t,e,r)=>{let n,i;if(e.link){let a;xe().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await vEe[e.shape](n,e,r)}else i=await vEe[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),c8[e.id]=n,e.haveCallback&&c8[e.id].attr("class",c8[e.id].attr("class")+" clickable"),n},"insertNode"),xEe=o(t=>{let e=c8[t.id];X.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});function TEe(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=mN(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??tr()?.block?.padding??0}}async function bft(t,e,r){let n=TEe(e,r,!1);if(n.type==="group")return;let i=tr(),a=await cW(t,n,{config:i}),s=a.node().getBBox(),l=r.getBlock(n.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function Tft(t,e,r){let n=TEe(e,r,!0);if(r.getBlock(n.id).type!=="space"){let a=tr();await cW(t,n,{config:a}),e.intersect=n?.intersect,xEe(n)}}async function uW(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await uW(t,i.children,r,n)}async function wEe(t,e,r){await uW(t,e,r,bft)}async function kEe(t,e,r){await uW(t,e,r,Tft)}async function SEe(t,e,r,n,i){let a=new vn({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=n.getBlock(s.start),u=n.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];ZSe(t,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await KSe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),QSe({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var EEe=I(()=>{"use strict";wl();ti();JSe();bEe();sr();o(TEe,"getNodeFromBlock");o(bft,"calculateBlockSize");o(Tft,"insertBlockPositioned");o(uW,"performOperations");o(wEe,"calculateBlockSizes");o(kEe,"insertBlocks");o(SEe,"insertEdges")});var wft,kft,CEe,AEe=I(()=>{"use strict";kr();ti();zSe();gt();Fi();USe();EEe();wft=o(function(t,e){return e.db.getClasses()},"getClasses"),kft=o(async function(t,e,r,n){let{securityLevel:i,block:a}=tr(),s=n.db,l;i==="sandbox"&&(l=He("#i"+e));let u=i==="sandbox"?He(l.nodes()[0].contentDocument.body):He("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):He(`[id="${e}"]`);$Se(h,["point","circle","cross"],n.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await wEe(g,d,s);let y=qSe(s);if(await kEe(g,d,s),await SEe(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,T=v.width+10,{useMaxWidth:E}=a;Sn(h,b,T,!!E),X.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),CEe={draw:kft,getClasses:wft}});var _Ee={};vr(_Ee,{diagram:()=>Sft});var Sft,DEe=I(()=>{"use strict";DSe();PSe();FSe();AEe();Sft={parser:_Se,db:OSe,renderer:CEe,styles:BSe}});var hW,fW,m3,NEe,dW,gs,Hu,g3,MEe,_ft,y3,IEe,OEe,PEe,BEe,FEe,u8,vp,h8=I(()=>{"use strict";hW={L:"left",R:"right",T:"top",B:"bottom"},fW={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},m3={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},NEe=o(function(t){return gs(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),dW=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),gs=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),Hu=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),g3=o(function(t,e){let r=gs(t)&&Hu(e),n=Hu(t)&&gs(e);return r||n},"isArchitectureDirectionXY"),MEe=o(function(t){let e=t[0],r=t[1],n=gs(e)&&Hu(r),i=Hu(e)&&gs(r);return n||i},"isArchitecturePairXY"),_ft=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),y3=o(function(t,e){let r=`${t}${e}`;return _ft(r)?r:void 0},"getArchitectureDirectionPair"),IEe=o(function([t,e],r){let n=r[0],i=r[1];return gs(n)?Hu(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:gs(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),OEe=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),PEe=o(function(t,e){return g3(t,e)?"bend":gs(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),BEe=o(function(t){return t.type==="service"},"isArchitectureService"),FEe=o(function(t){return t.type==="junction"},"isArchitectureJunction"),u8=o(t=>t.data(),"edgeData"),vp=o(t=>t.data(),"nodeData")});var Dft,Vv,pW=I(()=>{"use strict";ti();Ka();sr();ki();h8();Dft=gr.architecture,Vv=class{constructor(){this.nodes={};this.groups={};this.edges=[];this.registeredIds={};this.elements={};this.setAccTitle=zr;this.getAccTitle=Vr;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getAccDescription=Ur;this.setAccDescription=qr;this.clear()}static{o(this,"ArchitectureDB")}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},Mr()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(BEe)}addJunction({id:e,in:r}){this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(FEe)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:l,rhsGroup:u,title:h}){if(!dW(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!dW(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);let f=this.nodes[e].in,d=this.nodes[r].in;if(l&&f&&d&&f==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(u&&f&&d&&f==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let p={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:l,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:u,title:h};this.edges.push(p),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let e={},r=Object.entries(this.nodes).reduce((u,[h,f])=>(u[h]=f.edges.reduce((d,p)=>{let m=this.getNode(p.lhsId)?.in,g=this.getNode(p.rhsId)?.in;if(m&&g&&m!==g){let y=PEe(p.lhsDir,p.rhsDir);y!=="bend"&&(e[m]??={},e[m][g]=y,e[g]??={},e[g][m]=y)}if(p.lhsId===h){let y=y3(p.lhsDir,p.rhsDir);y&&(d[y]=p.rhsId)}else{let y=y3(p.rhsDir,p.lhsDir);y&&(d[y]=p.lhsId)}return d},{}),u),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((u,h)=>h===n?u:{...u,[h]:1},{}),s=o(u=>{let h={[u]:[0,0]},f=[u];for(;f.length>0;){let d=f.shift();if(d){i[d]=1,delete a[d];let p=r[d],[m,g]=h[d];Object.entries(p).forEach(([y,v])=>{i[v]||(h[v]=IEe([m,g],y),f.push(v))})}}return h},"BFS"),l=[s(n)];for(;Object.keys(a).length>0;)l.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:l,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Qn({...Dft,...tr().architecture})}getConfigField(e){return this.getConfig()[e]}}});var Rft,mW,$Ee=I(()=>{"use strict";sp();gt();$m();pW();Rft=o((t,e)=>{Pl(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),mW={parser:{yy:void 0},parse:o(async t=>{let e=await Vs("architecture",t);X.debug(e);let r=mW.parser?.yy;if(!(r instanceof Vv))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.");Rft(e,r)},"parse")}});var Lft,zEe,GEe=I(()=>{"use strict";Lft=o(t=>` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{K.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!Ndt(e,a)&&!i){let s=Mdt(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),zSe=o(function(t,e,r,n,i,a,s){let l=r.points;K.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(K.debug("to cluster abc88",n[r.toCluster]),l=BSe(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(K.debug("from cluster abc88",n[r.fromCluster]),l=BSe(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(E=>!Number.isNaN(E.y)),p=fc;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=cE(r),y=hc().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(ve().flowchart.arrowMarkerAbsolute||ve().state.arrowMarkerAbsolute)&&(b=Op(!0)),OSe(x,r,b,s,i);let T={};return u&&(T.updatedPath=l),T.originalPath=r.points,T},"insertEdge")});var Idt,VSe,qSe=O(()=>{"use strict";Idt=o(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),VSe=o((t,e,r)=>{let n=Idt(t),i=2,a=e.height+2*r.padding,s=a/i,l=e.width+2*s+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function Odt(t,e){return t.intersect(e)}var USe,WSe=O(()=>{"use strict";o(Odt,"intersectNode");USe=Odt});function Pdt(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(Pdt,"intersectEllipse");b_=Pdt});function Bdt(t,e,r){return b_(t,e,e,r)}var HSe,YSe=O(()=>{"use strict";TW();o(Bdt,"intersectCircle");HSe=Bdt});function Fdt(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&jSe(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&jSe(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function jSe(t,e){return t*e>0}var XSe,KSe=O(()=>{"use strict";o(Fdt,"intersectLine");o(jSe,"sameSign");XSe=Fdt});function $dt(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-s,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),T=y.x-r.x,E=y.y-r.y,w=Math.sqrt(T*T+E*E);return b{"use strict";KSe();QSe=$dt;o($dt,"intersectPolygon")});var zdt,JSe,eCe=O(()=>{"use strict";zdt=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),JSe=zdt});var Zn,wW=O(()=>{"use strict";WSe();YSe();TW();ZSe();eCe();Zn={node:USe,circle:HSe,ellipse:b_,polygon:QSe,rect:JSe}});function Fc(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var ji,gi,kW=O(()=>{"use strict";v_();co();jt();$r();Ar();Ur();ar();dM();ji=o(async(t,e,r,n)=>{let i=ve(),a,s=e.useHtmlLabels||Sr(i);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f;e.labelType==="markdown"?f=Fn(u,wr(ao(h),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):f=await Lo(u,wr(ao(h),i),e.labelStyle,!1,n);let d=f.getBBox(),p=e.padding/2;if(Sr(i)){let m=f.children[0],g=je(f);await Wk(m,h),d=m.getBoundingClientRect(),g.attr("width",d.width),g.attr("height",d.height)}return s?u.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):u.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:d,halfPadding:p,label:u}},"labelHelper"),gi=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(Fc,"insertPolygonShape")});var Gdt,tCe,rCe=O(()=>{"use strict";kW();xt();jt();$r();wW();Gdt=o(async(t,e)=>{e.useHtmlLabels||Sr(ve())||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await ji(t,e,"node "+e.classes,!0);K.info("Classes = ",e.classes);let s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),gi(e,s),e.intersect=function(l){return Zn.rect(e,l)},n},"note"),tCe=Gdt});function EW(t,e,r,n){let i=[],a=o(l=>{i.push(l,0)},"addBorder"),s=o(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(K.debug("add top border"),a(r)):s(r),e.includes("r")?(K.debug("add right border"),a(n)):s(n),e.includes("b")?(K.debug("add bottom border"),a(r)):s(r),e.includes("l")?(K.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}var nCe,sl,iCe,Vdt,qdt,Udt,Wdt,Hdt,Ydt,jdt,Xdt,Kdt,Qdt,Zdt,Jdt,ept,tpt,rpt,npt,ipt,apt,spt,aCe,opt,lpt,sCe,T_,SW,oCe,lCe=O(()=>{"use strict";Ar();jt();$r();xt();qSe();v_();wW();rCe();kW();nCe=o(t=>t?" "+t:"","formatClass"),sl=o((t,e)=>`${e||"node default"}${nCe(t.classes)} ${nCe(t.class)}`,"getClassesFromNode"),iCe=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];K.info("Question main (Circle)");let u=Fc(r,s,s,l);return u.attr("style",e.style),gi(e,u),e.intersect=function(h){return K.warn("Intersect called"),Zn.polygon(e,l,h)},r},"question"),Vdt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Zn.circle(e,14,s)},r},"choice"),qdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,l=n.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=Fc(r,l,a,u);return h.attr("style",e.style),gi(e,h),e.intersect=function(f){return Zn.polygon(e,u,f)},r},"hexagon"),Udt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,l=n.width+2*s+e.padding,u=VSe(e.directions,n,e),h=Fc(r,l,a,u);return h.attr("style",e.style),gi(e,h),e.intersect=function(f){return Zn.polygon(e,u,f)},r},"block_arrow"),Wdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Fc(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return Zn.polygon(e,s,u)},r},"rect_left_inv_arrow"),Hdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"lean_right"),Ydt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"lean_left"),jdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"trapezoid"),Xdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"inv_trapezoid"),Kdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"rect_right_inv_arrow"),Qdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return gi(e,h),e.intersect=function(f){let d=Zn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),Zdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await ji(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(EW(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{K.warn(`Unknown node property ${d}`)})}return gi(e,a),e.intersect=function(f){return Zn.rect(e,f)},r},"rect"),Jdt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await ji(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(EW(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{K.warn(`Unknown node property ${d}`)})}return gi(e,a),e.intersect=function(f){return Zn.rect(e,f)},r},"composite"),ept=o(async(t,e)=>{let{shapeSvg:r}=await ji(t,e,"label",!0);K.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let s=new Set(Object.keys(e.props));e.props.borders&&(EW(n,e.props.borders,i,a),s.delete("borders")),s.forEach(l=>{K.warn(`Unknown node property ${l}`)})}return gi(e,n),e.intersect=function(s){return Zn.rect(e,s)},r},"labelRect");o(EW,"applyNodePropertyBorders");tpt=o(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,K.info("Label text abc79",u,l,typeof l=="object");let h=await Lo(s,u,e.labelStyle,!0,!0),f={width:0,height:0};if(Sr(ve())){let y=h.children[0],v=je(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}K.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=await Lo(s,d.join?d.join("
    "):d,e.labelStyle,!0,!0);if(Sr(ve())){let y=m.children[0],v=je(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return je(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),je(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return gi(e,s),e.intersect=function(l){return Zn.rect(e,l)},r},"stadium"),npt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await ji(t,e,sl(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),K.info("Circle main"),gi(e,a),e.intersect=function(s){return K.info("Circle intersect",e,n.width/2+i,s),Zn.circle(e,n.width/2+i,s)},r},"circle"),ipt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await ji(t,e,sl(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),K.info("DoubleCircle main"),gi(e,l),e.intersect=function(h){return K.info("DoubleCircle intersect",e,n.width/2+i+a,h),Zn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),apt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await ji(t,e,sl(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=Fc(r,i,a,s);return l.attr("style",e.style),gi(e,l),e.intersect=function(u){return Zn.polygon(e,s,u)},r},"subroutine"),spt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),gi(e,n),e.intersect=function(i){return Zn.circle(e,7,i)},r},"start"),aCe=o((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return gi(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return Zn.rect(e,l)},n},"forkJoin"),opt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),gi(e,i),e.intersect=function(a){return Zn.circle(e,7,a)},r},"end"),lpt=o(async(t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=n,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=await Lo(p,y,e.labelStyle,!0,!0),x=v.getBBox();if(Sr(ve())){let A=v.children[0],L=je(v);x=A.getBoundingClientRect(),L.attr("width",x.width),L.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(Sr(ve())?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let T=await Lo(p,b,e.labelStyle,!0,!0);je(T).attr("class","classTitle");let E=T.getBBox();if(Sr(ve())){let A=T.children[0],L=je(T);E=A.getBoundingClientRect(),L.attr("width",E.width),L.attr("height",E.height)}d+=E.height+n,E.width>f&&(f=E.width);let w=[];e.classData.members.forEach(async A=>{let L=A.getDisplayDetails(),I=L.displayText;Sr(ve())&&(I=I.replace(//g,">"));let N=await Lo(p,I,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0),C=N.getBBox();if(Sr(ve())){let _=N.children[0],D=je(N);C=_.getBoundingClientRect(),D.attr("width",C.width),D.attr("height",C.height)}C.width>f&&(f=C.width),d+=C.height+n,w.push(N)}),d+=i;let k=[];if(e.classData.methods.forEach(async A=>{let L=A.getDisplayDetails(),I=L.displayText;Sr(ve())&&(I=I.replace(//g,">"));let N=await Lo(p,I,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0),C=N.getBBox();if(Sr(ve())){let _=N.children[0],D=je(N);C=_.getBoundingClientRect(),D.attr("width",C.width),D.attr("height",C.height)}C.width>f&&(f=C.width),d+=C.height+n,k.push(N)}),d+=i,g){let A=(f-x.width)/2;je(v).attr("transform","translate( "+(-1*f/2+A)+", "+-1*d/2+")"),m=x.height+n}let S=(f-E.width)/2;return je(T).attr("transform","translate( "+(-1*f/2+S)+", "+(-1*d/2+m)+")"),m+=E.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,w.forEach(A=>{je(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let L=A?.getBBox();m+=(L?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,k.forEach(A=>{je(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let L=A?.getBBox();m+=(L?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),gi(e,l),e.intersect=function(A){return Zn.rect(e,A)},s},"class_box"),sCe={rhombus:iCe,composite:Jdt,question:iCe,rect:Zdt,labelRect:ept,rectWithTitle:tpt,choice:Vdt,circle:npt,doublecircle:ipt,stadium:rpt,hexagon:qdt,block_arrow:Udt,rect_left_inv_arrow:Wdt,lean_right:Hdt,lean_left:Ydt,trapezoid:jdt,inv_trapezoid:Xdt,rect_right_inv_arrow:Kdt,cylinder:Qdt,start:spt,end:opt,note:tCe,subroutine:apt,fork:aCe,join:aCe,class_box:lpt},T_={},SW=o(async(t,e,r)=>{let n,i;if(e.link){let a;ve().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await sCe[e.shape](n,e,r)}else i=await sCe[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),T_[e.id]=n,e.haveCallback&&T_[e.id].attr("class",T_[e.id].attr("class")+" clickable"),n},"insertNode"),oCe=o(t=>{let e=T_[t.id];K.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});function cCe(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=RN(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??Zt()?.block?.padding??0}}async function cpt(t,e,r){let n=cCe(e,r,!1);if(n.type==="group")return;let i=Zt(),a=await SW(t,n,{config:i}),s=a.node().getBBox(),l=r.getBlock(n.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function upt(t,e,r){let n=cCe(e,r,!0);if(r.getBlock(n.id).type!=="space"){let a=Zt();await SW(t,n,{config:a}),e.intersect=n?.intersect,oCe(n)}}async function CW(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await CW(t,i.children,r,n)}async function uCe(t,e,r){await CW(t,e,r,cpt)}async function hCe(t,e,r){await CW(t,e,r,upt)}async function fCe(t,e,r,n,i){let a=new wn({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=n.getBlock(s.start),u=n.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];zSe(t,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await FSe(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),$Se({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var dCe=O(()=>{"use strict";Dl();$r();GSe();lCe();ar();o(cCe,"getNodeFromBlock");o(cpt,"calculateBlockSize");o(upt,"insertBlockPositioned");o(CW,"performOperations");o(uCe,"calculateBlockSizes");o(hCe,"insertBlocks");o(fCe,"insertEdges")});var hpt,fpt,pCe,mCe=O(()=>{"use strict";Ar();$r();_Se();xt();Ti();MSe();dCe();hpt=o(function(t,e){return e.db.getClasses()},"getClasses"),fpt=o(async function(t,e,r,n){let{securityLevel:i,block:a}=Zt(),s=n.db,l;i==="sandbox"&&(l=je("#i"+e));let u=i==="sandbox"?je(l.nodes()[0].contentDocument.body):je("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):je(`[id="${e}"]`);ASe(h,["point","circle","cross"],n.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await uCe(g,d,s);let y=NSe(s);if(await hCe(g,d,s),await fCe(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,T=v.width+10,{useMaxWidth:E}=a;Zr(h,b,T,!!E),K.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),pCe={draw:fpt,getClasses:hpt}});var gCe={};vr(gCe,{diagram:()=>dpt});var dpt,yCe=O(()=>{"use strict";ySe();ESe();CSe();mCe();dpt={parser:gSe,db:kSe,renderer:pCe,styles:SSe}});var AW,_W,C3,bCe,DW,vs,Zu,A3,TCe,ypt,_3,wCe,kCe,ECe,SCe,CCe,w_,Tp,k_=O(()=>{"use strict";AW={L:"left",R:"right",T:"top",B:"bottom"},_W={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},C3={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},bCe=o(function(t){return vs(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),DW=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),vs=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),Zu=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),A3=o(function(t,e){let r=vs(t)&&Zu(e),n=Zu(t)&&vs(e);return r||n},"isArchitectureDirectionXY"),TCe=o(function(t){let e=t[0],r=t[1],n=vs(e)&&Zu(r),i=Zu(e)&&vs(r);return n||i},"isArchitecturePairXY"),ypt=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),_3=o(function(t,e){let r=`${t}${e}`;return ypt(r)?r:void 0},"getArchitectureDirectionPair"),wCe=o(function([t,e],r){let n=r[0],i=r[1];return vs(n)?Zu(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:vs(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),kCe=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),ECe=o(function(t,e){return A3(t,e)?"bend":vs(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),SCe=o(function(t){return t.type==="service"},"isArchitectureService"),CCe=o(function(t){return t.type==="junction"},"isArchitectureJunction"),w_=o(t=>t.data(),"edgeData"),Tp=o(t=>t.data(),"nodeData")});var vpt,Kv,RW=O(()=>{"use strict";$r();La();ar();si();k_();vpt=gr.architecture,Kv=class{constructor(){this.nodes={};this.groups={};this.edges=[];this.registeredIds={};this.elements={};this.setAccTitle=Lr;this.getAccTitle=Or;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getAccDescription=Br;this.setAccDescription=Pr;this.clear()}static{o(this,"ArchitectureDB")}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},_r()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(SCe)}addJunction({id:e,in:r}){if(this.registeredIds[e]!==void 0)throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds[e]}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(this.registeredIds[r]===void 0)throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds[r]==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(CCe)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:l,rhsGroup:u,title:h}){if(!DW(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!DW(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);let f=this.nodes[e].in,d=this.nodes[r].in;if(l&&f&&d&&f==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(u&&f&&d&&f==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let p={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:l,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:u,title:h};this.edges.push(p),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let e={},r=Object.entries(this.nodes).reduce((u,[h,f])=>(u[h]=f.edges.reduce((d,p)=>{let m=this.getNode(p.lhsId)?.in,g=this.getNode(p.rhsId)?.in;if(m&&g&&m!==g){let y=ECe(p.lhsDir,p.rhsDir);y!=="bend"&&(e[m]??={},e[m][g]=y,e[g]??={},e[g][m]=y)}if(p.lhsId===h){let y=_3(p.lhsDir,p.rhsDir);y&&(d[y]=p.rhsId)}else{let y=_3(p.rhsDir,p.lhsDir);y&&(d[y]=p.lhsId)}return d},{}),u),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((u,h)=>h===n?u:{...u,[h]:1},{}),s=o(u=>{let h={[u]:[0,0]},f=[u];for(;f.length>0;){let d=f.shift();if(d){i[d]=1,delete a[d];let p=r[d],[m,g]=h[d];Object.entries(p).forEach(([y,v])=>{i[v]||(h[v]=wCe([m,g],y),f.push(v))})}}return h},"BFS"),l=[s(n)];for(;Object.keys(a).length>0;)l.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:l,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Pn({...vpt,...Zt().architecture})}getConfigField(e){return this.getConfig()[e]}}});var xpt,LW,ACe=O(()=>{"use strict";up();xt();Vm();RW();xpt=o((t,e)=>{ql(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),LW={parser:{yy:void 0},parse:o(async t=>{let e=await Us("architecture",t);K.debug(e);let r=LW.parser?.yy;if(!(r instanceof Kv))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.");xpt(e,r)},"parse")}});var bpt,_Ce,DCe=O(()=>{"use strict";bpt=o(t=>` .edge { stroke-width: ${t.archEdgeWidth}; stroke: ${t.archEdgeColor}; @@ -2764,11 +2841,113 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error display: -webkit-box; -webkit-box-orient: vertical; } -`,"getStyles"),zEe=Lft});var yW=Jt((v3,gW)=>{"use strict";o((function(e,r){typeof v3=="object"&&typeof gW=="object"?gW.exports=r():typeof define=="function"&&define.amd?define([],r):typeof v3=="object"?v3.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(v3,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=28)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";var n=r(0);function i(){}o(i,"FDLayoutConstants");for(var a in n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=i.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var E=x.source.owner.getEdges().indexOf(x);if(E==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(E,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),E=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,E,w,k,C,D=this.nodes,R=D.length,O=0;OT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var R=0;v.forEach(function(O){O.owner==g&&R++}),R==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=D,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,S=!0):(l[0]=g,l[1]=m,S=!0):_===M&&(u>f?(l[0]=p,l[1]=m,S=!0):(l[0]=x,l[1]=v,S=!0)),-N===M?f>u?(l[2]=C,l[3]=D,A=!0):(l[2]=k,l[3]=w,A=!0):N===M&&(f>u?(l[2]=E,l[3]=w,A=!0):(l[2]=R,l[3]=D,A=!0)),S&&A)return!1;if(u>f?h>d?(P=this.getCardinalDirection(_,M,4),B=this.getCardinalDirection(N,M,2)):(P=this.getCardinalDirection(-_,M,3),B=this.getCardinalDirection(-N,M,1)):h>d?(P=this.getCardinalDirection(-_,M,1),B=this.getCardinalDirection(-N,M,3)):(P=this.getCardinalDirection(_,M,2),B=this.getCardinalDirection(N,M,4)),!S)switch(P){case 1:G=m,F=u+-T/M,l[0]=F,l[1]=G;break;case 2:F=x,G=h+b*M,l[0]=F,l[1]=G;break;case 3:G=v,F=u+T/M,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-b*M,l[0]=F,l[1]=G;break}if(!A)switch(B){case 1:V=w,$=f+-L/M,l[2]=$,l[3]=V;break;case 2:$=R,V=d+O*M,l[2]=$,l[3]=V;break;case 3:V=D,$=f+L/M,l[2]=$,l[3]=V;break;case 4:$=C,V=d+-O*M,l[2]=$,l[3]=V;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,E=void 0,w=void 0,k=void 0,C=void 0,D=void 0,R=void 0;return T=p-f,w=h-d,C=d*f-h*p,E=v-g,k=m-y,D=y*g-m*v,R=T*k-E*w,R===0?null:(x=(w*D-k*C)/R,b=(E*C-T*D)/R,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i}),(function(t,e,r){"use strict";function n(){}o(n,"IMath"),n.sign=function(i){return i>0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var C=k.getEdges(),x=0;x-1&&w.splice(L,1)}b=new Set,E=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(D,1);var R=E.getNeighborsList();R.forEach(function(S){if(y.indexOf(S)<0){var A=v.get(S),_=A-1;_==1&&k.push(S),v.set(S,_)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(5);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var E=0;Eh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";function n(){}o(n,"SVD"),n.svd=function(i){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=i.length,this.n=i[0].length;var a=Math.min(this.m,this.n);this.s=(function(mt){for(var at=[];mt-- >0;)at.push(0);return at})(Math.min(this.m+1,this.n)),this.U=(function(mt){var at=o(function wt(St){if(St.length==0)return 0;for(var bt=[],pt=0;pt0;)at.push(0);return at})(this.n),l=(function(mt){for(var at=[];mt-- >0;)at.push(0);return at})(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;M--)if(this.s[M]!==0){for(var P=M+1;P=0;ee--){if((function(mt,at){return mt&&at})(ee0;){var J=void 0,ge=void 0;for(J=A-2;J>=-1&&J!==-1;J--)if(Math.abs(s[J])<=le+Q*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){s[J]=0;break}if(J===A-2)ge=4;else{var ie=void 0;for(ie=A-1;ie>=J&&ie!==J;ie--){var Te=(ie!==A?Math.abs(s[ie]):0)+(ie!==J+1?Math.abs(s[ie-1]):0);if(Math.abs(this.s[ie])<=le+Q*Te){this.s[ie]=0;break}}ie===J?ge=3:ie===A-1?ge=1:(ge=2,J=ie)}switch(J++,ge){case 1:{var j=s[A-2];s[A-2]=0;for(var Ge=A-2;Ge>=J;Ge--){var ye=n.hypot(this.s[Ge],j),$e=this.s[Ge]/ye,Xe=j/ye;if(this.s[Ge]=ye,Ge!==J&&(j=-Xe*s[Ge-1],s[Ge-1]=$e*s[Ge-1]),h)for(var Ue=0;Ue=this.s[J+1]);){var ut=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=ut,h&&JMath.abs(a)?(s=a/i,s=Math.abs(i)*Math.sqrt(1+s*s)):a!=0?(s=i/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof x3=="object"&&typeof vW=="object"?vW.exports=r(yW()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof x3=="object"?x3.coseBase=r(yW()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(x3,function(t){return(()=>{"use strict";var e={45:((a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u}),806:((a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h}),767:((a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),880:((a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),578:((a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),765:((a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,T=l(551).DimensionD,E=l(551).Layout,w=l(551).Integer,k=l(551).IGeometry,C=l(551).LGraph,D=l(551).Transform,R=l(551).LinkedList;function O(){u.call(this),this.toBeTiled={},this.constraints={}}o(O,"CoSELayout"),O.prototype=Object.create(u.prototype);for(var L in u)O[L]=u[L];O.prototype.newGraphManager=function(){var S=new h(this);return this.graphManager=S,S},O.prototype.newGraph=function(S){return new f(null,this.graphManager,S)},O.prototype.newNode=function(S){return new d(this.graphManager,S)},O.prototype.newEdge=function(S){return new p(null,null,S)},O.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},O.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},O.prototype.layout=function(){var S=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return S&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},O.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var A=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(P){return A.has(P)});this.graphManager.setAllNodesToApplyGravitation(_)}}else{var S=this.getFlatForest();if(S.length>0)this.positionNodesRadially(S);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var A=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(N){return A.has(N)});this.graphManager.setAllNodesToApplyGravitation(_),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},O.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var S=new Set(this.getAllNodes()),A=this.nodesWithGravity.filter(function(M){return S.has(M)});this.graphManager.setAllNodesToApplyGravitation(A),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var _=!this.isTreeGrowing&&!this.isGrowthFinished,N=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(_,N),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},O.prototype.getPositionsData=function(){for(var S=this.graphManager.getAllNodes(),A={},_=0;_0&&this.updateDisplacements();for(var _=0;_0&&(N.fixedNodeWeight=P)}}if(this.constraints.relativePlacementConstraint){var B=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Z){S.fixedNodesOnHorizontal.add(Z),S.fixedNodesOnVertical.add(Z)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var G=this.constraints.alignmentConstraint.vertical,_=0;_=2*Z.length/3;ne--)de=Math.floor(Math.random()*(ne+1)),re=Z[ne],Z[ne]=Z[de],Z[de]=re;return Z},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(Z){if(Z.left){var de=B.has(Z.left)?B.get(Z.left):Z.left,re=B.has(Z.right)?B.get(Z.right):Z.right;S.nodesInRelativeHorizontal.includes(de)||(S.nodesInRelativeHorizontal.push(de),S.nodeToRelativeConstraintMapHorizontal.set(de,[]),S.dummyToNodeForVerticalAlignment.has(de)?S.nodeToTempPositionMapHorizontal.set(de,S.idToNodeMap.get(S.dummyToNodeForVerticalAlignment.get(de)[0]).getCenterX()):S.nodeToTempPositionMapHorizontal.set(de,S.idToNodeMap.get(de).getCenterX())),S.nodesInRelativeHorizontal.includes(re)||(S.nodesInRelativeHorizontal.push(re),S.nodeToRelativeConstraintMapHorizontal.set(re,[]),S.dummyToNodeForVerticalAlignment.has(re)?S.nodeToTempPositionMapHorizontal.set(re,S.idToNodeMap.get(S.dummyToNodeForVerticalAlignment.get(re)[0]).getCenterX()):S.nodeToTempPositionMapHorizontal.set(re,S.idToNodeMap.get(re).getCenterX())),S.nodeToRelativeConstraintMapHorizontal.get(de).push({right:re,gap:Z.gap}),S.nodeToRelativeConstraintMapHorizontal.get(re).push({left:de,gap:Z.gap})}else{var ne=F.has(Z.top)?F.get(Z.top):Z.top,te=F.has(Z.bottom)?F.get(Z.bottom):Z.bottom;S.nodesInRelativeVertical.includes(ne)||(S.nodesInRelativeVertical.push(ne),S.nodeToRelativeConstraintMapVertical.set(ne,[]),S.dummyToNodeForHorizontalAlignment.has(ne)?S.nodeToTempPositionMapVertical.set(ne,S.idToNodeMap.get(S.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):S.nodeToTempPositionMapVertical.set(ne,S.idToNodeMap.get(ne).getCenterY())),S.nodesInRelativeVertical.includes(te)||(S.nodesInRelativeVertical.push(te),S.nodeToRelativeConstraintMapVertical.set(te,[]),S.dummyToNodeForHorizontalAlignment.has(te)?S.nodeToTempPositionMapVertical.set(te,S.idToNodeMap.get(S.dummyToNodeForHorizontalAlignment.get(te)[0]).getCenterY()):S.nodeToTempPositionMapVertical.set(te,S.idToNodeMap.get(te).getCenterY())),S.nodeToRelativeConstraintMapVertical.get(ne).push({bottom:te,gap:Z.gap}),S.nodeToRelativeConstraintMapVertical.get(te).push({top:ne,gap:Z.gap})}});else{var V=new Map,K=new Map;this.constraints.relativePlacementConstraint.forEach(function(Z){if(Z.left){var de=B.has(Z.left)?B.get(Z.left):Z.left,re=B.has(Z.right)?B.get(Z.right):Z.right;V.has(de)?V.get(de).push(re):V.set(de,[re]),V.has(re)?V.get(re).push(de):V.set(re,[de])}else{var ne=F.has(Z.top)?F.get(Z.top):Z.top,te=F.has(Z.bottom)?F.get(Z.bottom):Z.bottom;K.has(ne)?K.get(ne).push(te):K.set(ne,[te]),K.has(te)?K.get(te).push(ne):K.set(te,[ne])}});var ee=o(function(de,re){var ne=[],te=[],Q=new R,le=new Set,J=0;return de.forEach(function(ge,ie){if(!le.has(ie)){ne[J]=[],te[J]=!1;var Te=ie;for(Q.push(Te),le.add(Te),ne[J].push(Te);Q.length!=0;){Te=Q.shift(),re.has(Te)&&(te[J]=!0);var j=de.get(Te);j.forEach(function(Ge){le.has(Ge)||(Q.push(Ge),le.add(Ge),ne[J].push(Ge))})}J++}}),{components:ne,isFixed:te}},"constructComponents"),H=ee(V,S.fixedNodesOnHorizontal);this.componentsOnHorizontal=H.components,this.fixedComponentsOnHorizontal=H.isFixed;var he=ee(K,S.fixedNodesOnVertical);this.componentsOnVertical=he.components,this.fixedComponentsOnVertical=he.isFixed}}},O.prototype.updateDisplacements=function(){var S=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(he){var Z=S.idToNodeMap.get(he.nodeId);Z.displacementX=0,Z.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var A=this.constraints.alignmentConstraint.vertical,_=0;_1){var F;for(F=0;FN&&(N=Math.floor(B.y)),P=Math.floor(B.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-B.x/2,v.WORLD_CENTER_Y-B.y/2))},O.radialLayout=function(S,A,_){var N=Math.max(this.maxDiagonalInTree(S),m.DEFAULT_RADIAL_SEPARATION);O.branchRadialLayout(A,null,0,359,0,N);var M=C.calculateBounds(S),P=new D;P.setDeviceOrgX(M.getMinX()),P.setDeviceOrgY(M.getMinY()),P.setWorldOrgX(_.x),P.setWorldOrgY(_.y);for(var B=0;B1;){var ne=re[0];re.splice(0,1);var te=ee.indexOf(ne);te>=0&&ee.splice(te,1),Z--,H--}A!=null?de=(ee.indexOf(re[0])+1)%Z:de=0;for(var Q=Math.abs(N-_)/H,le=de;he!=H;le=++le%Z){var J=ee[le].getOtherEnd(S);if(J!=A){var ge=(_+he*Q)%360,ie=(ge+Q)%360;O.branchRadialLayout(J,S,ge,ie,M+P,P),he++}}},O.maxDiagonalInTree=function(S){for(var A=w.MIN_VALUE,_=0;_A&&(A=M)}return A},O.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},O.prototype.groupZeroDegreeMembers=function(){var S=this,A={};this.memberGroups={},this.idToDummyNode={};for(var _=[],N=this.graphManager.getAllNodes(),M=0;M"u"&&(A[F]=[]),A[F]=A[F].concat(P)}Object.keys(A).forEach(function(G){if(A[G].length>1){var $="DummyCompound_"+G;S.memberGroups[$]=A[G];var V=A[G][0].getParent(),K=new d(S.graphManager);K.id=$,K.paddingLeft=V.paddingLeft||0,K.paddingRight=V.paddingRight||0,K.paddingBottom=V.paddingBottom||0,K.paddingTop=V.paddingTop||0,S.idToDummyNode[$]=K;var ee=S.getGraphManager().add(S.newGraph(),K),H=V.getChild();H.add(K);for(var he=0;heM?(N.rect.x-=(N.labelWidth-M)/2,N.setWidth(N.labelWidth),N.labelMarginLeft=(N.labelWidth-M)/2):N.labelPosHorizontal=="right"&&N.setWidth(M+N.labelWidth)),N.labelHeight&&(N.labelPosVertical=="top"?(N.rect.y-=N.labelHeight,N.setHeight(P+N.labelHeight),N.labelMarginTop=N.labelHeight):N.labelPosVertical=="center"&&N.labelHeight>P?(N.rect.y-=(N.labelHeight-P)/2,N.setHeight(N.labelHeight),N.labelMarginTop=(N.labelHeight-P)/2):N.labelPosVertical=="bottom"&&N.setHeight(P+N.labelHeight))}})},O.prototype.repopulateCompounds=function(){for(var S=this.compoundOrder.length-1;S>=0;S--){var A=this.compoundOrder[S],_=A.id,N=A.paddingLeft,M=A.paddingTop,P=A.labelMarginLeft,B=A.labelMarginTop;this.adjustLocations(this.tiledMemberPack[_],A.rect.x,A.rect.y,N,M,P,B)}},O.prototype.repopulateZeroDegreeMembers=function(){var S=this,A=this.tiledZeroDegreePack;Object.keys(A).forEach(function(_){var N=S.idToDummyNode[_],M=N.paddingLeft,P=N.paddingTop,B=N.labelMarginLeft,F=N.labelMarginTop;S.adjustLocations(A[_],N.rect.x,N.rect.y,M,P,B,F)})},O.prototype.getToBeTiled=function(S){var A=S.id;if(this.toBeTiled[A]!=null)return this.toBeTiled[A];var _=S.getChild();if(_==null)return this.toBeTiled[A]=!1,!1;for(var N=_.getNodes(),M=0;M0)return this.toBeTiled[A]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[A]=!1,!1}return this.toBeTiled[A]=!0,!0},O.prototype.getNodeDegree=function(S){for(var A=S.id,_=S.getEdges(),N=0,M=0;M<_.length;M++){var P=_[M];P.getSource().id!==P.getTarget().id&&(N=N+1)}return N},O.prototype.getNodeDegreeWithChildren=function(S){var A=this.getNodeDegree(S);if(S.getChild()==null)return A;for(var _=S.getChild().getNodes(),N=0;N<_.length;N++){var M=_[N];A+=this.getNodeDegreeWithChildren(M)}return A},O.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},O.prototype.fillCompexOrderByDFS=function(S){for(var A=0;AV&&(V=ee.rect.height)}_+=V+S.verticalPadding}},O.prototype.tileCompoundMembers=function(S,A){var _=this;this.tiledMemberPack=[],Object.keys(S).forEach(function(N){var M=A[N];if(_.tiledMemberPack[N]=_.tileNodes(S[N],M.paddingLeft+M.paddingRight),M.rect.width=_.tiledMemberPack[N].width,M.rect.height=_.tiledMemberPack[N].height,M.setCenter(_.tiledMemberPack[N].centerX,_.tiledMemberPack[N].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var P=M.rect.width,B=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(P+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>P?(M.rect.x-=(M.labelWidth-P)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-P)/2):M.labelPosHorizontal=="right"&&M.setWidth(P+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(B+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>B?(M.rect.y-=(M.labelHeight-B)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-B)/2):M.labelPosVertical=="bottom"&&M.setHeight(B+M.labelHeight))}})},O.prototype.tileNodes=function(S,A){var _=this.tileNodesByFavoringDim(S,A,!0),N=this.tileNodesByFavoringDim(S,A,!1),M=this.getOrgRatio(_),P=this.getOrgRatio(N),B;return PF&&(F=he.getWidth())});var G=P/M,$=B/M,V=Math.pow(_-N,2)+4*(G+N)*($+_)*M,K=(N-_+Math.sqrt(V))/(2*(G+N)),ee;A?(ee=Math.ceil(K),ee==K&&ee++):ee=Math.floor(K);var H=ee*(G+N)-N;return F>H&&(H=F),H+=N*2,H},O.prototype.tileNodesByFavoringDim=function(S,A,_){var N=m.TILING_PADDING_VERTICAL,M=m.TILING_PADDING_HORIZONTAL,P=m.TILING_COMPARE_BY,B={rows:[],rowWidth:[],rowHeight:[],width:0,height:A,verticalPadding:N,horizontalPadding:M,centerX:0,centerY:0};P&&(B.idealRowWidth=this.calcIdealRowWidth(S,_));var F=o(function(Z){return Z.rect.width*Z.rect.height},"getNodeArea"),G=o(function(Z,de){return F(de)-F(Z)},"areaCompareFcn");S.sort(function(he,Z){var de=G;return B.idealRowWidth?(de=P,de(he.id,Z.id)):de(he,Z)});for(var $=0,V=0,K=0;K0&&(B+=S.horizontalPadding),S.rowWidth[_]=B,S.width0&&(F+=S.verticalPadding);var G=0;F>S.rowHeight[_]&&(G=S.rowHeight[_],S.rowHeight[_]=F,G=S.rowHeight[_]-G),S.height+=G,S.rows[_].push(A)},O.prototype.getShortestRowIndex=function(S){for(var A=-1,_=Number.MAX_VALUE,N=0;N_&&(A=N,_=S.rowWidth[N]);return A},O.prototype.canAddHorizontal=function(S,A,_){if(S.idealRowWidth){var N=S.rows.length-1,M=S.rowWidth[N];return M+A+S.horizontalPadding<=S.idealRowWidth}var P=this.getShortestRowIndex(S);if(P<0)return!0;var B=S.rowWidth[P];if(B+S.horizontalPadding+A<=S.width)return!0;var F=0;S.rowHeight[P]<_&&P>0&&(F=_+S.verticalPadding-S.rowHeight[P]);var G;S.width-B>=A+S.horizontalPadding?G=(S.height+F)/(B+A+S.horizontalPadding):G=(S.height+F)/S.width,F=_+S.verticalPadding;var $;return S.widthP&&A!=_){N.splice(-1,1),S.rows[_].push(M),S.rowWidth[A]=S.rowWidth[A]-P,S.rowWidth[_]=S.rowWidth[_]+P,S.width=S.rowWidth[instance.getLongestRowIndex(S)];for(var B=Number.MIN_VALUE,F=0;FB&&(B=N[F].height);A>0&&(B+=S.verticalPadding);var G=S.rowHeight[A]+S.rowHeight[_];S.rowHeight[A]=B,S.rowHeight[_]0)for(var H=M;H<=P;H++)ee[0]+=this.grid[H][B-1].length+this.grid[H][B].length-1;if(P0)for(var H=B;H<=F;H++)ee[3]+=this.grid[M-1][H].length+this.grid[M][H].length-1;for(var he=w.MAX_VALUE,Z,de,re=0;re{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var rt=0;Pe.forEach(function(ut){ue=="horizontal"?(me.set(ut,x.has(ut)?b[x.get(ut)]:se.get(ut)),rt+=me.get(ut)):(me.set(ut,x.has(ut)?T[x.get(ut)]:se.get(ut)),rt+=me.get(ut))}),rt=rt/Pe.length,je.forEach(function(ut){z.has(ut)||me.set(ut,rt)})}else{var We=0;je.forEach(function(ut){ue=="horizontal"?We+=x.has(ut)?b[x.get(ut)]:se.get(ut):We+=x.has(ut)?T[x.get(ut)]:se.get(ut)}),We=We/je.length,je.forEach(function(ut){me.set(ut,We)})}});for(var Fe=o(function(){var Pe=Ce.shift(),rt=U.get(Pe);rt.forEach(function(We){if(me.get(We.id)ut&&(ut=bt),ptUt&&(Ut=pt)}}catch(Dt){Mt=!0,mt=Dt}finally{try{!Tt&&at.return&&at.return()}finally{if(Mt)throw mt}}var Zr=(rt+ut)/2-(We+Ut)/2,Lt=!0,Dn=!1,Hr=void 0;try{for(var mr=je[Symbol.iterator](),hr;!(Lt=(hr=mr.next()).done);Lt=!0){var Br=hr.value;me.set(Br,me.get(Br)+Zr)}}catch(Dt){Dn=!0,Hr=Dt}finally{try{!Lt&&mr.return&&mr.return()}finally{if(Dn)throw Hr}}})}return me},"findAppropriatePositionForRelativePlacement"),L=o(function(U){var ue=0,z=0,se=0,oe=0;if(U.forEach(function(De){De.left?b[x.get(De.left)]-b[x.get(De.right)]>=0?ue++:z++:T[x.get(De.top)]-T[x.get(De.bottom)]>=0?se++:oe++}),ue>z&&se>oe)for(var be=0;bez)for(var pe=0;peoe)for(var me=0;me1)y.fixedNodeConstraint.forEach(function(ce,U){N[U]=[ce.position.x,ce.position.y],M[U]=[b[x.get(ce.nodeId)],T[x.get(ce.nodeId)]]}),P=!0;else if(y.alignmentConstraint)(function(){var ce=0;if(y.alignmentConstraint.vertical){for(var U=y.alignmentConstraint.vertical,ue=o(function(me){var De=new Set;U[me].forEach(function(Ye){De.add(Ye)});var Ce=new Set([].concat(u(De)).filter(function(Ye){return F.has(Ye)})),Fe=void 0;Ce.size>0?Fe=b[x.get(Ce.values().next().value)]:Fe=R(De).x,U[me].forEach(function(Ye){N[ce]=[Fe,T[x.get(Ye)]],M[ce]=[b[x.get(Ye)],T[x.get(Ye)]],ce++})},"_loop2"),z=0;z0?Fe=b[x.get(Ce.values().next().value)]:Fe=R(De).y,se[me].forEach(function(Ye){N[ce]=[b[x.get(Ye)],Fe],M[ce]=[b[x.get(Ye)],T[x.get(Ye)]],ce++})},"_loop3"),be=0;beK&&(K=V[H].length,ee=H);if(K<$.size/2)L(y.relativePlacementConstraint),P=!1,B=!1;else{var he=new Map,Z=new Map,de=[];V[ee].forEach(function(ce){G.get(ce).forEach(function(U){U.direction=="horizontal"?(he.has(ce)?he.get(ce).push(U):he.set(ce,[U]),he.has(U.id)||he.set(U.id,[]),de.push({left:ce,right:U.id})):(Z.has(ce)?Z.get(ce).push(U):Z.set(ce,[U]),Z.has(U.id)||Z.set(U.id,[]),de.push({top:ce,bottom:U.id}))})}),L(de),B=!1;var re=O(he,"horizontal"),ne=O(Z,"vertical");V[ee].forEach(function(ce,U){M[U]=[b[x.get(ce)],T[x.get(ce)]],N[U]=[],re.has(ce)?N[U][0]=re.get(ce):N[U][0]=b[x.get(ce)],ne.has(ce)?N[U][1]=ne.get(ce):N[U][1]=T[x.get(ce)]}),P=!0}}if(P){for(var te=void 0,Q=d.transpose(N),le=d.transpose(M),J=0;J0){var $e={x:0,y:0};y.fixedNodeConstraint.forEach(function(ce,U){var ue={x:b[x.get(ce.nodeId)],y:T[x.get(ce.nodeId)]},z=ce.position,se=D(z,ue);$e.x+=se.x,$e.y+=se.y}),$e.x/=y.fixedNodeConstraint.length,$e.y/=y.fixedNodeConstraint.length,b.forEach(function(ce,U){b[U]+=$e.x}),T.forEach(function(ce,U){T[U]+=$e.y}),y.fixedNodeConstraint.forEach(function(ce){b[x.get(ce.nodeId)]=ce.position.x,T[x.get(ce.nodeId)]=ce.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Xe=y.alignmentConstraint.vertical,Ue=o(function(U){var ue=new Set;Xe[U].forEach(function(oe){ue.add(oe)});var z=new Set([].concat(u(ue)).filter(function(oe){return F.has(oe)})),se=void 0;z.size>0?se=b[x.get(z.values().next().value)]:se=R(ue).x,ue.forEach(function(oe){F.has(oe)||(b[x.get(oe)]=se)})},"_loop4"),Le=0;Le0?se=T[x.get(z.values().next().value)]:se=R(ue).y,ue.forEach(function(oe){F.has(oe)||(T[x.get(oe)]=se)})},"_loop5"),Ae=0;Ae{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(45);return i})()})});var VEe=Jt((b3,bW)=>{"use strict";o((function(e,r){typeof b3=="object"&&typeof bW=="object"?bW.exports=r(xW()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof b3=="object"?b3.cytoscapeFcose=r(xW()):e.cytoscapeFcose=r(e.coseBase)}),"webpackUniversalModuleDefinition")(b3,function(t){return(()=>{"use strict";var e={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=(function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),T;!(y=(T=b.next()).done)&&(g.push(T.value),!(m&&g.length===m));y=!0);}catch(E){v=!0,x=E}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&P.merge($)});for(var B=0;B1){T=x[0],E=T.connectedEdges().length,x.forEach(function(M){M.connectedEdges().length0&&g.set("dummy"+(g.size+1),C),D},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,T=!1,E=void 0;try{for(var w=p.nodeIndexes[Symbol.iterator](),k;!(b=(k=w.next()).done);b=!0){var C=k.value,D=u(C,2),R=D[0],O=D[1],L=m.cy.getElementById(R);if(L){var S=L.boundingBox(),A=p.xCoords[O]-S.w/2,_=p.xCoords[O]+S.w/2,N=p.yCoords[O]-S.h/2,M=p.yCoords[O]+S.h/2;Ay&&(y=_),Nx&&(x=M)}}}catch($){T=!0,E=$}finally{try{!b&&w.return&&w.return()}finally{if(T)throw E}}var P=d.x-(y+g)/2,B=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function($){return $+P}),p.yCoords=p.yCoords.map(function($){return $+B})}else{Object.keys(p).forEach(function($){var V=p[$],K=V.getRect().x,ee=V.getRect().x+V.getRect().width,H=V.getRect().y,he=V.getRect().y+V.getRect().height;Ky&&(y=ee),Hx&&(x=he)});var F=d.x-(y+g)/2,G=d.y-(x+v)/2;Object.keys(p).forEach(function($){var V=p[$];V.setCenter(V.getCenterX()+F,V.getCenterY()+G)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,T=void 0,E=void 0,w=void 0,k=void 0,C=d.descendants().not(":parent"),D=C.length,R=0;RT&&(y=T),vw&&(x=w),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,T){var E=b.cy,w=b.eles,k=w.nodes(),C=w.edges(),D=void 0,R=void 0,O=void 0,L={};b.randomize&&(D=T.nodeIndexes,R=T.xCoords,O=T.yCoords);var S=o(function($){return typeof $=="function"},"isFn"),A=o(function($,V){return S($)?$(V):$},"optFn"),_=u.calcParentsWithoutChildren(E,w),N=o(function G($,V,K,ee){for(var H=V.length,he=0;he0){var Q=void 0;Q=K.getGraphManager().add(K.newGraph(),re),G(Q,de,K,ee)}}},"processChildrenList"),M=o(function($,V,K){for(var ee=0,H=0,he=0;he0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=ee/H:S(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),P=o(function($,V){V.fixedNodeConstraint&&($.constraints.fixedNodeConstraint=V.fixedNodeConstraint),V.alignmentConstraint&&($.constraints.alignmentConstraint=V.alignmentConstraint),V.relativePlacementConstraint&&($.constraints.relativePlacementConstraint=V.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var B=new h,F=B.newGraphManager();return N(F.addRoot(),u.getTopMostNodes(k),B,b),M(B,F,C),P(B,b),B.runLayout(),L},"coseLayout");a.exports={coseLayout:v}}),212:((a,s,l)=>{var u=(function(){function b(T,E){for(var w=0;w0)if(M){var F=d.getTopMostNodes(w.eles.nodes());if(S=d.connectComponents(k,w.eles,F),S.forEach(function(Te){var j=Te.boundingBox();A.push({x:j.x1+j.w/2,y:j.y1+j.h/2})}),w.randomize&&S.forEach(function(Te){w.eles=Te,D.push(m(w))}),w.quality=="default"||w.quality=="proof"){var G=k.collection();if(w.tile){var $=new Map,V=[],K=[],ee=0,H={nodeIndexes:$,xCoords:V,yCoords:K},he=[];if(S.forEach(function(Te,j){Te.edges().length==0&&(Te.nodes().forEach(function(Ge,ye){G.merge(Te.nodes()[ye]),Ge.isParent()||(H.nodeIndexes.set(Te.nodes()[ye].id(),ee++),H.xCoords.push(Te.nodes()[0].position().x),H.yCoords.push(Te.nodes()[0].position().y))}),he.push(j))}),G.length>1){var Z=G.boundingBox();A.push({x:Z.x1+Z.w/2,y:Z.y1+Z.h/2}),S.push(G),D.push(H);for(var de=he.length-1;de>=0;de--)S.splice(he[de],1),D.splice(he[de],1),A.splice(he[de],1)}}S.forEach(function(Te,j){w.eles=Te,L.push(y(w,D[j])),d.relocateComponent(A[j],L[j],w)})}else S.forEach(function(Te,j){d.relocateComponent(A[j],D[j],w)});var re=new Set;if(S.length>1){var ne=[],te=C.filter(function(Te){return Te.css("display")=="none"});S.forEach(function(Te,j){var Ge=void 0;if(w.quality=="draft"&&(Ge=D[j].nodeIndexes),Te.nodes().not(te).length>0){var ye={};ye.edges=[],ye.nodes=[];var $e=void 0;Te.nodes().not(te).forEach(function(Xe){if(w.quality=="draft")if(!Xe.isParent())$e=Ge.get(Xe.id()),ye.nodes.push({x:D[j].xCoords[$e]-Xe.boundingbox().w/2,y:D[j].yCoords[$e]-Xe.boundingbox().h/2,width:Xe.boundingbox().w,height:Xe.boundingbox().h});else{var Ue=d.calcBoundingBox(Xe,D[j].xCoords,D[j].yCoords,Ge);ye.nodes.push({x:Ue.topLeftX,y:Ue.topLeftY,width:Ue.width,height:Ue.height})}else L[j][Xe.id()]&&ye.nodes.push({x:L[j][Xe.id()].getLeft(),y:L[j][Xe.id()].getTop(),width:L[j][Xe.id()].getWidth(),height:L[j][Xe.id()].getHeight()})}),Te.edges().forEach(function(Xe){var Ue=Xe.source(),Le=Xe.target();if(Ue.css("display")!="none"&&Le.css("display")!="none")if(w.quality=="draft"){var Ie=Ge.get(Ue.id()),Me=Ge.get(Le.id()),Ae=[],ze=[];if(Ue.isParent()){var Y=d.calcBoundingBox(Ue,D[j].xCoords,D[j].yCoords,Ge);Ae.push(Y.topLeftX+Y.width/2),Ae.push(Y.topLeftY+Y.height/2)}else Ae.push(D[j].xCoords[Ie]),Ae.push(D[j].yCoords[Ie]);if(Le.isParent()){var ce=d.calcBoundingBox(Le,D[j].xCoords,D[j].yCoords,Ge);ze.push(ce.topLeftX+ce.width/2),ze.push(ce.topLeftY+ce.height/2)}else ze.push(D[j].xCoords[Me]),ze.push(D[j].yCoords[Me]);ye.edges.push({startX:Ae[0],startY:Ae[1],endX:ze[0],endY:ze[1]})}else L[j][Ue.id()]&&L[j][Le.id()]&&ye.edges.push({startX:L[j][Ue.id()].getCenterX(),startY:L[j][Ue.id()].getCenterY(),endX:L[j][Le.id()].getCenterX(),endY:L[j][Le.id()].getCenterY()})}),ye.nodes.length>0&&(ne.push(ye),re.add(j))}});var Q=N.packComponents(ne,w.randomize).shifts;if(w.quality=="draft")D.forEach(function(Te,j){var Ge=Te.xCoords.map(function($e){return $e+Q[j].dx}),ye=Te.yCoords.map(function($e){return $e+Q[j].dy});Te.xCoords=Ge,Te.yCoords=ye});else{var le=0;re.forEach(function(Te){Object.keys(L[Te]).forEach(function(j){var Ge=L[Te][j];Ge.setCenter(Ge.getCenterX()+Q[le].dx,Ge.getCenterY()+Q[le].dy)}),le++})}}}else{var P=w.eles.boundingBox();if(A.push({x:P.x1+P.w/2,y:P.y1+P.h/2}),w.randomize){var B=m(w);D.push(B)}w.quality=="default"||w.quality=="proof"?(L.push(y(w,D[0])),d.relocateComponent(A[0],L[0],w)):d.relocateComponent(A[0],D[0],w)}var J=o(function(j,Ge){if(w.quality=="default"||w.quality=="proof"){typeof j=="number"&&(j=Ge);var ye=void 0,$e=void 0,Xe=j.data("id");return L.forEach(function(Le){Xe in Le&&(ye={x:Le[Xe].getRect().getCenterX(),y:Le[Xe].getRect().getCenterY()},$e=Le[Xe])}),w.nodeDimensionsIncludeLabels&&($e.labelWidth&&($e.labelPosHorizontal=="left"?ye.x+=$e.labelWidth/2:$e.labelPosHorizontal=="right"&&(ye.x-=$e.labelWidth/2)),$e.labelHeight&&($e.labelPosVertical=="top"?ye.y+=$e.labelHeight/2:$e.labelPosVertical=="bottom"&&(ye.y-=$e.labelHeight/2))),ye==null&&(ye={x:j.position("x"),y:j.position("y")}),{x:ye.x,y:ye.y}}else{var Ue=void 0;return D.forEach(function(Le){var Ie=Le.nodeIndexes.get(j.id());Ie!=null&&(Ue={x:Le.xCoords[Ie],y:Le.yCoords[Ie]})}),Ue==null&&(Ue={x:j.position("x"),y:j.position("y")}),{x:Ue.x,y:Ue.y}}},"getPositions");if(w.quality=="default"||w.quality=="proof"||w.randomize){var ge=d.calcParentsWithoutChildren(k,C),ie=C.filter(function(Te){return Te.css("display")=="none"});w.eles=C.not(ie),C.nodes().not(":parent").not(ie).layoutPositions(E,w,J),ge.length>0&&ge.forEach(function(Te){Te.position(J(Te))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b})();a.exports=x}),657:((a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,T=new Map,E=new Map,w=[],k=[],C=[],D=[],R=[],O=[],L=[],S=[],A=void 0,_=void 0,N=1e8,M=1e-9,P=m.piTol,B=m.samplingType,F=m.nodeSeparation,G=void 0,$=o(function(){for(var ue=0,z=0,se=!1;z=be;){me=oe[be++];for(var je=w[me],Pe=0;PeFe&&(Fe=R[We],Ye=We)}return Ye},"BFS"),K=o(function(ue){var z=void 0;if(ue){z=Math.floor(Math.random()*_),A=z;for(var oe=0;oe<_;oe++)R[oe]=N;for(var be=0;be=1)break;Fe=Ce}for(var je=0;je<_;je++)be[je]=se[je];for(De=0,Fe=M;;){De++;for(var Pe=0;Pe<_;Pe++)pe[Pe]=oe[Pe];if(pe=h.minusOp(pe,h.multCons(be,h.dotProduct(be,pe))),oe=h.multGamma(h.multL(h.multGamma(pe),O,S)),z=h.dotProduct(pe,oe),oe=h.normalize(oe),Ce=h.dotProduct(pe,oe),Ye=Math.abs(Ce/Fe),Ye<=1+P&&Ye>=1)break;Fe=Ce}for(var rt=0;rt<_;rt++)pe[rt]=oe[rt];k=h.multCons(be,Math.sqrt(Math.abs(ue))),C=h.multCons(pe,Math.sqrt(Math.abs(z)))},"powerIteration");u.connectComponents(g,y,u.getTopMostNodes(v),b),x.forEach(function(U){u.connectComponents(g,y,u.getTopMostNodes(U.descendants().intersection(y)),b)});for(var he=0,Z=0;Z0&&(z.isParent()?w[ue].push(E.get(z.id())):w[ue].push(z.id()))})});var ge=o(function(ue){var z=T.get(ue),se=void 0;b.get(ue).forEach(function(oe){g.getElementById(oe).isParent()?se=E.get(oe):se=oe,w[z].push(se),w[T.get(se)].push(ue)})},"_loop"),ie=!0,Te=!1,j=void 0;try{for(var Ge=b.keys()[Symbol.iterator](),ye;!(ie=(ye=Ge.next()).done);ie=!0){var $e=ye.value;ge($e)}}catch(U){Te=!0,j=U}finally{try{!ie&&Ge.return&&Ge.return()}finally{if(Te)throw j}}_=T.size;var Xe=void 0;if(_>2){G=_{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h}),140:(a=>{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(579);return i})()})});var qv,Zm,TW=I(()=>{"use strict";Gc();qv=o(t=>`${t}`,"wrapIcon"),Zm={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:qv('')},server:{body:qv('')},disk:{body:qv('')},internet:{body:qv('')},cloud:{body:qv('')},unknown:rD,blank:{body:qv("")}}}});var qEe,UEe,WEe,HEe,YEe=I(()=>{"use strict";Qt();yl();Gc();wr();TW();h8();sr();qEe=o(async function(t,e,r){let n=r.getConfigField("padding"),i=r.getConfigField("iconSize"),a=i/2,s=i/6,l=s/2;await Promise.all(e.edges().map(async u=>{let{source:h,sourceDir:f,sourceArrow:d,sourceGroup:p,target:m,targetDir:g,targetArrow:y,targetGroup:v,label:x}=u8(u),{x:b,y:T}=u[0].sourceEndpoint(),{x:E,y:w}=u[0].midpoint(),{x:k,y:C}=u[0].targetEndpoint(),D=n+4;if(p&&(gs(f)?b+=f==="L"?-D:D:T+=f==="T"?-D:D+18),v&&(gs(g)?k+=g==="L"?-D:D:C+=g==="T"?-D:D+18),!p&&r.getNode(h)?.type==="junction"&&(gs(f)?b+=f==="L"?a:-a:T+=f==="T"?a:-a),!v&&r.getNode(m)?.type==="junction"&&(gs(g)?k+=g==="L"?a:-a:C+=g==="T"?a:-a),u[0]._private.rscratch){let R=t.insert("g");if(R.insert("path").attr("d",`M ${b},${T} L ${E},${w} L${k},${C} `).attr("class","edge").attr("id",nu(h,m,{prefix:"L"})),d){let O=gs(f)?m3[f](b,s):b-l,L=Hu(f)?m3[f](T,s):T-l;R.insert("polygon").attr("points",fW[f](s)).attr("transform",`translate(${O},${L})`).attr("class","arrow")}if(y){let O=gs(g)?m3[g](k,s):k-l,L=Hu(g)?m3[g](C,s):C-l;R.insert("polygon").attr("points",fW[g](s)).attr("transform",`translate(${O},${L})`).attr("class","arrow")}if(x){let O=g3(f,g)?"XY":gs(f)?"X":"Y",L=0;O==="X"?L=Math.abs(b-k):O==="Y"?L=Math.abs(T-C)/1.5:L=Math.abs(b-k)/2;let S=R.append("g");if(await Ai(S,x,{useHtmlLabels:!1,width:L,classes:"architecture-service-label"},xe()),S.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),O==="X")S.attr("transform","translate("+E+", "+w+")");else if(O==="Y")S.attr("transform","translate("+E+", "+w+") rotate(-90)");else if(O==="XY"){let A=y3(f,g);if(A&&MEe(A)){let _=S.node().getBoundingClientRect(),[N,M]=OEe(A);S.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*N*M*45})`);let P=S.node().getBoundingClientRect();S.attr("transform",` - translate(${E}, ${w-_.height/2}) - translate(${N*P.width/2}, ${M*P.height/2}) - rotate(${-1*N*M*45}, 0, ${_.height/2}) - `)}}}}}))},"drawEdges"),UEe=o(async function(t,e,r){let i=r.getConfigField("padding")*.75,a=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{let h=vp(u);if(h.type==="group"){let{h:f,w:d,x1:p,y1:m}=u.boundingBox(),g=t.append("rect");g.attr("id",`group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",d).attr("height",f).attr("class","node-bkg");let y=t.append("g"),v=p,x=m;if(h.icon){let b=y.append("g");b.html(`${await Ks(h.icon,{height:i,width:i,fallbackPrefix:Zm.prefix})}`),b.attr("transform","translate("+(v+l+1)+", "+(x+l+1)+")"),v+=i,x+=a/2-1-2}if(h.label){let b=y.append("g");await Ai(b,h.label,{useHtmlLabels:!1,width:d,classes:"architecture-service-label"},xe()),b.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),b.attr("transform","translate("+(v+l+4)+", "+(x+l+2)+")")}r.setElementForId(h.id,g)}}))},"drawGroups"),WEe=o(async function(t,e,r){let n=xe();for(let i of r){let a=e.append("g"),s=t.getConfigField("iconSize");if(i.title){let f=a.append("g");await Ai(f,i.title,{useHtmlLabels:!1,width:s*1.5,classes:"architecture-service-label"},n),f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),f.attr("transform","translate("+s/2+", "+s+")")}let l=a.append("g");if(i.icon)l.html(`${await Ks(i.icon,{height:s,width:s,fallbackPrefix:Zm.prefix})}`);else if(i.iconText){l.html(`${await Ks("blank",{height:s,width:s,fallbackPrefix:Zm.prefix})}`);let p=l.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(fr(i.iconText,n)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id","node-"+i.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`);a.attr("id",`service-${i.id}`).attr("class","architecture-service");let{width:u,height:h}=a.node().getBBox();i.width=u,i.height=h,t.setElementForId(i.id,a)}return 0},"drawServices"),HEe=o(function(t,e,r){r.forEach(n=>{let i=e.append("g"),a=t.getConfigField("iconSize");i.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",a).attr("height",a),i.attr("class","architecture-junction");let{width:l,height:u}=i._groups[0][0].getBBox();i.width=l,i.height=u,t.setElementForId(n.id,i)})},"drawJunctions")});function Nft(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}function Mft(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}function Ift(t,e){e.nodes().map(r=>{let n=vp(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}function Oft(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}function Pft(t,e){t.forEach(r=>{let{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=g3(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${n}-${i}`,label:d,source:n,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:i,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function Bft(t,e,r){let n=o((l,u)=>Object.entries(l).reduce((h,[f,d])=>{let p=0,m=Object.entries(d);if(m.length===1)return h[f]=m[0][1],h;for(let g=0;g{let u={},h={};return Object.entries(l).forEach(([f,[d,p]])=>{let m=t.getNode(f)?.in??"default";u[p]??={},u[p][m]??=[],u[p][m].push(f),h[d]??={},h[d][m]??=[],h[d][m].push(f)}),{horiz:Object.values(n(u,"horizontal")).filter(f=>f.length>1),vert:Object.values(n(h,"vertical")).filter(f=>f.length>1)}}),[a,s]=i.reduce(([l,u],{horiz:h,vert:f})=>[[...l,...h],[...u,...f]],[[],[]]);return{horizontal:a,vertical:s}}function Fft(t,e){let r=[],n=o(a=>`${a[0]},${a[1]}`,"posToStr"),i=o(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{let s=Object.fromEntries(Object.entries(a).map(([f,d])=>[n(d),f])),l=[n([0,0])],u={},h={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;l.length>0;){let f=l.shift();if(f){u[f]=1;let d=s[f];if(d){let p=i(f);Object.entries(h).forEach(([m,g])=>{let y=n([p[0]+g[0],p[1]+g[1]]),v=s[y];v&&!u[y]&&(l.push(y),r.push({[hW[m]]:v,[hW[NEe(m)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}function $ft(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(l=>{let u=He("body").append("div").attr("id","cy").attr("style","display:none"),h=Al({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});u.remove(),Oft(r,h),Nft(t,h,i),Mft(e,h,i),Pft(n,h);let f=Bft(i,a,s),d=Fft(a,i),p=h.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(m){let[g,y]=m.connectedNodes(),{parent:v}=vp(g),{parent:x}=vp(y);return v===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(m){let[g,y]=m.connectedNodes(),{parent:v}=vp(g),{parent:x}=vp(y);return v===x?.45:.001},alignmentConstraint:f,relativePlacementConstraint:d});p.one("layoutstop",()=>{function m(g,y,v,x){let b,T,{x:E,y:w}=g,{x:k,y:C}=y;T=(x-w+(E-v)*(w-C)/(E-k))/Math.sqrt(1+Math.pow((w-C)/(E-k),2)),b=Math.sqrt(Math.pow(x-w,2)+Math.pow(v-E,2)-Math.pow(T,2));let D=Math.sqrt(Math.pow(k-E,2)+Math.pow(C-w,2));b=b/D;let R=(k-E)*(x-w)-(C-w)*(v-E);switch(!0){case R>=0:R=1;break;case R<0:R=-1;break}let O=(k-E)*(v-E)+(C-w)*(x-w);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}return T=Math.abs(T)*R,b=b*O,{distances:T,weights:b}}o(m,"getSegmentWeights"),h.startBatch();for(let g of Object.values(h.edges()))if(g.data?.()){let{x:y,y:v}=g.source().position(),{x,y:b}=g.target().position();if(y!==x&&v!==b){let T=g.sourceEndpoint(),E=g.targetEndpoint(),{sourceDir:w}=u8(g),[k,C]=Hu(w)?[T.x,E.y]:[E.x,T.y],{weights:D,distances:R}=m(T,E,k,C);g.style("segment-distances",R),g.style("segment-weights",D)}}h.endBatch(),p.run()}),p.run(),h.ready(m=>{X.info("Ready",m),l(h)})})}var jEe,zft,XEe,KEe=I(()=>{"use strict";cB();jEe=Aa(VEe(),1);kr();gt();Gc();Uu();Fi();TW();h8();YEe();xw([{name:Zm.prefix,icons:Zm}]);Al.use(jEe.default);o(Nft,"addServices");o(Mft,"addJunctions");o(Ift,"positionNodes");o(Oft,"addGroups");o(Pft,"addEdges");o(Bft,"getAlignments");o(Fft,"getRelativeConstraints");o($ft,"layoutArchitecture");zft=o(async(t,e,r,n)=>{let i=n.db,a=i.getServices(),s=i.getJunctions(),l=i.getGroups(),u=i.getEdges(),h=i.getDataStructures(),f=Ca(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await WEe(i,p,a),HEe(i,p,s);let g=await $ft(a,s,l,u,i,h);await qEe(d,g,i),await UEe(m,g,i),Ift(i,g),Vc(void 0,f,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),XEe={draw:zft}});var QEe={};vr(QEe,{diagram:()=>Gft});var Gft,ZEe=I(()=>{"use strict";$Ee();pW();GEe();KEe();Gft={parser:mW,get db(){return new Vv},renderer:XEe,styles:zEe}});var Uv,wW=I(()=>{"use strict";Ka();ti();sr();Vt();ki();Uv=class{constructor(){this.nodes=[];this.levels=new Map;this.outerNodes=[];this.classes=new Map;this.setAccTitle=zr;this.getAccTitle=Vr;this.setDiagramTitle=Xr;this.getDiagramTitle=Wr;this.getAccDescription=Ur;this.setAccDescription=qr}static{o(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=gr,r=tr();return Qn({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{Zx(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){Mr(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}}});function tCe(t){if(!t.length)return[];let e=[],r=[];return t.forEach(n=>{let i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=[n.cssCompiledStyles]),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{let a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}var rCe=I(()=>{"use strict";o(tCe,"buildHierarchy")});var Wft,Hft,kW,nCe=I(()=>{"use strict";sp();gt();$m();rCe();wW();Wft=o((t,e)=>{Pl(t,e);let r=[];for(let a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(let a of t.TreemapRows??[]){let s=a.item;if(!s)continue;let l=a.indent?parseInt(a.indent):0,u=Hft(s),h=s.classSelector?e.getStylesForClass(s.classSelector):[],f=h.length>0?h.join(";"):void 0,d={level:l,name:u,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:f};r.push(d)}let n=tCe(r),i=o((a,s)=>{for(let l of a)e.addNode(l,s),l.children&&l.children.length>0&&i(l.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Hft=o(t=>t.name?String(t.name):"","getItemName"),kW={parser:{yy:void 0},parse:o(async t=>{try{let r=await Vs("treemap",t);X.debug("Treemap AST:",r);let n=kW.parser?.yy;if(!(n instanceof Uv))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.");Wft(r,n)}catch(e){throw X.error("Error parsing treemap:",e),e}},"parse")}});var Yft,Wv,T3,jft,Xft,iCe,aCe=I(()=>{"use strict";Uu();Ad();Fi();kr();Vt();ti();gt();Yft=10,Wv=10,T3=25,jft=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),s=a.padding??Yft,l=i.getDiagramTitle(),u=i.getRoot(),{themeVariables:h}=tr();if(!u)return;let f=l?30:0,d=Ca(e),p=a.nodeWidth?a.nodeWidth*Wv:960,m=a.nodeHeight?a.nodeHeight*Wv:500,g=p,y=m+f;d.attr("viewBox",`0 0 ${g} ${y}`),Sn(d,y,g,a.useMaxWidth);let v;try{let _=a.valueFormat||",";if(_==="$0,0")v=o(N=>"$"+Yc(",")(N),"valueFormat");else if(_.startsWith("$")&&_.includes(",")){let N=/\.\d+/.exec(_),M=N?N[0]:"";v=o(P=>"$"+Yc(","+M)(P),"valueFormat")}else if(_.startsWith("$")){let N=_.substring(1);v=o(M=>"$"+Yc(N||"")(M),"valueFormat")}else v=Yc(_)}catch(_){X.error("Error creating format function:",_),v=Yc(",")}let x=Lo().range(["transparent",h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),b=Lo().range(["transparent",h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),T=Lo().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);l&&d.append("text").attr("x",g/2).attr("y",f/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(l);let E=d.append("g").attr("transform",`translate(0, ${f})`).attr("class","treemapContainer"),w=Cg(u).sum(_=>_.value??0).sort((_,N)=>(N.value??0)-(_.value??0)),C=m5().size([p,m]).paddingTop(_=>_.children&&_.children.length>0?T3+Wv:0).paddingInner(s).paddingLeft(_=>_.children&&_.children.length>0?Wv:0).paddingRight(_=>_.children&&_.children.length>0?Wv:0).paddingBottom(_=>_.children&&_.children.length>0?Wv:0).round(!0)(w),D=C.descendants().filter(_=>_.children&&_.children.length>0),R=E.selectAll(".treemapSection").data(D).enter().append("g").attr("class","treemapSection").attr("transform",_=>`translate(${_.x0},${_.y0})`);R.append("rect").attr("width",_=>_.x1-_.x0).attr("height",T3).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",_=>_.depth===0?"display: none;":""),R.append("clipPath").attr("id",(_,N)=>`clip-section-${e}-${N}`).append("rect").attr("width",_=>Math.max(0,_.x1-_.x0-12)).attr("height",T3),R.append("rect").attr("width",_=>_.x1-_.x0).attr("height",_=>_.y1-_.y0).attr("class",(_,N)=>`treemapSection section${N}`).attr("fill",_=>x(_.data.name)).attr("fill-opacity",.6).attr("stroke",_=>b(_.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",_=>{if(_.depth===0)return"display: none;";let N=Qe({cssCompiledStyles:_.data.cssCompiledStyles});return N.nodeStyles+";"+N.borderStyles.join(";")}),R.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",T3/2).attr("dominant-baseline","middle").text(_=>_.depth===0?"":_.data.name).attr("font-weight","bold").attr("style",_=>{if(_.depth===0)return"display: none;";let N="dominant-baseline: middle; font-size: 12px; fill:"+T(_.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",M=Qe({cssCompiledStyles:_.data.cssCompiledStyles});return N+M.labelStyles.replace("color:","fill:")}).each(function(_){if(_.depth===0)return;let N=He(this),M=_.data.name;N.text(M);let P=_.x1-_.x0,B=6,F;a.showValues!==!1&&_.value?F=P-10-30-10-B:F=P-B-6;let $=Math.max(15,F),V=N.node();if(V.getComputedTextLength()>$){let H=M;for(;H.length>0;){if(H=M.substring(0,H.length-1),H.length===0){N.text("..."),V.getComputedTextLength()>$&&N.text("");break}if(N.text(H+"..."),V.getComputedTextLength()<=$)break}}}),a.showValues!==!1&&R.append("text").attr("class","treemapSectionValue").attr("x",_=>_.x1-_.x0-10).attr("y",T3/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(_=>_.value?v(_.value):"").attr("font-style","italic").attr("style",_=>{if(_.depth===0)return"display: none;";let N="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(_.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",M=Qe({cssCompiledStyles:_.data.cssCompiledStyles});return N+M.labelStyles.replace("color:","fill:")});let O=C.leaves(),L=E.selectAll(".treemapLeafGroup").data(O).enter().append("g").attr("class",(_,N)=>`treemapNode treemapLeafGroup leaf${N}${_.data.classSelector?` ${_.data.classSelector}`:""}x`).attr("transform",_=>`translate(${_.x0},${_.y0})`);L.append("rect").attr("width",_=>_.x1-_.x0).attr("height",_=>_.y1-_.y0).attr("class","treemapLeaf").attr("fill",_=>_.parent?x(_.parent.data.name):x(_.data.name)).attr("style",_=>Qe({cssCompiledStyles:_.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",_=>_.parent?x(_.parent.data.name):x(_.data.name)).attr("stroke-width",3),L.append("clipPath").attr("id",(_,N)=>`clip-${e}-${N}`).append("rect").attr("width",_=>Math.max(0,_.x1-_.x0-4)).attr("height",_=>Math.max(0,_.y1-_.y0-4)),L.append("text").attr("class","treemapLabel").attr("x",_=>(_.x1-_.x0)/2).attr("y",_=>(_.y1-_.y0)/2).attr("style",_=>{let N="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(_.data.name)+";",M=Qe({cssCompiledStyles:_.data.cssCompiledStyles});return N+M.labelStyles.replace("color:","fill:")}).attr("clip-path",(_,N)=>`url(#clip-${e}-${N})`).text(_=>_.data.name).each(function(_){let N=He(this),M=_.x1-_.x0,P=_.y1-_.y0,B=N.node(),F=4,G=M-2*F,$=P-2*F;if(G<10||$<10){N.style("display","none");return}let V=parseInt(N.style("font-size"),10),K=8,ee=28,H=.6,he=6,Z=2;for(;B.getComputedTextLength()>G&&V>K;)V--,N.style("font-size",`${V}px`);let de=Math.max(he,Math.min(ee,Math.round(V*H))),re=V+Z+de;for(;re>$&&V>K&&(V--,de=Math.max(he,Math.min(ee,Math.round(V*H))),!(de$;N.style("font-size",`${V}px`),(B.getComputedTextLength()>G||V(N.x1-N.x0)/2).attr("y",function(N){return(N.y1-N.y0)/2}).attr("style",N=>{let M="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(N.data.name)+";",P=Qe({cssCompiledStyles:N.data.cssCompiledStyles});return M+P.labelStyles.replace("color:","fill:")}).attr("clip-path",(N,M)=>`url(#clip-${e}-${M})`).text(N=>N.value?v(N.value):"").each(function(N){let M=He(this),P=this.parentNode;if(!P){M.style("display","none");return}let B=He(P).select(".treemapLabel");if(B.empty()||B.style("display")==="none"){M.style("display","none");return}let F=parseFloat(B.style("font-size")),G=28,$=.6,V=6,K=2,ee=Math.max(V,Math.min(G,Math.round(F*$)));M.style("font-size",`${ee}px`);let he=(N.y1-N.y0)/2+F/2+K;M.attr("y",he);let Z=N.x1-N.x0,ne=N.y1-N.y0-4,te=Z-8;M.node().getComputedTextLength()>te||he+ee>ne||ee{"use strict";sr();Kft={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},Qft=o(({treemap:t}={})=>{let e=Qn(Kft,t);return` +`,"getStyles"),_Ce=bpt});var MW=nr((D3,NW)=>{"use strict";o((function(e,r){typeof D3=="object"&&typeof NW=="object"?NW.exports=r():typeof define=="function"&&define.amd?define([],r):typeof D3=="object"?D3.layoutBase=r():e.layoutBase=r()}),"webpackUniversalModuleDefinition")(D3,function(){return(function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=28)})([(function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s}),(function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h}),(function(t,e,r){"use strict";var n=r(0);function i(){}o(i,"FDLayoutConstants");for(var a in n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=i.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i}),(function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n}),(function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&k>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(k,1);var E=x.source.owner.getEdges().indexOf(x);if(E==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(E,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),E=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,E,w,k,S,A=this.nodes,L=A.length,I=0;IT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var L=0;v.forEach(function(I){I.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p}),(function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=k,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,C=!0):(l[0]=g,l[1]=m,C=!0):D===R&&(u>f?(l[0]=p,l[1]=m,C=!0):(l[0]=x,l[1]=v,C=!0)),-M===R?f>u?(l[2]=S,l[3]=A,_=!0):(l[2]=k,l[3]=w,_=!0):M===R&&(f>u?(l[2]=E,l[3]=w,_=!0):(l[2]=L,l[3]=A,_=!0)),C&&_)return!1;if(u>f?h>d?(P=this.getCardinalDirection(D,R,4),B=this.getCardinalDirection(M,R,2)):(P=this.getCardinalDirection(-D,R,3),B=this.getCardinalDirection(-M,R,1)):h>d?(P=this.getCardinalDirection(-D,R,1),B=this.getCardinalDirection(-M,R,3)):(P=this.getCardinalDirection(D,R,2),B=this.getCardinalDirection(M,R,4)),!C)switch(P){case 1:G=m,F=u+-T/R,l[0]=F,l[1]=G;break;case 2:F=x,G=h+b*R,l[0]=F,l[1]=G;break;case 3:G=v,F=u+T/R,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-b*R,l[0]=F,l[1]=G;break}if(!_)switch(B){case 1:V=w,$=f+-N/R,l[2]=$,l[3]=V;break;case 2:$=L,V=d+I*R,l[2]=$,l[3]=V;break;case 3:V=A,$=f+N/R,l[2]=$,l[3]=V;break;case 4:$=S,V=d+-I*R,l[2]=$,l[3]=V;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,E=void 0,w=void 0,k=void 0,S=void 0,A=void 0,L=void 0;return T=p-f,w=h-d,S=d*f-h*p,E=v-g,k=m-y,A=y*g-m*v,L=T*k-E*w,L===0?null:(x=(w*A-k*S)/L,b=(E*S-T*A)/L,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i}),(function(t,e,r){"use strict";function n(){}o(n,"IMath"),n.sign=function(i){return i>0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n}),(function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i}),(function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var k=T[0];T.splice(0,1),b.add(k);for(var S=k.getEdges(),x=0;x-1&&w.splice(N,1)}b=new Set,E=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var L=E.getNeighborsList();L.forEach(function(C){if(y.indexOf(C)<0){var _=v.get(C),D=_-1;D==1&&k.push(C),v.set(C,D)}})}y=y.concat(k),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p}),(function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n}),(function(t,e,r){"use strict";var n=r(5);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i}),(function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var E=0;Eh},"_defaultCompareFunction")}]),l})();t.exports=s}),(function(t,e,r){"use strict";function n(){}o(n,"SVD"),n.svd=function(i){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=i.length,this.n=i[0].length;var a=Math.min(this.m,this.n);this.s=(function(Rt){for(var it=[];Rt-- >0;)it.push(0);return it})(Math.min(this.m+1,this.n)),this.U=(function(Rt){var it=o(function at(Ct){if(Ct.length==0)return 0;for(var yt=[],dt=0;dt0;)it.push(0);return it})(this.n),l=(function(Rt){for(var it=[];Rt-- >0;)it.push(0);return it})(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;R--)if(this.s[R]!==0){for(var P=R+1;P=0;Q--){if((function(Rt,it){return Rt&&it})(Q0;){var de=void 0,Se=void 0;for(de=_-2;de>=-1&&de!==-1;de--)if(Math.abs(s[de])<=xe+Z*(Math.abs(this.s[de])+Math.abs(this.s[de+1]))){s[de]=0;break}if(de===_-2)Se=4;else{var Me=void 0;for(Me=_-1;Me>=de&&Me!==de;Me--){var ke=(Me!==_?Math.abs(s[Me]):0)+(Me!==de+1?Math.abs(s[Me-1]):0);if(Math.abs(this.s[Me])<=xe+Z*ke){this.s[Me]=0;break}}Me===de?Se=3:Me===_-1?Se=1:(Se=2,de=Me)}switch(de++,Se){case 1:{var we=s[_-2];s[_-2]=0;for(var _e=_-2;_e>=de;_e--){var $e=n.hypot(this.s[_e],we),fe=this.s[_e]/$e,Ke=we/$e;if(this.s[_e]=$e,_e!==de&&(we=-Ke*s[_e-1],s[_e-1]=fe*s[_e-1]),h)for(var Te=0;Te=this.s[de+1]);){var ot=this.s[de];if(this.s[de]=this.s[de+1],this.s[de+1]=ot,h&&deMath.abs(a)?(s=a/i,s=Math.abs(i)*Math.sqrt(1+s*s)):a!=0?(s=i/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=n}),(function(t,e,r){"use strict";var n=(function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o((function(e,r){typeof R3=="object"&&typeof IW=="object"?IW.exports=r(MW()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof R3=="object"?R3.coseBase=r(MW()):e.coseBase=r(e.layoutBase)}),"webpackUniversalModuleDefinition")(R3,function(t){return(()=>{"use strict";var e={45:((a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u}),806:((a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h}),767:((a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),880:((a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),578:((a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h}),765:((a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,T=l(551).DimensionD,E=l(551).Layout,w=l(551).Integer,k=l(551).IGeometry,S=l(551).LGraph,A=l(551).Transform,L=l(551).LinkedList;function I(){u.call(this),this.toBeTiled={},this.constraints={}}o(I,"CoSELayout"),I.prototype=Object.create(u.prototype);for(var N in u)I[N]=u[N];I.prototype.newGraphManager=function(){var C=new h(this);return this.graphManager=C,C},I.prototype.newGraph=function(C){return new f(null,this.graphManager,C)},I.prototype.newNode=function(C){return new d(this.graphManager,C)},I.prototype.newEdge=function(C){return new p(null,null,C)},I.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},I.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},I.prototype.layout=function(){var C=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return C&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},I.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),D=this.nodesWithGravity.filter(function(P){return _.has(P)});this.graphManager.setAllNodesToApplyGravitation(D)}}else{var C=this.getFlatForest();if(C.length>0)this.positionNodesRadially(C);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var _=new Set(this.getAllNodes()),D=this.nodesWithGravity.filter(function(M){return _.has(M)});this.graphManager.setAllNodesToApplyGravitation(D),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},I.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var C=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(R){return C.has(R)});this.graphManager.setAllNodesToApplyGravitation(_),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var D=!this.isTreeGrowing&&!this.isGrowthFinished,M=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(D,M),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},I.prototype.getPositionsData=function(){for(var C=this.graphManager.getAllNodes(),_={},D=0;D0&&this.updateDisplacements();for(var D=0;D0&&(M.fixedNodeWeight=P)}}if(this.constraints.relativePlacementConstraint){var B=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Y){C.fixedNodesOnHorizontal.add(Y),C.fixedNodesOnVertical.add(Y)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var G=this.constraints.alignmentConstraint.vertical,D=0;D=2*Y.length/3;J--)le=Math.floor(Math.random()*(J+1)),ee=Y[J],Y[J]=Y[le],Y[le]=ee;return Y},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(Y){if(Y.left){var le=B.has(Y.left)?B.get(Y.left):Y.left,ee=B.has(Y.right)?B.get(Y.right):Y.right;C.nodesInRelativeHorizontal.includes(le)||(C.nodesInRelativeHorizontal.push(le),C.nodeToRelativeConstraintMapHorizontal.set(le,[]),C.dummyToNodeForVerticalAlignment.has(le)?C.nodeToTempPositionMapHorizontal.set(le,C.idToNodeMap.get(C.dummyToNodeForVerticalAlignment.get(le)[0]).getCenterX()):C.nodeToTempPositionMapHorizontal.set(le,C.idToNodeMap.get(le).getCenterX())),C.nodesInRelativeHorizontal.includes(ee)||(C.nodesInRelativeHorizontal.push(ee),C.nodeToRelativeConstraintMapHorizontal.set(ee,[]),C.dummyToNodeForVerticalAlignment.has(ee)?C.nodeToTempPositionMapHorizontal.set(ee,C.idToNodeMap.get(C.dummyToNodeForVerticalAlignment.get(ee)[0]).getCenterX()):C.nodeToTempPositionMapHorizontal.set(ee,C.idToNodeMap.get(ee).getCenterX())),C.nodeToRelativeConstraintMapHorizontal.get(le).push({right:ee,gap:Y.gap}),C.nodeToRelativeConstraintMapHorizontal.get(ee).push({left:le,gap:Y.gap})}else{var J=F.has(Y.top)?F.get(Y.top):Y.top,te=F.has(Y.bottom)?F.get(Y.bottom):Y.bottom;C.nodesInRelativeVertical.includes(J)||(C.nodesInRelativeVertical.push(J),C.nodeToRelativeConstraintMapVertical.set(J,[]),C.dummyToNodeForHorizontalAlignment.has(J)?C.nodeToTempPositionMapVertical.set(J,C.idToNodeMap.get(C.dummyToNodeForHorizontalAlignment.get(J)[0]).getCenterY()):C.nodeToTempPositionMapVertical.set(J,C.idToNodeMap.get(J).getCenterY())),C.nodesInRelativeVertical.includes(te)||(C.nodesInRelativeVertical.push(te),C.nodeToRelativeConstraintMapVertical.set(te,[]),C.dummyToNodeForHorizontalAlignment.has(te)?C.nodeToTempPositionMapVertical.set(te,C.idToNodeMap.get(C.dummyToNodeForHorizontalAlignment.get(te)[0]).getCenterY()):C.nodeToTempPositionMapVertical.set(te,C.idToNodeMap.get(te).getCenterY())),C.nodeToRelativeConstraintMapVertical.get(J).push({bottom:te,gap:Y.gap}),C.nodeToRelativeConstraintMapVertical.get(te).push({top:J,gap:Y.gap})}});else{var V=new Map,X=new Map;this.constraints.relativePlacementConstraint.forEach(function(Y){if(Y.left){var le=B.has(Y.left)?B.get(Y.left):Y.left,ee=B.has(Y.right)?B.get(Y.right):Y.right;V.has(le)?V.get(le).push(ee):V.set(le,[ee]),V.has(ee)?V.get(ee).push(le):V.set(ee,[le])}else{var J=F.has(Y.top)?F.get(Y.top):Y.top,te=F.has(Y.bottom)?F.get(Y.bottom):Y.bottom;X.has(J)?X.get(J).push(te):X.set(J,[te]),X.has(te)?X.get(te).push(J):X.set(te,[J])}});var Q=o(function(le,ee){var J=[],te=[],Z=new L,xe=new Set,de=0;return le.forEach(function(Se,Me){if(!xe.has(Me)){J[de]=[],te[de]=!1;var ke=Me;for(Z.push(ke),xe.add(ke),J[de].push(ke);Z.length!=0;){ke=Z.shift(),ee.has(ke)&&(te[de]=!0);var we=le.get(ke);we.forEach(function(_e){xe.has(_e)||(Z.push(_e),xe.add(_e),J[de].push(_e))})}de++}}),{components:J,isFixed:te}},"constructComponents"),H=Q(V,C.fixedNodesOnHorizontal);this.componentsOnHorizontal=H.components,this.fixedComponentsOnHorizontal=H.isFixed;var ie=Q(X,C.fixedNodesOnVertical);this.componentsOnVertical=ie.components,this.fixedComponentsOnVertical=ie.isFixed}}},I.prototype.updateDisplacements=function(){var C=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(ie){var Y=C.idToNodeMap.get(ie.nodeId);Y.displacementX=0,Y.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var _=this.constraints.alignmentConstraint.vertical,D=0;D<_.length;D++){for(var M=0,R=0;R<_[D].length;R++){if(this.fixedNodeSet.has(_[D][R])){M=0;break}M+=this.idToNodeMap.get(_[D][R]).displacementX}for(var P=M/_[D].length,R=0;R<_[D].length;R++)this.idToNodeMap.get(_[D][R]).displacementX=P}if(this.constraints.alignmentConstraint.horizontal)for(var B=this.constraints.alignmentConstraint.horizontal,D=0;D1){var F;for(F=0;FM&&(M=Math.floor(B.y)),P=Math.floor(B.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-B.x/2,v.WORLD_CENTER_Y-B.y/2))},I.radialLayout=function(C,_,D){var M=Math.max(this.maxDiagonalInTree(C),m.DEFAULT_RADIAL_SEPARATION);I.branchRadialLayout(_,null,0,359,0,M);var R=S.calculateBounds(C),P=new A;P.setDeviceOrgX(R.getMinX()),P.setDeviceOrgY(R.getMinY()),P.setWorldOrgX(D.x),P.setWorldOrgY(D.y);for(var B=0;B1;){var J=ee[0];ee.splice(0,1);var te=Q.indexOf(J);te>=0&&Q.splice(te,1),Y--,H--}_!=null?le=(Q.indexOf(ee[0])+1)%Y:le=0;for(var Z=Math.abs(M-D)/H,xe=le;ie!=H;xe=++xe%Y){var de=Q[xe].getOtherEnd(C);if(de!=_){var Se=(D+ie*Z)%360,Me=(Se+Z)%360;I.branchRadialLayout(de,C,Se,Me,R+P,P),ie++}}},I.maxDiagonalInTree=function(C){for(var _=w.MIN_VALUE,D=0;D_&&(_=R)}return _},I.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},I.prototype.groupZeroDegreeMembers=function(){var C=this,_={};this.memberGroups={},this.idToDummyNode={};for(var D=[],M=this.graphManager.getAllNodes(),R=0;R"u"&&(_[F]=[]),_[F]=_[F].concat(P)}Object.keys(_).forEach(function(G){if(_[G].length>1){var $="DummyCompound_"+G;C.memberGroups[$]=_[G];var V=_[G][0].getParent(),X=new d(C.graphManager);X.id=$,X.paddingLeft=V.paddingLeft||0,X.paddingRight=V.paddingRight||0,X.paddingBottom=V.paddingBottom||0,X.paddingTop=V.paddingTop||0,C.idToDummyNode[$]=X;var Q=C.getGraphManager().add(C.newGraph(),X),H=V.getChild();H.add(X);for(var ie=0;ie<_[G].length;ie++){var Y=_[G][ie];H.remove(Y),Q.add(Y)}}})},I.prototype.clearCompounds=function(){var C={},_={};this.performDFSOnCompounds();for(var D=0;DR?(M.rect.x-=(M.labelWidth-R)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-R)/2):M.labelPosHorizontal=="right"&&M.setWidth(R+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(P+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>P?(M.rect.y-=(M.labelHeight-P)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-P)/2):M.labelPosVertical=="bottom"&&M.setHeight(P+M.labelHeight))}})},I.prototype.repopulateCompounds=function(){for(var C=this.compoundOrder.length-1;C>=0;C--){var _=this.compoundOrder[C],D=_.id,M=_.paddingLeft,R=_.paddingTop,P=_.labelMarginLeft,B=_.labelMarginTop;this.adjustLocations(this.tiledMemberPack[D],_.rect.x,_.rect.y,M,R,P,B)}},I.prototype.repopulateZeroDegreeMembers=function(){var C=this,_=this.tiledZeroDegreePack;Object.keys(_).forEach(function(D){var M=C.idToDummyNode[D],R=M.paddingLeft,P=M.paddingTop,B=M.labelMarginLeft,F=M.labelMarginTop;C.adjustLocations(_[D],M.rect.x,M.rect.y,R,P,B,F)})},I.prototype.getToBeTiled=function(C){var _=C.id;if(this.toBeTiled[_]!=null)return this.toBeTiled[_];var D=C.getChild();if(D==null)return this.toBeTiled[_]=!1,!1;for(var M=D.getNodes(),R=0;R0)return this.toBeTiled[_]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[_]=!1,!1}return this.toBeTiled[_]=!0,!0},I.prototype.getNodeDegree=function(C){for(var _=C.id,D=C.getEdges(),M=0,R=0;RV&&(V=Q.rect.height)}D+=V+C.verticalPadding}},I.prototype.tileCompoundMembers=function(C,_){var D=this;this.tiledMemberPack=[],Object.keys(C).forEach(function(M){var R=_[M];if(D.tiledMemberPack[M]=D.tileNodes(C[M],R.paddingLeft+R.paddingRight),R.rect.width=D.tiledMemberPack[M].width,R.rect.height=D.tiledMemberPack[M].height,R.setCenter(D.tiledMemberPack[M].centerX,D.tiledMemberPack[M].centerY),R.labelMarginLeft=0,R.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var P=R.rect.width,B=R.rect.height;R.labelWidth&&(R.labelPosHorizontal=="left"?(R.rect.x-=R.labelWidth,R.setWidth(P+R.labelWidth),R.labelMarginLeft=R.labelWidth):R.labelPosHorizontal=="center"&&R.labelWidth>P?(R.rect.x-=(R.labelWidth-P)/2,R.setWidth(R.labelWidth),R.labelMarginLeft=(R.labelWidth-P)/2):R.labelPosHorizontal=="right"&&R.setWidth(P+R.labelWidth)),R.labelHeight&&(R.labelPosVertical=="top"?(R.rect.y-=R.labelHeight,R.setHeight(B+R.labelHeight),R.labelMarginTop=R.labelHeight):R.labelPosVertical=="center"&&R.labelHeight>B?(R.rect.y-=(R.labelHeight-B)/2,R.setHeight(R.labelHeight),R.labelMarginTop=(R.labelHeight-B)/2):R.labelPosVertical=="bottom"&&R.setHeight(B+R.labelHeight))}})},I.prototype.tileNodes=function(C,_){var D=this.tileNodesByFavoringDim(C,_,!0),M=this.tileNodesByFavoringDim(C,_,!1),R=this.getOrgRatio(D),P=this.getOrgRatio(M),B;return PF&&(F=ie.getWidth())});var G=P/R,$=B/R,V=Math.pow(D-M,2)+4*(G+M)*($+D)*R,X=(M-D+Math.sqrt(V))/(2*(G+M)),Q;_?(Q=Math.ceil(X),Q==X&&Q++):Q=Math.floor(X);var H=Q*(G+M)-M;return F>H&&(H=F),H+=M*2,H},I.prototype.tileNodesByFavoringDim=function(C,_,D){var M=m.TILING_PADDING_VERTICAL,R=m.TILING_PADDING_HORIZONTAL,P=m.TILING_COMPARE_BY,B={rows:[],rowWidth:[],rowHeight:[],width:0,height:_,verticalPadding:M,horizontalPadding:R,centerX:0,centerY:0};P&&(B.idealRowWidth=this.calcIdealRowWidth(C,D));var F=o(function(Y){return Y.rect.width*Y.rect.height},"getNodeArea"),G=o(function(Y,le){return F(le)-F(Y)},"areaCompareFcn");C.sort(function(ie,Y){var le=G;return B.idealRowWidth?(le=P,le(ie.id,Y.id)):le(ie,Y)});for(var $=0,V=0,X=0;X0&&(B+=C.horizontalPadding),C.rowWidth[D]=B,C.width0&&(F+=C.verticalPadding);var G=0;F>C.rowHeight[D]&&(G=C.rowHeight[D],C.rowHeight[D]=F,G=C.rowHeight[D]-G),C.height+=G,C.rows[D].push(_)},I.prototype.getShortestRowIndex=function(C){for(var _=-1,D=Number.MAX_VALUE,M=0;MD&&(_=M,D=C.rowWidth[M]);return _},I.prototype.canAddHorizontal=function(C,_,D){if(C.idealRowWidth){var M=C.rows.length-1,R=C.rowWidth[M];return R+_+C.horizontalPadding<=C.idealRowWidth}var P=this.getShortestRowIndex(C);if(P<0)return!0;var B=C.rowWidth[P];if(B+C.horizontalPadding+_<=C.width)return!0;var F=0;C.rowHeight[P]0&&(F=D+C.verticalPadding-C.rowHeight[P]);var G;C.width-B>=_+C.horizontalPadding?G=(C.height+F)/(B+_+C.horizontalPadding):G=(C.height+F)/C.width,F=D+C.verticalPadding;var $;return C.width<_?$=(C.height+F)/_:$=(C.height+F)/C.width,$<1&&($=1/$),G<1&&(G=1/G),G<$},I.prototype.shiftToLastRow=function(C){var _=this.getLongestRowIndex(C),D=C.rowWidth.length-1,M=C.rows[_],R=M[M.length-1],P=R.width+C.horizontalPadding;if(C.width-C.rowWidth[D]>P&&_!=D){M.splice(-1,1),C.rows[D].push(R),C.rowWidth[_]=C.rowWidth[_]-P,C.rowWidth[D]=C.rowWidth[D]+P,C.width=C.rowWidth[instance.getLongestRowIndex(C)];for(var B=Number.MIN_VALUE,F=0;FB&&(B=M[F].height);_>0&&(B+=C.verticalPadding);var G=C.rowHeight[_]+C.rowHeight[D];C.rowHeight[_]=B,C.rowHeight[D]0)for(var H=R;H<=P;H++)Q[0]+=this.grid[H][B-1].length+this.grid[H][B].length-1;if(P0)for(var H=B;H<=F;H++)Q[3]+=this.grid[R-1][H].length+this.grid[R][H].length-1;for(var ie=w.MAX_VALUE,Y,le,ee=0;ee{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var et=0;oe.forEach(function(ot){ce=="horizontal"?(me.set(ot,x.has(ot)?b[x.get(ot)]:ne.get(ot)),et+=me.get(ot)):(me.set(ot,x.has(ot)?T[x.get(ot)]:ne.get(ot)),et+=me.get(ot))}),et=et/oe.length,Xe.forEach(function(ot){z.has(ot)||me.set(ot,et)})}else{var he=0;Xe.forEach(function(ot){ce=="horizontal"?he+=x.has(ot)?b[x.get(ot)]:ne.get(ot):he+=x.has(ot)?T[x.get(ot)]:ne.get(ot)}),he=he/Xe.length,Xe.forEach(function(ot){me.set(ot,he)})}});for(var Ie=o(function(){var oe=ge.shift(),et=U.get(oe);et.forEach(function(he){if(me.get(he.id)ot&&(ot=yt),dtDt&&(Dt=dt)}}catch(_n){wt=!0,Rt=_n}finally{try{!It&&it.return&&it.return()}finally{if(wt)throw Rt}}var Ht=(et+ot)/2-(he+Dt)/2,cr=!0,Kt=!1,kr=void 0;try{for(var ur=Xe[Symbol.iterator](),tr;!(cr=(tr=ur.next()).done);cr=!0){var hr=tr.value;me.set(hr,me.get(hr)+Ht)}}catch(_n){Kt=!0,kr=_n}finally{try{!cr&&ur.return&&ur.return()}finally{if(Kt)throw kr}}})}return me},"findAppropriatePositionForRelativePlacement"),N=o(function(U){var ce=0,z=0,ne=0,se=0;if(U.forEach(function(Re){Re.left?b[x.get(Re.left)]-b[x.get(Re.right)]>=0?ce++:z++:T[x.get(Re.top)]-T[x.get(Re.bottom)]>=0?ne++:se++}),ce>z&&ne>se)for(var be=0;bez)for(var pe=0;pese)for(var me=0;me1)y.fixedNodeConstraint.forEach(function(ae,U){M[U]=[ae.position.x,ae.position.y],R[U]=[b[x.get(ae.nodeId)],T[x.get(ae.nodeId)]]}),P=!0;else if(y.alignmentConstraint)(function(){var ae=0;if(y.alignmentConstraint.vertical){for(var U=y.alignmentConstraint.vertical,ce=o(function(me){var Re=new Set;U[me].forEach(function(qe){Re.add(qe)});var ge=new Set([].concat(u(Re)).filter(function(qe){return F.has(qe)})),Ie=void 0;ge.size>0?Ie=b[x.get(ge.values().next().value)]:Ie=L(Re).x,U[me].forEach(function(qe){M[ae]=[Ie,T[x.get(qe)]],R[ae]=[b[x.get(qe)],T[x.get(qe)]],ae++})},"_loop2"),z=0;z0?Ie=b[x.get(ge.values().next().value)]:Ie=L(Re).y,ne[me].forEach(function(qe){M[ae]=[b[x.get(qe)],Ie],R[ae]=[b[x.get(qe)],T[x.get(qe)]],ae++})},"_loop3"),be=0;beX&&(X=V[H].length,Q=H);if(X<$.size/2)N(y.relativePlacementConstraint),P=!1,B=!1;else{var ie=new Map,Y=new Map,le=[];V[Q].forEach(function(ae){G.get(ae).forEach(function(U){U.direction=="horizontal"?(ie.has(ae)?ie.get(ae).push(U):ie.set(ae,[U]),ie.has(U.id)||ie.set(U.id,[]),le.push({left:ae,right:U.id})):(Y.has(ae)?Y.get(ae).push(U):Y.set(ae,[U]),Y.has(U.id)||Y.set(U.id,[]),le.push({top:ae,bottom:U.id}))})}),N(le),B=!1;var ee=I(ie,"horizontal"),J=I(Y,"vertical");V[Q].forEach(function(ae,U){R[U]=[b[x.get(ae)],T[x.get(ae)]],M[U]=[],ee.has(ae)?M[U][0]=ee.get(ae):M[U][0]=b[x.get(ae)],J.has(ae)?M[U][1]=J.get(ae):M[U][1]=T[x.get(ae)]}),P=!0}}if(P){for(var te=void 0,Z=d.transpose(M),xe=d.transpose(R),de=0;de0){var fe={x:0,y:0};y.fixedNodeConstraint.forEach(function(ae,U){var ce={x:b[x.get(ae.nodeId)],y:T[x.get(ae.nodeId)]},z=ae.position,ne=A(z,ce);fe.x+=ne.x,fe.y+=ne.y}),fe.x/=y.fixedNodeConstraint.length,fe.y/=y.fixedNodeConstraint.length,b.forEach(function(ae,U){b[U]+=fe.x}),T.forEach(function(ae,U){T[U]+=fe.y}),y.fixedNodeConstraint.forEach(function(ae){b[x.get(ae.nodeId)]=ae.position.x,T[x.get(ae.nodeId)]=ae.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Ke=y.alignmentConstraint.vertical,Te=o(function(U){var ce=new Set;Ke[U].forEach(function(se){ce.add(se)});var z=new Set([].concat(u(ce)).filter(function(se){return F.has(se)})),ne=void 0;z.size>0?ne=b[x.get(z.values().next().value)]:ne=L(ce).x,ce.forEach(function(se){F.has(se)||(b[x.get(se)]=ne)})},"_loop4"),Be=0;Be0?ne=T[x.get(z.values().next().value)]:ne=L(ce).y,ce.forEach(function(se){F.has(se)||(T[x.get(se)]=ne)})},"_loop5"),Ne=0;Ne{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(45);return i})()})});var RCe=nr((L3,PW)=>{"use strict";o((function(e,r){typeof L3=="object"&&typeof PW=="object"?PW.exports=r(OW()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof L3=="object"?L3.cytoscapeFcose=r(OW()):e.cytoscapeFcose=r(e.coseBase)}),"webpackUniversalModuleDefinition")(L3,function(t){return(()=>{"use strict";var e={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=(function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),T;!(y=(T=b.next()).done)&&(g.push(T.value),!(m&&g.length===m));y=!0);}catch(E){v=!0,x=E}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&P.merge($)});for(var B=0;B1){T=x[0],E=T.connectedEdges().length,x.forEach(function(R){R.connectedEdges().length0&&g.set("dummy"+(g.size+1),S),A},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,T=!1,E=void 0;try{for(var w=p.nodeIndexes[Symbol.iterator](),k;!(b=(k=w.next()).done);b=!0){var S=k.value,A=u(S,2),L=A[0],I=A[1],N=m.cy.getElementById(L);if(N){var C=N.boundingBox(),_=p.xCoords[I]-C.w/2,D=p.xCoords[I]+C.w/2,M=p.yCoords[I]-C.h/2,R=p.yCoords[I]+C.h/2;_y&&(y=D),Mx&&(x=R)}}}catch($){T=!0,E=$}finally{try{!b&&w.return&&w.return()}finally{if(T)throw E}}var P=d.x-(y+g)/2,B=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function($){return $+P}),p.yCoords=p.yCoords.map(function($){return $+B})}else{Object.keys(p).forEach(function($){var V=p[$],X=V.getRect().x,Q=V.getRect().x+V.getRect().width,H=V.getRect().y,ie=V.getRect().y+V.getRect().height;Xy&&(y=Q),Hx&&(x=ie)});var F=d.x-(y+g)/2,G=d.y-(x+v)/2;Object.keys(p).forEach(function($){var V=p[$];V.setCenter(V.getCenterX()+F,V.getCenterY()+G)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,T=void 0,E=void 0,w=void 0,k=void 0,S=d.descendants().not(":parent"),A=S.length,L=0;LT&&(y=T),vw&&(x=w),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,T){var E=b.cy,w=b.eles,k=w.nodes(),S=w.edges(),A=void 0,L=void 0,I=void 0,N={};b.randomize&&(A=T.nodeIndexes,L=T.xCoords,I=T.yCoords);var C=o(function($){return typeof $=="function"},"isFn"),_=o(function($,V){return C($)?$(V):$},"optFn"),D=u.calcParentsWithoutChildren(E,w),M=o(function G($,V,X,Q){for(var H=V.length,ie=0;ie0){var Z=void 0;Z=X.getGraphManager().add(X.newGraph(),ee),G(Z,le,X,Q)}}},"processChildrenList"),R=o(function($,V,X){for(var Q=0,H=0,ie=0;ie0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=Q/H:C(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),P=o(function($,V){V.fixedNodeConstraint&&($.constraints.fixedNodeConstraint=V.fixedNodeConstraint),V.alignmentConstraint&&($.constraints.alignmentConstraint=V.alignmentConstraint),V.relativePlacementConstraint&&($.constraints.relativePlacementConstraint=V.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var B=new h,F=B.newGraphManager();return M(F.addRoot(),u.getTopMostNodes(k),B,b),R(B,F,S),P(B,b),B.runLayout(),N},"coseLayout");a.exports={coseLayout:v}}),212:((a,s,l)=>{var u=(function(){function b(T,E){for(var w=0;w0)if(R){var F=d.getTopMostNodes(w.eles.nodes());if(C=d.connectComponents(k,w.eles,F),C.forEach(function(ke){var we=ke.boundingBox();_.push({x:we.x1+we.w/2,y:we.y1+we.h/2})}),w.randomize&&C.forEach(function(ke){w.eles=ke,A.push(m(w))}),w.quality=="default"||w.quality=="proof"){var G=k.collection();if(w.tile){var $=new Map,V=[],X=[],Q=0,H={nodeIndexes:$,xCoords:V,yCoords:X},ie=[];if(C.forEach(function(ke,we){ke.edges().length==0&&(ke.nodes().forEach(function(_e,$e){G.merge(ke.nodes()[$e]),_e.isParent()||(H.nodeIndexes.set(ke.nodes()[$e].id(),Q++),H.xCoords.push(ke.nodes()[0].position().x),H.yCoords.push(ke.nodes()[0].position().y))}),ie.push(we))}),G.length>1){var Y=G.boundingBox();_.push({x:Y.x1+Y.w/2,y:Y.y1+Y.h/2}),C.push(G),A.push(H);for(var le=ie.length-1;le>=0;le--)C.splice(ie[le],1),A.splice(ie[le],1),_.splice(ie[le],1)}}C.forEach(function(ke,we){w.eles=ke,N.push(y(w,A[we])),d.relocateComponent(_[we],N[we],w)})}else C.forEach(function(ke,we){d.relocateComponent(_[we],A[we],w)});var ee=new Set;if(C.length>1){var J=[],te=S.filter(function(ke){return ke.css("display")=="none"});C.forEach(function(ke,we){var _e=void 0;if(w.quality=="draft"&&(_e=A[we].nodeIndexes),ke.nodes().not(te).length>0){var $e={};$e.edges=[],$e.nodes=[];var fe=void 0;ke.nodes().not(te).forEach(function(Ke){if(w.quality=="draft")if(!Ke.isParent())fe=_e.get(Ke.id()),$e.nodes.push({x:A[we].xCoords[fe]-Ke.boundingbox().w/2,y:A[we].yCoords[fe]-Ke.boundingbox().h/2,width:Ke.boundingbox().w,height:Ke.boundingbox().h});else{var Te=d.calcBoundingBox(Ke,A[we].xCoords,A[we].yCoords,_e);$e.nodes.push({x:Te.topLeftX,y:Te.topLeftY,width:Te.width,height:Te.height})}else N[we][Ke.id()]&&$e.nodes.push({x:N[we][Ke.id()].getLeft(),y:N[we][Ke.id()].getTop(),width:N[we][Ke.id()].getWidth(),height:N[we][Ke.id()].getHeight()})}),ke.edges().forEach(function(Ke){var Te=Ke.source(),Be=Ke.target();if(Te.css("display")!="none"&&Be.css("display")!="none")if(w.quality=="draft"){var Ue=_e.get(Te.id()),Ge=_e.get(Be.id()),Ne=[],We=[];if(Te.isParent()){var j=d.calcBoundingBox(Te,A[we].xCoords,A[we].yCoords,_e);Ne.push(j.topLeftX+j.width/2),Ne.push(j.topLeftY+j.height/2)}else Ne.push(A[we].xCoords[Ue]),Ne.push(A[we].yCoords[Ue]);if(Be.isParent()){var ae=d.calcBoundingBox(Be,A[we].xCoords,A[we].yCoords,_e);We.push(ae.topLeftX+ae.width/2),We.push(ae.topLeftY+ae.height/2)}else We.push(A[we].xCoords[Ge]),We.push(A[we].yCoords[Ge]);$e.edges.push({startX:Ne[0],startY:Ne[1],endX:We[0],endY:We[1]})}else N[we][Te.id()]&&N[we][Be.id()]&&$e.edges.push({startX:N[we][Te.id()].getCenterX(),startY:N[we][Te.id()].getCenterY(),endX:N[we][Be.id()].getCenterX(),endY:N[we][Be.id()].getCenterY()})}),$e.nodes.length>0&&(J.push($e),ee.add(we))}});var Z=M.packComponents(J,w.randomize).shifts;if(w.quality=="draft")A.forEach(function(ke,we){var _e=ke.xCoords.map(function(fe){return fe+Z[we].dx}),$e=ke.yCoords.map(function(fe){return fe+Z[we].dy});ke.xCoords=_e,ke.yCoords=$e});else{var xe=0;ee.forEach(function(ke){Object.keys(N[ke]).forEach(function(we){var _e=N[ke][we];_e.setCenter(_e.getCenterX()+Z[xe].dx,_e.getCenterY()+Z[xe].dy)}),xe++})}}}else{var P=w.eles.boundingBox();if(_.push({x:P.x1+P.w/2,y:P.y1+P.h/2}),w.randomize){var B=m(w);A.push(B)}w.quality=="default"||w.quality=="proof"?(N.push(y(w,A[0])),d.relocateComponent(_[0],N[0],w)):d.relocateComponent(_[0],A[0],w)}var de=o(function(we,_e){if(w.quality=="default"||w.quality=="proof"){typeof we=="number"&&(we=_e);var $e=void 0,fe=void 0,Ke=we.data("id");return N.forEach(function(Be){Ke in Be&&($e={x:Be[Ke].getRect().getCenterX(),y:Be[Ke].getRect().getCenterY()},fe=Be[Ke])}),w.nodeDimensionsIncludeLabels&&(fe.labelWidth&&(fe.labelPosHorizontal=="left"?$e.x+=fe.labelWidth/2:fe.labelPosHorizontal=="right"&&($e.x-=fe.labelWidth/2)),fe.labelHeight&&(fe.labelPosVertical=="top"?$e.y+=fe.labelHeight/2:fe.labelPosVertical=="bottom"&&($e.y-=fe.labelHeight/2))),$e==null&&($e={x:we.position("x"),y:we.position("y")}),{x:$e.x,y:$e.y}}else{var Te=void 0;return A.forEach(function(Be){var Ue=Be.nodeIndexes.get(we.id());Ue!=null&&(Te={x:Be.xCoords[Ue],y:Be.yCoords[Ue]})}),Te==null&&(Te={x:we.position("x"),y:we.position("y")}),{x:Te.x,y:Te.y}}},"getPositions");if(w.quality=="default"||w.quality=="proof"||w.randomize){var Se=d.calcParentsWithoutChildren(k,S),Me=S.filter(function(ke){return ke.css("display")=="none"});w.eles=S.not(Me),S.nodes().not(":parent").not(Me).layoutPositions(E,w,de),Se.length>0&&Se.forEach(function(ke){ke.position(de(ke))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b})();a.exports=x}),657:((a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,T=new Map,E=new Map,w=[],k=[],S=[],A=[],L=[],I=[],N=[],C=[],_=void 0,D=void 0,M=1e8,R=1e-9,P=m.piTol,B=m.samplingType,F=m.nodeSeparation,G=void 0,$=o(function(){for(var ce=0,z=0,ne=!1;z=be;){me=se[be++];for(var Xe=w[me],oe=0;oeIe&&(Ie=L[he],qe=he)}return qe},"BFS"),X=o(function(ce){var z=void 0;if(ce){z=Math.floor(Math.random()*D),_=z;for(var se=0;se=1)break;Ie=ge}for(var Xe=0;Xe=1)break;Ie=ge}for(var et=0;et0&&(z.isParent()?w[ce].push(E.get(z.id())):w[ce].push(z.id()))})});var Se=o(function(ce){var z=T.get(ce),ne=void 0;b.get(ce).forEach(function(se){g.getElementById(se).isParent()?ne=E.get(se):ne=se,w[z].push(ne),w[T.get(ne)].push(ce)})},"_loop"),Me=!0,ke=!1,we=void 0;try{for(var _e=b.keys()[Symbol.iterator](),$e;!(Me=($e=_e.next()).done);Me=!0){var fe=$e.value;Se(fe)}}catch(U){ke=!0,we=U}finally{try{!Me&&_e.return&&_e.return()}finally{if(ke)throw we}}D=T.size;var Ke=void 0;if(D>2){G=D{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h}),140:(a=>{a.exports=t})},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(579);return i})()})});var Qv,rg,BW=O(()=>{"use strict";Xc();Qv=o(t=>`${t}`,"wrapIcon"),rg={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Qv('')},server:{body:Qv('')},disk:{body:Qv('')},internet:{body:Qv('')},cloud:{body:Qv('')},unknown:yD,blank:{body:Qv("")}}}});var LCe,NCe,MCe,ICe,OCe=O(()=>{"use strict";jt();co();Xc();Ur();BW();k_();ar();LCe=o(async function(t,e,r){let n=r.getConfigField("padding"),i=r.getConfigField("iconSize"),a=i/2,s=i/6,l=s/2;await Promise.all(e.edges().map(async u=>{let{source:h,sourceDir:f,sourceArrow:d,sourceGroup:p,target:m,targetDir:g,targetArrow:y,targetGroup:v,label:x}=w_(u),{x:b,y:T}=u[0].sourceEndpoint(),{x:E,y:w}=u[0].midpoint(),{x:k,y:S}=u[0].targetEndpoint(),A=n+4;if(p&&(vs(f)?b+=f==="L"?-A:A:T+=f==="T"?-A:A+18),v&&(vs(g)?k+=g==="L"?-A:A:S+=g==="T"?-A:A+18),!p&&r.getNode(h)?.type==="junction"&&(vs(f)?b+=f==="L"?a:-a:T+=f==="T"?a:-a),!v&&r.getNode(m)?.type==="junction"&&(vs(g)?k+=g==="L"?a:-a:S+=g==="T"?a:-a),u[0]._private.rscratch){let L=t.insert("g");if(L.insert("path").attr("d",`M ${b},${T} L ${E},${w} L${k},${S} `).attr("class","edge").attr("id",hu(h,m,{prefix:"L"})),d){let I=vs(f)?C3[f](b,s):b-l,N=Zu(f)?C3[f](T,s):T-l;L.insert("polygon").attr("points",_W[f](s)).attr("transform",`translate(${I},${N})`).attr("class","arrow")}if(y){let I=vs(g)?C3[g](k,s):k-l,N=Zu(g)?C3[g](S,s):S-l;L.insert("polygon").attr("points",_W[g](s)).attr("transform",`translate(${I},${N})`).attr("class","arrow")}if(x){let I=A3(f,g)?"XY":vs(f)?"X":"Y",N=0;I==="X"?N=Math.abs(b-k):I==="Y"?N=Math.abs(T-S)/1.5:N=Math.abs(b-k)/2;let C=L.append("g");if(await Fn(C,x,{useHtmlLabels:!1,width:N,classes:"architecture-service-label"},ve()),C.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),I==="X")C.attr("transform","translate("+E+", "+w+")");else if(I==="Y")C.attr("transform","translate("+E+", "+w+") rotate(-90)");else if(I==="XY"){let _=_3(f,g);if(_&&TCe(_)){let D=C.node().getBoundingClientRect(),[M,R]=kCe(_);C.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*M*R*45})`);let P=C.node().getBoundingClientRect();C.attr("transform",` + translate(${E}, ${w-D.height/2}) + translate(${M*P.width/2}, ${R*P.height/2}) + rotate(${-1*M*R*45}, 0, ${D.height/2}) + `)}}}}}))},"drawEdges"),NCe=o(async function(t,e,r){let i=r.getConfigField("padding")*.75,a=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{let h=Tp(u);if(h.type==="group"){let{h:f,w:d,x1:p,y1:m}=u.boundingBox(),g=t.append("rect");g.attr("id",`group-${h.id}`).attr("x",p+l).attr("y",m+l).attr("width",d).attr("height",f).attr("class","node-bkg");let y=t.append("g"),v=p,x=m;if(h.icon){let b=y.append("g");b.html(`${await eo(h.icon,{height:i,width:i,fallbackPrefix:rg.prefix})}`),b.attr("transform","translate("+(v+l+1)+", "+(x+l+1)+")"),v+=i,x+=a/2-1-2}if(h.label){let b=y.append("g");await Fn(b,h.label,{useHtmlLabels:!1,width:d,classes:"architecture-service-label"},ve()),b.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),b.attr("transform","translate("+(v+l+4)+", "+(x+l+2)+")")}r.setElementForId(h.id,g)}}))},"drawGroups"),MCe=o(async function(t,e,r){let n=ve();for(let i of r){let a=e.append("g"),s=t.getConfigField("iconSize");if(i.title){let f=a.append("g");await Fn(f,i.title,{useHtmlLabels:!1,width:s*1.5,classes:"architecture-service-label"},n),f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),f.attr("transform","translate("+s/2+", "+s+")")}let l=a.append("g");if(i.icon)l.html(`${await eo(i.icon,{height:s,width:s,fallbackPrefix:rg.prefix})}`);else if(i.iconText){l.html(`${await eo("blank",{height:s,width:s,fallbackPrefix:rg.prefix})}`);let p=l.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(wr(i.iconText,n)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id","node-"+i.id).attr("d",`M0,${s} V5 Q0,0 5,0 H${s-5} Q${s},0 ${s},5 V${s} Z`);a.attr("id",`service-${i.id}`).attr("class","architecture-service");let{width:u,height:h}=a.node().getBBox();i.width=u,i.height=h,t.setElementForId(i.id,a)}return 0},"drawServices"),ICe=o(function(t,e,r){r.forEach(n=>{let i=e.append("g"),a=t.getConfigField("iconSize");i.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",a).attr("height",a),i.attr("class","architecture-junction");let{width:l,height:u}=i._groups[0][0].getBBox();i.width=l,i.height=u,t.setElementForId(n.id,i)})},"drawJunctions")});function Tpt(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}function wpt(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}function kpt(t,e){e.nodes().map(r=>{let n=Tp(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}function Ept(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}function Spt(t,e){t.forEach(r=>{let{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=A3(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${n}-${i}`,label:d,source:n,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:i,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function Cpt(t,e,r){let n=o((l,u)=>Object.entries(l).reduce((h,[f,d])=>{let p=0,m=Object.entries(d);if(m.length===1)return h[f]=m[0][1],h;for(let g=0;g{let u={},h={};return Object.entries(l).forEach(([f,[d,p]])=>{let m=t.getNode(f)?.in??"default";u[p]??={},u[p][m]??=[],u[p][m].push(f),h[d]??={},h[d][m]??=[],h[d][m].push(f)}),{horiz:Object.values(n(u,"horizontal")).filter(f=>f.length>1),vert:Object.values(n(h,"vertical")).filter(f=>f.length>1)}}),[a,s]=i.reduce(([l,u],{horiz:h,vert:f})=>[[...l,...h],[...u,...f]],[[],[]]);return{horizontal:a,vertical:s}}function Apt(t,e){let r=[],n=o(a=>`${a[0]},${a[1]}`,"posToStr"),i=o(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{let s=Object.fromEntries(Object.entries(a).map(([f,d])=>[n(d),f])),l=[n([0,0])],u={},h={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;l.length>0;){let f=l.shift();if(f){u[f]=1;let d=s[f];if(d){let p=i(f);Object.entries(h).forEach(([m,g])=>{let y=n([p[0]+g[0],p[1]+g[1]]),v=s[y];v&&!u[y]&&(l.push(y),r.push({[AW[m]]:v,[AW[bCe(m)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}function _pt(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(l=>{let u=je("body").append("div").attr("id","cy").attr("style","display:none"),h=Il({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});u.remove(),Ept(r,h),Tpt(t,h,i),wpt(e,h,i),Spt(n,h);let f=Cpt(i,a,s),d=Apt(a,i),p=h.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(m){let[g,y]=m.connectedNodes(),{parent:v}=Tp(g),{parent:x}=Tp(y);return v===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(m){let[g,y]=m.connectedNodes(),{parent:v}=Tp(g),{parent:x}=Tp(y);return v===x?.45:.001},alignmentConstraint:f,relativePlacementConstraint:d});p.one("layoutstop",()=>{function m(g,y,v,x){let b,T,{x:E,y:w}=g,{x:k,y:S}=y;T=(x-w+(E-v)*(w-S)/(E-k))/Math.sqrt(1+Math.pow((w-S)/(E-k),2)),b=Math.sqrt(Math.pow(x-w,2)+Math.pow(v-E,2)-Math.pow(T,2));let A=Math.sqrt(Math.pow(k-E,2)+Math.pow(S-w,2));b=b/A;let L=(k-E)*(x-w)-(S-w)*(v-E);switch(!0){case L>=0:L=1;break;case L<0:L=-1;break}let I=(k-E)*(v-E)+(S-w)*(x-w);switch(!0){case I>=0:I=1;break;case I<0:I=-1;break}return T=Math.abs(T)*L,b=b*I,{distances:T,weights:b}}o(m,"getSegmentWeights"),h.startBatch();for(let g of Object.values(h.edges()))if(g.data?.()){let{x:y,y:v}=g.source().position(),{x,y:b}=g.target().position();if(y!==x&&v!==b){let T=g.sourceEndpoint(),E=g.targetEndpoint(),{sourceDir:w}=w_(g),[k,S]=Zu(w)?[T.x,E.y]:[E.x,T.y],{weights:A,distances:L}=m(T,E,k,S);g.style("segment-distances",L),g.style("segment-weights",A)}}h.endBatch(),p.run()}),p.run(),h.ready(m=>{K.info("Ready",m),l(h)})})}var PCe,Dpt,BCe,FCe=O(()=>{"use strict";SB();PCe=Ra(RCe(),1);Ar();xt();Xc();Ul();Ti();BW();k_();OCe();Nw([{name:rg.prefix,icons:rg}]);Il.use(PCe.default);o(Tpt,"addServices");o(wpt,"addJunctions");o(kpt,"positionNodes");o(Ept,"addGroups");o(Spt,"addEdges");o(Cpt,"getAlignments");o(Apt,"getRelativeConstraints");o(_pt,"layoutArchitecture");Dpt=o(async(t,e,r,n)=>{let i=n.db,a=i.getServices(),s=i.getJunctions(),l=i.getGroups(),u=i.getEdges(),h=i.getDataStructures(),f=Ii(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await MCe(i,p,a),ICe(i,p,s);let g=await _pt(a,s,l,u,i,h);await LCe(d,g,i),await NCe(m,g,i),kpt(i,g),Kc(void 0,f,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),BCe={draw:Dpt}});var $Ce={};vr($Ce,{diagram:()=>Rpt});var Rpt,zCe=O(()=>{"use strict";ACe();RW();DCe();FCe();Rpt={parser:LW,get db(){return new Kv},renderer:BCe,styles:_Ce}});var FW,qCe,UCe=O(()=>{"use strict";FW=(function(){var t=o(function(x,b,T,E){for(T=T||{},E=x.length;E--;T[x[E]]=b);return T},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],l=[1,18],u=[1,19],h=[6,7,11],f=[1,6,13,14],d=[1,23],p=[1,24],m=[1,6,7,11,13,14],g={trace:o(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:o(function(b,T,E,w,k,S,A){var L=S.length-1;switch(k){case 6:case 7:return w;case 15:w.addNode(S[L-1].length,S[L].trim());break;case 16:w.addNode(0,S[L].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:l,10:17,11:u},t(h,[2,18],{14:[1,21]}),t(h,[2,16]),t(h,[2,17]),{6:s,7:l,10:22,11:u},{1:[2,7],6:r,12:15,13:n,14:i},t(f,[2,14],{7:d,11:p}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(h,[2,15]),t(f,[2,13],{7:d,11:p}),t(m,[2,11]),t(m,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(b,T){if(T.recoverable)this.trace(b);else{var E=new Error(b);throw E.hash=T,E}},"parseError"),parse:o(function(b){var T=this,E=[0],w=[],k=[null],S=[],A=this.table,L="",I=0,N=0,C=0,_=2,D=1,M=S.slice.call(arguments,1),R=Object.create(this.lexer),P={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(P.yy[B]=this.yy[B]);R.setInput(b,P.yy),P.yy.lexer=R,P.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var F=R.yylloc;S.push(F);var G=R.options&&R.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $(Se){E.length=E.length-2*Se,k.length=k.length-Se,S.length=S.length-Se}o($,"popStack");function V(){var Se;return Se=w.pop()||R.lex()||D,typeof Se!="number"&&(Se instanceof Array&&(w=Se,Se=w.pop()),Se=T.symbols_[Se]||Se),Se}o(V,"lex");for(var X,Q,H,ie,Y,le,ee={},J,te,Z,xe;;){if(H=E[E.length-1],this.defaultActions[H]?ie=this.defaultActions[H]:((X===null||typeof X>"u")&&(X=V()),ie=A[H]&&A[H][X]),typeof ie>"u"||!ie.length||!ie[0]){var de="";xe=[];for(J in A[H])this.terminals_[J]&&J>_&&xe.push("'"+this.terminals_[J]+"'");R.showPosition?de="Parse error on line "+(I+1)+`: +`+R.showPosition()+` +Expecting `+xe.join(", ")+", got '"+(this.terminals_[X]||X)+"'":de="Parse error on line "+(I+1)+": Unexpected "+(X==D?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(de,{text:R.match,token:this.terminals_[X]||X,line:R.yylineno,loc:F,expected:xe})}if(ie[0]instanceof Array&&ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+X);switch(ie[0]){case 1:E.push(X),k.push(R.yytext),S.push(R.yylloc),E.push(ie[1]),X=null,Q?(X=Q,Q=null):(N=R.yyleng,L=R.yytext,I=R.yylineno,F=R.yylloc,C>0&&C--);break;case 2:if(te=this.productions_[ie[1]][1],ee.$=k[k.length-te],ee._$={first_line:S[S.length-(te||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(te||1)].first_column,last_column:S[S.length-1].last_column},G&&(ee._$.range=[S[S.length-(te||1)].range[0],S[S.length-1].range[1]]),le=this.performAction.apply(ee,[L,N,I,P.yy,ie[1],k,S].concat(M)),typeof le<"u")return le;te&&(E=E.slice(0,-1*te*2),k=k.slice(0,-1*te),S=S.slice(0,-1*te)),E.push(this.productions_[ie[1]][0]),k.push(ee.$),S.push(ee._$),Z=A[E[E.length-2]][E[E.length-1]],E.push(Z);break;case 3:return!0}}return!0},"parse")},y=(function(){var x={EOF:1,parseError:o(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:o(function(b,T){return this.yy=T||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var T=b.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},"input"),unput:o(function(b){var T=b.length,E=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var w=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 k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===w.length?this.yylloc.first_column:0)+w[w.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more: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(b){this.unput(this.match.slice(b))},"less"),pastInput:o(function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var b=this.pastInput(),T=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+T+"^"},"showPosition"),test_match:o(function(b,T){var E,w,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),w=b[0].match(/(?:\r\n?|\n).*/g),w&&(this.yylineno+=w.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:w?w[w.length-1].length-w[w.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var S in k)this[S]=k[S];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,T,E,w;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),S=0;ST[0].length)){if(T=E,w=S,this.options.backtrack_lexer){if(b=this.test_match(E,k[S]),b!==!1)return b;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(b=this.test_match(T,k[w]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var T=this.next();return T||this.lex()},"lex"),begin:o(function(T){this.conditionStack.push(T)},"begin"),popState:o(function(){var T=this.conditionStack.length-1;return T>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(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:o(function(T){this.begin(T)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(T,E,w,k){var S=k;switch(w){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 x})();g.lexer=y;function v(){this.yy={}}return o(v,"Parser"),v.prototype=g,g.Parser=v,new v})();FW.parser=FW;qCe=FW});var E_,WCe=O(()=>{"use strict";jt();Ur();si();E_=class{constructor(){this.stack=[];this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{o(this,"IshikawaDB")}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,_r()}getRoot(){return this.root}addNode(e,r){let n=st.sanitizeText(r,ve());if(!this.root){this.baseLevel=e,this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],zr(n);return}let i=e-(this.baseLevel??0);for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();let a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return Or()}setAccTitle(e){Lr(e)}getAccDescription(){return Br()}setAccDescription(e){Pr(e)}getDiagramTitle(){return Fr()}setDiagramTitle(e){zr(e)}}});var Ipt,Zv,Opt,Ppt,Bpt,QCe,HCe,YCe,jCe,Fpt,XCe,$pt,zpt,Gpt,$W,Vpt,qpt,ZCe,S_,KCe,Jv,JCe,e6e=O(()=>{"use strict";jt();Ul();Ti();ar();Wt();Ipt=14,Zv=250,Opt=30,Ppt=60,Bpt=5,QCe=82*Math.PI/180,HCe=Math.cos(QCe),YCe=Math.sin(QCe),jCe=o((t,e,r)=>{let n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Zr(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Fpt=o((t,e,r,n)=>{let a=n.db.getRoot();if(!a)return;let s=ve(),{look:l,handDrawnSeed:u,themeVariables:h}=s,f=Uo(s.fontSize)[0]??Ipt,d=l==="handDrawn",p=a.children??[],m=s.ishikawa?.diagramPadding??20,g=s.ishikawa?.useMaxWidth??!1,y=Ii(e),v=y.append("g").attr("class","ishikawa"),x=d?Je.svg(y.node()):void 0,b=x?{roughSvg:x,seed:u??0,lineColor:h?.lineColor??"#333",fillColor:h?.mainBkg??"#fff"}:void 0,T=`ishikawa-arrow-${e}`;d||v.append("defs").append("marker").attr("id",T).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 E=0,w=Zv,k=d?void 0:Jv(v,E,w,E,w,"ishikawa-spine");if($pt(v,E,w,a.text,f,b),!p.length){d&&Jv(v,E,w,E,w,"ishikawa-spine",b),jCe(y,m,g);return}E-=20;let S=p.filter((R,P)=>P%2===0),A=p.filter((R,P)=>P%2===1),L=XCe(S),I=XCe(A),N=L.total+I.total,C=Zv,_=Zv;if(N>0){let R=Zv*2,P=Zv*.3;C=Math.max(P,R*(L.total/N)),_=Math.max(P,R*(I.total/N))}let D=f*2;C=Math.max(C,L.max*D),_=Math.max(_,I.max*D),w=Math.max(C,Zv),k&&k.attr("y1",w).attr("y2",w),v.select(".ishikawa-head-group").attr("transform",`translate(0,${w})`);let M=Math.ceil(p.length/2);for(let R=0;RMath.min(B,F.getBBox().x),1/0)}if(d)Jv(v,E,w,0,w,"ishikawa-spine",b);else{k.attr("x1",E);let R=`url(#${T})`;v.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",R)}jCe(y,m,g)},"draw"),XCe=o(t=>{let e=o(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{let i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),$pt=o((t,e,r,n,i,a)=>{let s=Math.max(6,Math.floor(110/(i*.6))),l=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),u=S_(l,ZCe(n,s),0,0,"ishikawa-head-label","start",i),h=u.node().getBBox(),f=Math.max(60,h.width+6),d=Math.max(40,h.height*2+40),p=`M 0 ${-d/2} L 0 ${d/2} Q ${f*2.4} 0 0 ${-d/2} Z`;if(a){let m=a.roughSvg.path(p,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});l.insert(()=>m,":first-child").attr("class","ishikawa-head")}else l.insert("path",":first-child").attr("class","ishikawa-head").attr("d",p);u.attr("transform",`translate(${(f-h.width)/2-h.x+3},${-h.y-h.height/2})`)},"drawHead"),zpt=o((t,e)=>{let r=[],n=[],i=o((a,s,l)=>{let u=e===-1?[...a].reverse():a;for(let h of u){let f=r.length,d=h.children??[];r.push({depth:l,text:ZCe(h.text,15),parentIndex:s,childCount:d.length}),l%2===0?(n.push(f),d.length&&i(d,f,l+1)):(d.length&&i(d,f,l+1),n.push(f))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),Gpt=o((t,e,r,n,i,a,s)=>{let l=t.append("g").attr("class","ishikawa-label-group"),h=S_(l,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){let f=s.roughSvg.rectangle(h.x-20,h.y-2,h.width+40,h.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});l.insert(()=>f,":first-child").attr("class","ishikawa-label-box")}else l.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",h.x-20).attr("y",h.y-2).attr("width",h.width+40).attr("height",h.height+4)},"drawCauseLabel"),$W=o((t,e,r,n,i,a)=>{let s=Math.sqrt(n*n+i*i);if(s===0)return;let l=n/s,u=i/s,h=6,f=-u*h,d=l*h,p=e,m=r,g=`M ${p} ${m} L ${p-l*h*2+f} ${m-u*h*2+d} L ${p-l*h*2-f} ${m-u*h*2-d} Z`,y=a.roughSvg.path(g,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>y)},"drawArrowMarker"),Vpt=o((t,e,r,n,i,a,s,l)=>{let u=e.children??[],h=a*(u.length?1:.2),f=-HCe*h,d=YCe*h*i,p=r+f,m=n+d;if(Jv(t,r,n,p,m,"ishikawa-branch",l),l&&$W(t,r,n,r-p,n-m,l),Gpt(t,e.text,p,m,i,s,l),!u.length)return;let{entries:g,yOrder:y}=zpt(u,i),v=g.length,x=new Array(v);for(let[k,S]of y.entries())x[S]=n+d*((k+1)/(v+1));let b=new Map;b.set(-1,{x0:r,y0:n,x1:p,y1:m,childCount:u.length,childrenDrawn:0});let T=-HCe,E=YCe*i,w=i<0?"ishikawa-label up":"ishikawa-label down";for(let[k,S]of g.entries()){let A=x[k],L=b.get(S.parentIndex),I=t.append("g").attr("class","ishikawa-sub-group"),N=0,C=0,_=0;if(S.depth%2===0){let D=L.y1-L.y0;N=KCe(L.x0,L.x1,D?(A-L.y0)/D:.5),C=A,_=N-(S.childCount>0?Ppt+S.childCount*Bpt:Opt),Jv(I,N,A,_,A,"ishikawa-sub-branch",l),l&&$W(I,N,A,1,0,l),S_(I,S.text,_,A,"ishikawa-label align","end",s)}else{let D=L.childrenDrawn++;N=KCe(L.x0,L.x1,(L.childCount-D)/(L.childCount+1)),C=L.y0,_=N+T*((A-C)/E),Jv(I,N,C,_,A,"ishikawa-sub-branch",l),l&&$W(I,N,C,N-_,C-A,l),S_(I,S.text,_,A,w,"end",s)}S.childCount>0&&b.set(k,{x0:N,y0:C,x1:_,y1:A,childCount:S.childCount,childrenDrawn:0})}},"drawBranch"),qpt=o(t=>t.split(/|\n/),"splitLines"),ZCe=o((t,e)=>{if(t.length<=e)return t;let r=[];for(let n of t.split(/\s+/)){let i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(` +`)},"wrapText"),S_=o((t,e,r,n,i,a,s)=>{let l=qpt(e),u=s*1.05,h=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(l.length-1)*u/2);for(let[f,d]of l.entries())h.append("tspan").attr("x",r).attr("dy",f===0?0:u).text(d);return h},"drawMultilineText"),KCe=o((t,e,r)=>t+(e-t)*r,"lerp"),Jv=o((t,e,r,n,i,a,s)=>{if(s){let l=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>l).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),JCe={draw:Fpt}});var Upt,t6e,r6e=O(()=>{"use strict";Upt=o(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"),t6e=Upt});var n6e={};vr(n6e,{diagram:()=>Wpt});var Wpt,i6e=O(()=>{"use strict";UCe();WCe();e6e();r6e();Wpt={parser:qCe,get db(){return new E_},renderer:JCe,styles:t6e}});var zW,o6e,l6e=O(()=>{"use strict";zW=(function(){var t=o(function(b,T,E,w){for(E=E||{},w=b.length;w--;E[b[w]]=T);return E},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],l=[1,39],u=[7,8,11,12,17,19,22,24,27],h=[1,57],f=[1,56],d=[1,58],p=[1,59],m=[1,60],g=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],y={trace:o(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:o(function(T,E,w,k,S,A,L){var I=A.length-1;switch(S){case 1:return A[I-1];case 2:case 3:case 4:this.$=[];break;case 5:A[I-1].push(A[I]),this.$=A[I-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=A[I];break;case 8:k.setDiagramTitle(A[I].substr(6)),this.$=A[I].substr(6);break;case 9:k.addSubsetData([A[I]],void 0,void 0),k.setIndentMode&&k.setIndentMode(!0);break;case 10:k.addSubsetData([A[I-1]],A[I],void 0),k.setIndentMode&&k.setIndentMode(!0);break;case 11:k.addSubsetData([A[I-2]],void 0,parseFloat(A[I])),k.setIndentMode&&k.setIndentMode(!0);break;case 12:k.addSubsetData([A[I-3]],A[I-2],parseFloat(A[I])),k.setIndentMode&&k.setIndentMode(!0);break;case 13:if(A[I].length<2)throw new Error("union requires multiple identifiers");k.validateUnionIdentifiers&&k.validateUnionIdentifiers(A[I]),k.addSubsetData(A[I],void 0,void 0),k.setIndentMode&&k.setIndentMode(!0);break;case 14:if(A[I-1].length<2)throw new Error("union requires multiple identifiers");k.validateUnionIdentifiers&&k.validateUnionIdentifiers(A[I-1]),k.addSubsetData(A[I-1],A[I],void 0),k.setIndentMode&&k.setIndentMode(!0);break;case 15:if(A[I-2].length<2)throw new Error("union requires multiple identifiers");k.validateUnionIdentifiers&&k.validateUnionIdentifiers(A[I-2]),k.addSubsetData(A[I-2],void 0,parseFloat(A[I])),k.setIndentMode&&k.setIndentMode(!0);break;case 16:if(A[I-3].length<2)throw new Error("union requires multiple identifiers");k.validateUnionIdentifiers&&k.validateUnionIdentifiers(A[I-3]),k.addSubsetData(A[I-3],A[I-2],parseFloat(A[I])),k.setIndentMode&&k.setIndentMode(!0);break;case 17:case 18:case 19:k.addTextData(A[I-1],A[I],void 0);break;case 20:case 21:k.addTextData(A[I-2],A[I-1],A[I]);break;case 23:k.addStyleData(A[I-1],A[I]);break;case 24:case 25:case 26:var N=k.getCurrentSets();if(!N)throw new Error("text requires set");k.addTextData(N,A[I],void 0);break;case 27:case 28:var N=k.getCurrentSets();if(!N)throw new Error("text requires set");k.addTextData(N,A[I-1],A[I]);break;case 29:case 41:this.$=[A[I]];break;case 30:case 42:this.$=[...A[I-2],A[I]];break;case 31:this.$=[A[I-2],A[I]];break;case 33:this.$=A[I].join(" ");break;case 34:this.$=[A[I]];break;case 35:A[I-1].push(A[I]),this.$=A[I-1];break;case 43:case 44:this.$=A[I];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:l,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(u,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:l,26:51},{16:h,20:f,21:[1,53],28:52,29:54,30:55,31:d,32:p,33:m},t(r,[2,12]),t(r,[2,16]),t(u,[2,30]),t(u,[2,31]),t(u,[2,32]),t(u,[2,33],{30:61,16:h,20:f,31:d,32:p,33:m}),t(g,[2,34]),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,40]),t(g,[2,35])],defaultActions:{6:[2,1]},parseError:o(function(T,E){if(E.recoverable)this.trace(T);else{var w=new Error(T);throw w.hash=E,w}},"parseError"),parse:o(function(T){var E=this,w=[0],k=[],S=[null],A=[],L=this.table,I="",N=0,C=0,_=0,D=2,M=1,R=A.slice.call(arguments,1),P=Object.create(this.lexer),B={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(B.yy[F]=this.yy[F]);P.setInput(T,B.yy),B.yy.lexer=P,B.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var G=P.yylloc;A.push(G);var $=P.options&&P.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function V(Me){w.length=w.length-2*Me,S.length=S.length-Me,A.length=A.length-Me}o(V,"popStack");function X(){var Me;return Me=k.pop()||P.lex()||M,typeof Me!="number"&&(Me instanceof Array&&(k=Me,Me=k.pop()),Me=E.symbols_[Me]||Me),Me}o(X,"lex");for(var Q,H,ie,Y,le,ee,J={},te,Z,xe,de;;){if(ie=w[w.length-1],this.defaultActions[ie]?Y=this.defaultActions[ie]:((Q===null||typeof Q>"u")&&(Q=X()),Y=L[ie]&&L[ie][Q]),typeof Y>"u"||!Y.length||!Y[0]){var Se="";de=[];for(te in L[ie])this.terminals_[te]&&te>D&&de.push("'"+this.terminals_[te]+"'");P.showPosition?Se="Parse error on line "+(N+1)+`: +`+P.showPosition()+` +Expecting `+de.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":Se="Parse error on line "+(N+1)+": Unexpected "+(Q==M?"end of input":"'"+(this.terminals_[Q]||Q)+"'"),this.parseError(Se,{text:P.match,token:this.terminals_[Q]||Q,line:P.yylineno,loc:G,expected:de})}if(Y[0]instanceof Array&&Y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ie+", token: "+Q);switch(Y[0]){case 1:w.push(Q),S.push(P.yytext),A.push(P.yylloc),w.push(Y[1]),Q=null,H?(Q=H,H=null):(C=P.yyleng,I=P.yytext,N=P.yylineno,G=P.yylloc,_>0&&_--);break;case 2:if(Z=this.productions_[Y[1]][1],J.$=S[S.length-Z],J._$={first_line:A[A.length-(Z||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(Z||1)].first_column,last_column:A[A.length-1].last_column},$&&(J._$.range=[A[A.length-(Z||1)].range[0],A[A.length-1].range[1]]),ee=this.performAction.apply(J,[I,C,N,B.yy,Y[1],S,A].concat(R)),typeof ee<"u")return ee;Z&&(w=w.slice(0,-1*Z*2),S=S.slice(0,-1*Z),A=A.slice(0,-1*Z)),w.push(this.productions_[Y[1]][0]),S.push(J.$),A.push(J._$),xe=L[w[w.length-2]][w[w.length-1]],w.push(xe);break;case 3:return!0}}return!0},"parse")},v=(function(){var b={EOF:1,parseError:o(function(E,w){if(this.yy.parser)this.yy.parser.parseError(E,w);else throw new Error(E)},"parseError"),setInput:o(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:o(function(T){var E=T.length,w=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),w.length-1&&(this.yylineno-=w.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:w?(w.length===k.length?this.yylloc.first_column:0)+k[k.length-w.length].length-w[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-E]),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(T){this.unput(this.match.slice(T))},"less"),pastInput:o(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` +`+E+"^"},"showPosition"),test_match:o(function(T,E){var w,k,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),k=T[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],w=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),w)return w;if(this._backtrack){for(var A in S)this[A]=S[A];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,w,k;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),A=0;AE[0].length)){if(E=w,k=A,this.options.backtrack_lexer){if(T=this.test_match(w,S[A]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,S[k]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var E=this.next();return E||this.lex()},"lex"),begin:o(function(E){this.conditionStack.push(E)},"begin"),popState:o(function(){var E=this.conditionStack.length-1;return E>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(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:o(function(E){this.begin(E)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(E,w,k,S){var A=S;switch(k){case 0:break;case 1:break;case 2:break;case 3:if(E.getIndentMode&&E.getIndentMode())return E.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:E.setIndentMode&&E.setIndentMode(!1),this.begin("INITIAL"),this.unput(w.yytext);break;case 6:return this.begin("bol"),8;break;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(E.consumeIndentText)E.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return w.yytext=w.yytext.slice(2,-2),14;break;case 17:return w.yytext=w.yytext.slice(1,-1).trim(),14;break;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return b})();y.lexer=v;function x(){this.yy={}}return o(x,"Parser"),x.prototype=y,y.Parser=x,new x})();zW.parser=zW;o6e=zW});function s0t(){return Pn(a0t,Zt().venn)}var GW,VW,qW,UW,WW,HW,jpt,Xpt,N3,Kpt,Qpt,Zpt,Jpt,C_,e0t,t0t,r0t,n0t,i0t,a0t,o0t,c6e,u6e=O(()=>{"use strict";ar();$r();si();La();GW=[],VW=[],qW=[],UW=new Set,HW=!1,jpt=o((t,e,r)=>{let n=C_(t).sort(),i=r??10/Math.pow(t.length,2);WW=n,n.length===1&&UW.add(n[0]),GW.push({sets:n,size:i,label:e?N3(e):void 0})},"addSubsetData"),Xpt=o(()=>GW,"getSubsetData"),N3=o(t=>{let e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),Kpt=o(t=>t&&N3(t),"normalizeStyleValue"),Qpt=o((t,e,r)=>{let n=N3(e);VW.push({sets:C_(t).sort(),id:n,label:r?N3(r):void 0})},"addTextData"),Zpt=o((t,e)=>{let r=C_(t).sort(),n={};for(let[i,a]of e)n[i]=Kpt(a)??a;qW.push({targets:r,styles:n})},"addStyleData"),Jpt=o(()=>qW,"getStyleData"),C_=o(t=>t.map(e=>N3(e)),"normalizeIdentifierList"),e0t=o(t=>{let r=C_(t).filter(n=>!UW.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),t0t=o(()=>VW,"getTextData"),r0t=o(()=>WW,"getCurrentSets"),n0t=o(()=>HW,"getIndentMode"),i0t=o(t=>{HW=t},"setIndentMode"),a0t=gr.venn;o(s0t,"getConfig");o0t=o(()=>{_r(),GW.length=0,VW.length=0,qW.length=0,UW.clear(),WW=void 0,HW=!1},"customClear"),c6e={getConfig:s0t,clear:o0t,setAccTitle:Lr,getAccTitle:Or,setDiagramTitle:zr,getDiagramTitle:Fr,getAccDescription:Br,setAccDescription:Pr,addSubsetData:jpt,getSubsetData:Xpt,addTextData:Qpt,addStyleData:Zpt,validateUnionIdentifiers:e0t,getTextData:t0t,getStyleData:Jpt,getCurrentSets:r0t,getIndentMode:n0t,setIndentMode:i0t}});var l0t,h6e,f6e=O(()=>{"use strict";l0t=o(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"),h6e=l0t});function A_(t,e){let r=u0t(t),n=r.filter(l=>c0t(l,t)),i=0,a=0,s=[];if(n.length>1){let l=g6e(n);for(let h=0;hf.angle-h.angle);let u=n[n.length-1];for(let h=0;hg.radius*2&&(T=g.radius*2),(p==null||p.width>T)&&(p={circle:g,width:T,p1:f,p2:u,large:T>g.radius,sweep:!0})}p!=null&&(s.push(p),i+=XW(p.circle.radius,p.width),u=f)}}else{let l=t[0];for(let h=1;hMath.abs(l.radius-t[h].radius)){u=!0;break}u?i=a=0:(i=l.radius*l.radius*Math.PI,s.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-1e-10,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function c0t(t,e){return e.every(r=>No(t,r)=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);let n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return XW(t,n)+XW(e,i)}function m6e(t,e){let r=No(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];let a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),l=t.x+a*(e.x-t.x)/r,u=t.y+a*(e.y-t.y)/r,h=-(e.y-t.y)*(s/r),f=-(e.x-t.x)*(s/r);return[{x:l+h,y:u-f},{x:l-h,y:u+f}]}function g6e(t){let e={x:0,y:0};for(let r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function h0t(t,e,r,n){n=n||{};let i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),l=t(r),u=r-e;if(s*l>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(l===0)return r;for(let h=0;h=0&&(e=f),Math.abs(u)KW(e))}function e2(t,e){let r=0;for(let n=0;nw.fx-k.fx,"sortOrder"),x=e.slice(),b=e.slice(),T=e.slice(),E=e.slice();for(let w=0;w{let L=A.slice();return L.fx=A.fx,L.id=A.id,L});S.sort((A,L)=>A.id-L.id),r.history.push({x:g[0].slice(),fx:g[0].fx,simplex:S})}p=0;for(let S=0;S=g[m-1].fx){let S=!1;if(b.fx>k.fx?(hf(T,1+f,x,-f,k),T.fx=t(T),T.fx=1)break;for(let A=1;Al+a*i*u||h>=v)y=i;else{if(Math.abs(d)<=-s*u)return i;d*(y-g)>=0&&(y=g),g=i,v=h}return 0}o(m,"zoom");for(let g=0;g<10;++g){if(hf(n.x,1,r.x,i,e),h=n.fx=t(n.x,n.fxprime),d=e2(n.fxprime,e),h>l+a*i*u||g&&h>=f)return m(p,i,f);if(Math.abs(d)<=-s*u)return i;if(d>=0)return m(i,p,h);f=h,p=i,i*=2}return i}function d0t(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()},a=e.slice(),s,l,u=1,h;r=r||{},h=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),ZW(s,n.fxprime,-1);for(let f=0;f{let d={};for(let p=0;ptH(t,e,n)-r,0,t+e)}function p0t(t,e={}){let r=e.distinct,n=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(o(i,"toKey"),r){let l=new Map;for(let u of n)for(let h=0;hl===u?0:la.sets.length===2).forEach(a=>{let s=r[a.sets[0]],l=r[a.sets[1]],u=Math.sqrt(e[s].size/Math.PI),h=Math.sqrt(e[l].size/Math.PI),f=JW(u,h,a.size);n[s][l]=n[l][s]=f;let d=0;a.size+1e-10>=Math.min(e[s].size,e[l].size)?d=1:a.size<=1e-10&&(d=-1),i[s][l]=i[l][s]=d}),{distances:n,constraints:i}}function g0t(t,e,r,n){for(let a=0;a0&&g<=d||p<0&&g>=d||(i+=2*y*y,e[2*a]+=4*y*(s-h),e[2*a+1]+=4*y*(l-f),e[2*u]+=4*y*(h-s),e[2*u+1]+=4*y*(f-l))}}return i}function y0t(t,e={}){let r=x0t(t,e),n=e.lossFunction||t2;if(t.length>=8){let i=v0t(t,e),a=n(i,t),s=n(r,t);a+1e-8p.map(m=>m/l));let u=o((p,m)=>g0t(p,m,a,s),"obj"),h=null;for(let p=0;pd.sets.length===2);for(let d of t){let p=d.weight!=null?d.weight:1,m=d.sets[0],g=d.sets[1];d.size+x6e>=Math.min(n[m].size,n[g].size)&&(p=0),i[m].push({set:g,size:d.size,weight:p}),i[g].push({set:m,size:d.size,weight:p})}let a=[];Object.keys(i).forEach(d=>{let p=0;for(let m=0;mt[s]));let a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function b6e(t,e){let r=0;for(let n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){let l=t[n.sets[0]],u=t[n.sets[1]];i=tH(l.radius,u.radius,No(l,u))}else i=A_(n.sets.map(l=>t[l]));let a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function b0t(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){let i=t[0].x,a=t[0].y;for(let s of t)s.x-=i,s.y-=a}if(t.length===2&&No(t[0],t[1])1){let i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(let l of t){let u=l.x,h=l.y;l.x=a*u-s*h,l.y=s*u+a*h}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){let a=t[1].y/(1e-10+t[1].x);for(let s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function T0t(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}o(e,"find");function r(i,a){let s=e(i),l=e(a);s.parent=l}o(r,"union");for(let i=0;i{delete i.parent}),Array.from(n.values())}function eH(t){let e=o(r=>{let n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}},"minMax");return{xRange:e("x"),yRange:e("y")}}function T6e(t,e,r){e==null&&(e=Math.PI/2);let n=E6e(t).map(h=>Object.assign({},h)),i=T0t(n);for(let h of i){b0t(h,e,r);let f=eH(h);h.size=(f.xRange.max-f.xRange.min)*(f.yRange.max-f.yRange.min),h.bounds=f}i.sort((h,f)=>f.size-h.size),n=i[0];let a=n.bounds,s=(a.xRange.max-a.xRange.min)/50;function l(h,f,d){if(!h)return;let p=h.bounds,m,g;if(f)m=a.xRange.max-p.xRange.min+s;else{m=a.xRange.max-p.xRange.max;let y=(p.xRange.max-p.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;y<0&&(m+=y)}if(d)g=a.yRange.max-p.yRange.min+s;else{g=a.yRange.max-p.yRange.max;let y=(p.yRange.max-p.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;y<0&&(g+=y)}for(let y of h)y.x+=m,y.y+=g,n.push(y)}o(l,"addCluster");let u=1;for(;u({radius:f*m.radius,x:n+d+(m.x-s.min)*f,y:n+p+(m.y-l.min)*f,setid:m.setid})))}function k6e(t){let e={};for(let r of t)e[r.setid]=r;return e}function E6e(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function S6e(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,l=!0,u=null,h=!0,f=!0,d=null,p=null,m=!1,g=null,y=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,v={},x=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],b=0,T=o(function(S){if(S in v)return v[S];var A=v[S]=x[b];return b+=1,b>=x.length&&(b=0),A},"colours"),E=v6e,w=t2;function k(S){let A=S.datum(),L=new Set;A.forEach(Y=>{Y.size==0&&Y.sets.length==1&&L.add(Y.sets[0])}),A=A.filter(Y=>!Y.sets.some(le=>L.has(le)));let I={},N={};if(A.length>0){let Y=E(A,{lossFunction:w,distinct:m});l&&(Y=T6e(Y,s,p)),I=w6e(Y,r,n,i,u),N=A6e(I,A,y)}let C={};A.forEach(Y=>{Y.label&&(C[Y.sets]=Y.label)});function _(Y){if(Y.sets in C)return C[Y.sets];if(Y.sets.length==1)return""+Y.sets[0]}o(_,"label"),S.selectAll("svg").data([I]).enter().append("svg");let D=S.select("svg");e?D.attr("viewBox",`0 0 ${r} ${n}`):D.attr("width",r).attr("height",n);let M={},R=!1;D.selectAll(".venn-area path").each(function(Y){let le=this.getAttribute("d");Y.sets.length==1&&le&&!m&&(R=!0,M[Y.sets[0]]=E0t(le))});function P(Y){return le=>{let ee=Y.sets.map(J=>{let te=M[J],Z=I[J];return te||(te={x:r/2,y:n/2,radius:1}),Z||(Z={x:r/2,y:n/2,radius:1}),{x:te.x*(1-le)+Z.x*le,y:te.y*(1-le)+Z.y*le,radius:te.radius*(1-le)+Z.radius*le}});return p6e(ee,g)}}o(P,"pathTween");let B=D.selectAll(".venn-area").data(A,Y=>Y.sets),F=B.enter().append("g").attr("class",Y=>`venn-area venn-${Y.sets.length==1?"circle":"intersection"}${Y.colour||Y.color?" venn-coloured":""}`).attr("data-venn-sets",Y=>Y.sets.join("_")),G=F.append("path"),$=F.append("text").attr("class","label").text(Y=>_(Y)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);f&&(G.style("fill-opacity","0").filter(Y=>Y.sets.length==1).style("fill",Y=>Y.colour?Y.colour:Y.color?Y.color:T(Y.sets)).style("fill-opacity",".25"),$.style("fill",Y=>Y.colour||Y.color?"#FFF":t.textFill?t.textFill:Y.sets.length==1?T(Y.sets):"#444"));function V(Y){return typeof Y.transition=="function"?Y.transition("venn").duration(a):Y}o(V,"asTransition");let X=S;R&&typeof X.transition=="function"?(X=V(S),X.selectAll("path").attrTween("d",P)):X.selectAll("path").attr("d",Y=>p6e(Y.sets.map(le=>I[le])),g);let Q=X.selectAll("text").filter(Y=>Y.sets in N).text(Y=>_(Y)).attr("x",Y=>Math.floor(N[Y.sets].x)).attr("y",Y=>Math.floor(N[Y.sets].y));h&&(R?"on"in Q?Q.on("end",YW(I,_)):Q.each("end",YW(I,_)):Q.each(YW(I,_)));let H=V(B.exit()).remove();typeof B.transition=="function"&&H.selectAll("path").attrTween("d",P);let ie=H.selectAll("text").attr("x",r/2).attr("y",n/2);return d!==null&&($.style("font-size","0px"),Q.style("font-size",d),ie.style("font-size","0px")),{circles:I,textCentres:N,nodes:B,enter:F,update:X,exit:H}}return o(k,"chart"),k.wrap=function(S){return arguments.length?(h=S,k):h},k.useViewBox=function(){return e=!0,k},k.width=function(S){return arguments.length?(r=S,k):r},k.height=function(S){return arguments.length?(n=S,k):n},k.padding=function(S){return arguments.length?(i=S,k):i},k.distinct=function(S){return arguments.length?(m=S,k):m},k.colours=function(S){return arguments.length?(T=S,k):T},k.colors=function(S){return arguments.length?(T=S,k):T},k.fontSize=function(S){return arguments.length?(d=S,k):d},k.round=function(S){return arguments.length?(g=S,k):g},k.duration=function(S){return arguments.length?(a=S,k):a},k.layoutFunction=function(S){return arguments.length?(E=S,k):E},k.normalize=function(S){return arguments.length?(l=S,k):l},k.scaleToFit=function(S){return arguments.length?(u=S,k):u},k.styled=function(S){return arguments.length?(f=S,k):f},k.orientation=function(S){return arguments.length?(s=S,k):s},k.orientationOrder=function(S){return arguments.length?(p=S,k):p},k.lossFunction=function(S){return arguments.length?(w=S==="default"?t2:S==="logRatio"?b6e:S,k):w},k}function YW(t,e){return function(r){let n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),u=(a.length+s.length)/3,h=s.pop(),f=[h],d=0,p=1.1;n.textContent=null;let m=[];function g(T){let E=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return E.textContent=T,m.push(E),n.append(E),E}o(g,"append");let y=g(h);for(;h=s.pop(),!!h;){f.push(h);let T=f.join(" ");y.textContent=T,T.length>u&&y.getComputedTextLength()>i&&(f.pop(),y.textContent=f.join(" "),f=[h],y=g(h),d++)}let v=.35-d*p/2,x=n.getAttribute("x"),b=n.getAttribute("y");m.forEach((T,E)=>{T.setAttribute("x",x),T.setAttribute("y",b),T.setAttribute("dy",`${v+E*p}em`)})}}function jW(t,e,r){let n=e[0].radius-No(e[0],t);for(let i=1;i=a&&(i=n[f],a=d)}let s=y6e(f=>-1*jW({x:f[0],y:f[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:r?0:s[0],y:s[1]},u=!0;for(let f of t)if(No(l,f)>f.radius){u=!1;break}for(let f of e)if(No(l,f)f.p1))}function w0t(t){let e={},r=Object.keys(t);for(let n of r)e[n]=[];for(let n=0;n0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function k0t(t,e,r){let n=[];return n.push(` +M`,t,e),n.push(` +m`,-r,0),n.push(` +a`,r,r,0,1,0,r*2,0),n.push(` +a`,r,r,0,1,0,-r*2,0),n.join(" ")}function E0t(t){let e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function _6e(t){if(t.length===0)return[];let e={};return A_(t,e),e.arcs}function D6e(t,e){if(t.length===0)return"M 0 0";let r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){let a=t[0].circle;return k0t(n(a.x),n(a.y),n(a.radius))}let i=[` +M`,n(t[0].p2.x),n(t[0].p2.y)];for(let a of t){let s=n(a.circle.radius);i.push(` +A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function p6e(t,e){return D6e(_6e(t),e)}function R6e(t,e={}){let{lossFunction:r,layoutFunction:n=v6e,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:l=600,height:u=350,padding:h=15,scaleToFit:f=!1,symmetricalTextCentre:d=!1,distinct:p,round:m=2}=e,g=n(t,{lossFunction:r==="default"||!r?t2:r==="logRatio"?b6e:r,distinct:p});i&&(g=T6e(g,a,s));let y=w6e(g,l,u,h,f),v=A6e(y,t,d),x=new Map(Object.keys(y).map(E=>[E,{set:E,x:y[E].x,y:y[E].y,radius:y[E].radius}])),b=t.map(E=>{let w=E.sets.map(A=>x.get(A)),k=_6e(w),S=D6e(k,m);return{circles:w,arcs:k,path:S,area:E,has:new Set(E.sets)}});function T(E){let w="";for(let k of b)k.has.size>E.length&&E.every(S=>k.has.has(S))&&(w+=" "+k.path);return w}return o(T,"genDistinctPath"),b.map(({circles:E,arcs:w,path:k,area:S})=>({data:S,text:v[S.sets],circles:E,arcs:w,path:k,distinctPath:k+T(S.sets)}))}var x6e,L6e=O(()=>{"use strict";o(A_,"intersectionArea");o(c0t,"containedInCircles");o(u0t,"getIntersectionPoints");o(XW,"circleArea");o(No,"distance");o(tH,"circleOverlap");o(m6e,"circleCircleIntersection");o(g6e,"getCenter");o(h0t,"bisect");o(KW,"zeros");o(d6e,"zerosM");o(e2,"dot");o(QW,"norm2");o(ZW,"scale");o(hf,"weightedSum");o(y6e,"nelderMead");o(f0t,"wolfeLineSearch");o(d0t,"conjugateGradient");o(v6e,"venn");x6e=1e-10;o(JW,"distanceFromIntersectArea");o(p0t,"addMissingAreas");o(m0t,"getDistanceMatrices");o(g0t,"constrainedMDSGradient");o(y0t,"bestInitialLayout");o(v0t,"constrainedMDSLayout");o(x0t,"greedyLayout");o(t2,"lossFunction");o(b6e,"logRatioLossFunction");o(b0t,"orientateCircles");o(T0t,"disjointCluster");o(eH,"getBoundingBox");o(T6e,"normalizeSolution");o(w6e,"scaleSolution");o(k6e,"toObjectNotation");o(E6e,"fromObjectNotation");o(S6e,"VennDiagram");o(YW,"wrapText");o(jW,"circleMargin");o(C6e,"computeTextCentre");o(w0t,"getOverlappingCircles");o(A6e,"computeTextCentres");o(k0t,"circlePath");o(E0t,"circleFromPath");o(_6e,"intersectionAreaArcs");o(D6e,"arcsToPath");o(p6e,"intersectionAreaPath");o(R6e,"layout")});function C0t(t){let e=new Map;for(let r of t){let n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}function ng(t){return t.join("|")}function _0t(t,e,r,n,i,a){let s=t?.useDebugLayout??!1,u=r.select("svg").append("g").attr("class","venn-text-nodes"),h=new Map;for(let f of n){let d=ng(f.sets),p=h.get(d);p?p.push(f):h.set(d,[f])}for(let[f,d]of h.entries()){let p=e.get(f);if(!p?.text)continue;let m=p.text.x,g=p.text.y,y=Math.min(...p.circles.map(D=>D.radius)),v=Math.min(...p.circles.map(D=>D.radius-Math.hypot(m-D.x,g-D.y))),x=Number.isFinite(v)?Math.max(0,v):0;x===0&&Number.isFinite(y)&&(x=y*.6);let b=u.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&b.append("circle").attr("class","venn-text-debug-circle").attr("cx",m).attr("cy",g).attr("r",x).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);let T=Math.max(80*i,x*2*.95),E=Math.max(60*i,x*2*.95),S=(p.data.label&&p.data.label.length>0?Math.min(32*i,x*.25):0)+(d.length<=2?30*i:0),A=m-T/2,L=g-E/2+S,I=Math.max(1,Math.ceil(Math.sqrt(d.length))),N=Math.max(1,Math.ceil(d.length/I)),C=T/I,_=E/N;for(let[D,M]of d.entries()){let R=D%I,P=Math.floor(D/I),B=A+C*(R+.5),F=L+_*(P+.5);s&&b.append("rect").attr("class","venn-text-debug-cell").attr("x",A+C*R).attr("y",L+_*P).attr("width",C).attr("height",_).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);let G=C*.9,$=_*.9,V=b.append("foreignObject").attr("class","venn-text-node-fo").attr("width",G).attr("height",$).attr("x",B-G/2).attr("y",F-$/2).attr("overflow","visible"),X=a.get(M.id)?.color,Q=V.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(M.label??M.id);X&&Q.style("color",X)}}}var A0t,N6e,M6e=O(()=>{"use strict";Ar();Ys();$r();Ul();L6e();Ti();Wt();o(C0t,"buildStyleByKey");A0t=o((t,e,r,n)=>{let i=n.db,a=i.getConfig?.(),{themeVariables:s,look:l,handDrawnSeed:u}=Zt(),h=l==="handDrawn",f=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),d=i.getDiagramTitle?.(),p=i.getSubsetData(),m=i.getTextData(),g=C0t(i.getStyleData()),y=a?.width??800,v=a?.height??450,b=y/1600,T=d?48*b:0,E=s.primaryTextColor??s.textColor,w=Ii(e);w.attr("viewBox",`0 0 ${y} ${v}`),d&&w.append("text").text(d).attr("class","venn-title").attr("font-size",`${32*b}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*b).style("fill",s.vennTitleTextColor||s.titleColor);let k=je(document.createElement("div")),S=S6e().width(y).height(v-T);k.datum(p).call(S);let A=h?Je.svg(k.select("svg").node()):void 0,L=R6e(p,{width:y,height:v-T,padding:a?.padding??15}),I=new Map;for(let D of L){let M=ng([...D.data.sets].sort());I.set(M,D)}m.length>0&&_0t(a,I,k,m,b,g);let N=Ji(s.background||"#f4f4f4");k.selectAll(".venn-circle").each(function(D,M){let R=je(this),B=ng([...D.sets].sort()),F=g.get(B),G=F?.fill||f[M%f.length]||s.primaryColor;R.classed(`venn-set-${M%8}`,!0);let $=F?.["fill-opacity"]??.1,V=F?.stroke||G,X=F?.["stroke-width"]||`${5*b}`;if(h&&A){let H=I.get(B);if(H&&H.circles.length>0){let ie=H.circles[0],Y=A.circle(ie.x,ie.y,ie.radius*2,{roughness:.7,seed:u,fill:K3(G,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+M*60,stroke:V,strokeWidth:parseFloat(String(X))});R.select("path").remove(),R.node()?.insertBefore(Y,R.select("text").node())}}else R.select("path").style("fill",G).style("fill-opacity",$).style("stroke",V).style("stroke-width",X).style("stroke-opacity",.95);let Q=F?.color||(N?Lt(G,30):Bt(G,30));R.select("text").style("font-size",`${48*b}px`).style("fill",Q)}),h&&A?k.selectAll(".venn-intersection").each(function(D){let M=je(this),P=ng([...D.sets].sort()),B=g.get(P),F=B?.fill;if(F){let G=M.select("path"),$=G.attr("d");if($){let V=A.path($,{roughness:.7,seed:u,fill:K3(F,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),X=G.node();X?.parentNode?.insertBefore(V,X),G.remove()}}else M.select("path").style("fill-opacity",0);M.select("text").style("font-size",`${48*b}px`).style("fill",B?.color??s.vennSetTextColor??E)}):(k.selectAll(".venn-intersection text").style("font-size",`${48*b}px`).style("fill",D=>{let R=ng([...D.sets].sort());return g.get(R)?.color??s.vennSetTextColor??E}),k.selectAll(".venn-intersection path").style("fill-opacity",D=>{let R=ng([...D.sets].sort());return g.get(R)?.fill?1:0}).style("fill",D=>{let R=ng([...D.sets].sort());return g.get(R)?.fill??"transparent"}));let C=w.append("g").attr("transform",`translate(0, ${T})`),_=k.select("svg").node();if(_&&"childNodes"in _)for(let D of[..._.childNodes])C.node()?.appendChild(D);Zr(w,v,y,a?.useMaxWidth??!0)},"draw");o(ng,"stableSetsKey");o(_0t,"renderTextNodes");N6e={draw:A0t}});var I6e={};vr(I6e,{diagram:()=>D0t});var D0t,O6e=O(()=>{"use strict";l6e();u6e();f6e();M6e();D0t={parser:o6e,db:c6e,renderer:N6e,styles:h6e}});var r2,rH=O(()=>{"use strict";La();$r();ar();Ut();si();r2=class{constructor(){this.nodes=[];this.levels=new Map;this.outerNodes=[];this.classes=new Map;this.setAccTitle=Lr;this.getAccTitle=Or;this.setDiagramTitle=zr;this.getDiagramTitle=Fr;this.getAccDescription=Br;this.setAccDescription=Pr}static{o(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=gr,r=Zt();return Pn({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{ub(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){_r(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}}});function F6e(t){if(!t.length)return[];let e=[],r=[];return t.forEach(n=>{let i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{let a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}var $6e=O(()=>{"use strict";o(F6e,"buildHierarchy")});var M0t,I0t,nH,z6e=O(()=>{"use strict";up();xt();Vm();$6e();rH();M0t=o((t,e)=>{ql(t,e);let r=[];for(let a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(let a of t.TreemapRows??[]){let s=a.item;if(!s)continue;let l=a.indent?parseInt(a.indent):0,u=I0t(s),h=s.classSelector?e.getStylesForClass(s.classSelector):[],f=h.length>0?h:void 0,d={level:l,name:u,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:f};r.push(d)}let n=F6e(r),i=o((a,s)=>{for(let l of a)e.addNode(l,s),l.children&&l.children.length>0&&i(l.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),I0t=o(t=>t.name?String(t.name):"","getItemName"),nH={parser:{yy:void 0},parse:o(async t=>{try{let r=await Us("treemap",t);K.debug("Treemap AST:",r);let n=nH.parser?.yy;if(!(n instanceof r2))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.");M0t(r,n)}catch(e){throw K.error("Error parsing treemap:",e),e}},"parse")}});var O0t,n2,M3,P0t,B0t,G6e,V6e=O(()=>{"use strict";Ul();Ld();Ti();Ar();Ut();$r();xt();O0t=10,n2=10,M3=25,P0t=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),s=a.padding??O0t,l=i.getDiagramTitle(),u=i.getRoot(),{themeVariables:h}=Zt();if(!u)return;let f=l?30:0,d=Ii(e),p=a.nodeWidth?a.nodeWidth*n2:960,m=a.nodeHeight?a.nodeHeight*n2:500,g=p,y=m+f;d.attr("viewBox",`0 0 ${g} ${y}`),Zr(d,y,g,a.useMaxWidth);let v;try{let D=a.valueFormat||",";if(D==="$0,0")v=o(M=>"$"+tu(",")(M),"valueFormat");else if(D.startsWith("$")&&D.includes(",")){let M=/\.\d+/.exec(D),R=M?M[0]:"";v=o(P=>"$"+tu(","+R)(P),"valueFormat")}else if(D.startsWith("$")){let M=D.substring(1);v=o(R=>"$"+tu(M||"")(R),"valueFormat")}else v=tu(D)}catch(D){K.error("Error creating format function:",D),v=tu(",")}let x=Fo().range(["transparent",h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),b=Fo().range(["transparent",h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),T=Fo().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);l&&d.append("text").attr("x",g/2).attr("y",f/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(l);let E=d.append("g").attr("transform",`translate(0, ${f})`).attr("class","treemapContainer"),w=Mg(u).sum(D=>D.value??0).sort((D,M)=>(M.value??0)-(D.value??0)),S=_5().size([p,m]).paddingTop(D=>D.children&&D.children.length>0?M3+n2:0).paddingInner(s).paddingLeft(D=>D.children&&D.children.length>0?n2:0).paddingRight(D=>D.children&&D.children.length>0?n2:0).paddingBottom(D=>D.children&&D.children.length>0?n2:0).round(!0)(w),A=S.descendants().filter(D=>D.children&&D.children.length>0),L=E.selectAll(".treemapSection").data(A).enter().append("g").attr("class","treemapSection").attr("transform",D=>`translate(${D.x0},${D.y0})`);L.append("rect").attr("width",D=>D.x1-D.x0).attr("height",M3).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",D=>D.depth===0?"display: none;":""),L.append("clipPath").attr("id",(D,M)=>`clip-section-${e}-${M}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-12)).attr("height",M3),L.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class",(D,M)=>`treemapSection section${M}`).attr("fill",D=>x(D.data.name)).attr("fill-opacity",.6).attr("stroke",D=>b(D.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",D=>{if(D.depth===0)return"display: none;";let M=Ze({cssCompiledStyles:D.data.cssCompiledStyles});return M.nodeStyles+";"+M.borderStyles.join(";")}),L.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",M3/2).attr("dominant-baseline","middle").text(D=>D.depth===0?"":D.data.name).attr("font-weight","bold").attr("style",D=>{if(D.depth===0)return"display: none;";let M="dominant-baseline: middle; font-size: 12px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",R=Ze({cssCompiledStyles:D.data.cssCompiledStyles});return M+R.labelStyles.replace("color:","fill:")}).each(function(D){if(D.depth===0)return;let M=je(this),R=D.data.name;M.text(R);let P=D.x1-D.x0,B=6,F;a.showValues!==!1&&D.value?F=P-10-30-10-B:F=P-B-6;let $=Math.max(15,F),V=M.node();if(V.getComputedTextLength()>$){let H=R;for(;H.length>0;){if(H=R.substring(0,H.length-1),H.length===0){M.text("..."),V.getComputedTextLength()>$&&M.text("");break}if(M.text(H+"..."),V.getComputedTextLength()<=$)break}}}),a.showValues!==!1&&L.append("text").attr("class","treemapSectionValue").attr("x",D=>D.x1-D.x0-10).attr("y",M3/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(D=>D.value?v(D.value):"").attr("font-style","italic").attr("style",D=>{if(D.depth===0)return"display: none;";let M="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(D.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",R=Ze({cssCompiledStyles:D.data.cssCompiledStyles});return M+R.labelStyles.replace("color:","fill:")});let I=S.leaves(),N=E.selectAll(".treemapLeafGroup").data(I).enter().append("g").attr("class",(D,M)=>`treemapNode treemapLeafGroup leaf${M}${D.data.classSelector?` ${D.data.classSelector}`:""}x`).attr("transform",D=>`translate(${D.x0},${D.y0})`);N.append("rect").attr("width",D=>D.x1-D.x0).attr("height",D=>D.y1-D.y0).attr("class","treemapLeaf").attr("fill",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("style",D=>Ze({cssCompiledStyles:D.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",D=>D.parent?x(D.parent.data.name):x(D.data.name)).attr("stroke-width",3),N.append("clipPath").attr("id",(D,M)=>`clip-${e}-${M}`).append("rect").attr("width",D=>Math.max(0,D.x1-D.x0-4)).attr("height",D=>Math.max(0,D.y1-D.y0-4)),N.append("text").attr("class","treemapLabel").attr("x",D=>(D.x1-D.x0)/2).attr("y",D=>(D.y1-D.y0)/2).attr("style",D=>{let M="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(D.data.name)+";",R=Ze({cssCompiledStyles:D.data.cssCompiledStyles});return M+R.labelStyles.replace("color:","fill:")}).attr("clip-path",(D,M)=>`url(#clip-${e}-${M})`).text(D=>D.data.name).each(function(D){let M=je(this),R=D.x1-D.x0,P=D.y1-D.y0,B=M.node(),F=4,G=R-2*F,$=P-2*F;if(G<10||$<10){M.style("display","none");return}let V=parseInt(M.style("font-size"),10),X=8,Q=28,H=.6,ie=6,Y=2;for(;B.getComputedTextLength()>G&&V>X;)V--,M.style("font-size",`${V}px`);let le=Math.max(ie,Math.min(Q,Math.round(V*H))),ee=V+Y+le;for(;ee>$&&V>X&&(V--,le=Math.max(ie,Math.min(Q,Math.round(V*H))),!(le$;M.style("font-size",`${V}px`),(B.getComputedTextLength()>G||V(M.x1-M.x0)/2).attr("y",function(M){return(M.y1-M.y0)/2}).attr("style",M=>{let R="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(M.data.name)+";",P=Ze({cssCompiledStyles:M.data.cssCompiledStyles});return R+P.labelStyles.replace("color:","fill:")}).attr("clip-path",(M,R)=>`url(#clip-${e}-${R})`).text(M=>M.value?v(M.value):"").each(function(M){let R=je(this),P=this.parentNode;if(!P){R.style("display","none");return}let B=je(P).select(".treemapLabel");if(B.empty()||B.style("display")==="none"){R.style("display","none");return}let F=parseFloat(B.style("font-size")),G=28,$=.6,V=6,X=2,Q=Math.max(V,Math.min(G,Math.round(F*$)));R.style("font-size",`${Q}px`);let ie=(M.y1-M.y0)/2+F/2+X;R.attr("y",ie);let Y=M.x1-M.x0,J=M.y1-M.y0-4,te=Y-8;R.node().getComputedTextLength()>te||ie+Q>J||Q{"use strict";ar();F0t={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},$0t=o(({treemap:t}={})=>{let e=Pn(F0t,t);return` .treemapNode.section { stroke: ${e.sectionStrokeColor}; stroke-width: ${e.sectionStrokeWidth}; @@ -2791,16 +2970,16 @@ Expecting `+ge.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error fill: ${e.titleColor}; font-size: ${e.titleFontSize}; } - `},"getStyles"),sCe=Qft});var lCe={};vr(lCe,{diagram:()=>Zft});var Zft,cCe=I(()=>{"use strict";wW();nCe();aCe();oCe();Zft={parser:kW,get db(){return new Uv},renderer:iCe,styles:sCe}});var Fdt={};vr(Fdt,{default:()=>Bdt});Gc();nD();Op();var WIe=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),HIe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(xre(),vre));return{id:"c4",diagram:t}},"loader"),YIe={id:"c4",detector:WIe,loader:HIe},bre=YIe;var ige="flowchart",fJe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),dJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hC(),uC));return{id:ige,diagram:t}},"loader"),pJe={id:ige,detector:fJe,loader:dJe},age=pJe;var sge="flowchart-v2",mJe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),gJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hC(),uC));return{id:sge,diagram:t}},"loader"),yJe={id:sge,detector:mJe,loader:gJe},oge=yJe;var wJe=o(t=>/^\s*erDiagram/.test(t),"detector"),kJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(mge(),pge));return{id:"er",diagram:t}},"loader"),SJe={id:"er",detector:wJe,loader:kJe},gge=SJe;var W4e="gitGraph",Xit=o(t=>/^\s*gitGraph/.test(t),"detector"),Kit=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(U4e(),q4e));return{id:W4e,diagram:t}},"loader"),Qit={id:W4e,detector:Xit,loader:Kit},H4e=Qit;var STe="gantt",Fat=o(t=>/^\s*gantt/.test(t),"detector"),$at=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(kTe(),wTe));return{id:STe,diagram:t}},"loader"),zat={id:STe,detector:Fat,loader:$at},ETe=zat;var ITe="info",Hat=o(t=>/^\s*info/.test(t),"detector"),Yat=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(MTe(),NTe));return{id:ITe,diagram:t}},"loader"),OTe={id:ITe,detector:Hat,loader:Yat};var sst=o(t=>/^\s*pie/.test(t),"detector"),ost=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(UTe(),qTe));return{id:"pie",diagram:t}},"loader"),WTe={id:"pie",detector:sst,loader:ost};var i3e="quadrantChart",Est=o(t=>/^\s*quadrantChart/.test(t),"detector"),Cst=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(n3e(),r3e));return{id:i3e,diagram:t}},"loader"),Ast={id:i3e,detector:Est,loader:Cst},a3e=Ast;var N3e="xychart",Ust=o(t=>/^\s*xychart(-beta)?/.test(t),"detector"),Wst=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(L3e(),R3e));return{id:N3e,diagram:t}},"loader"),Hst={id:N3e,detector:Ust,loader:Wst},M3e=Hst;var V3e="requirement",Kst=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),Qst=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(G3e(),z3e));return{id:V3e,diagram:t}},"loader"),Zst={id:V3e,detector:Kst,loader:Qst},q3e=Zst;var awe="sequence",$ot=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),zot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(iwe(),nwe));return{id:awe,diagram:t}},"loader"),Got={id:awe,detector:$ot,loader:zot},swe=Got;var fwe="class",Yot=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),jot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hwe(),uwe));return{id:fwe,diagram:t}},"loader"),Xot={id:fwe,detector:Yot,loader:jot},dwe=Xot;var gwe="classDiagram",Qot=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),Zot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(mwe(),pwe));return{id:gwe,diagram:t}},"loader"),Jot={id:gwe,detector:Qot,loader:Zot},ywe=Jot;var Xwe="state",Elt=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),Clt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(jwe(),Ywe));return{id:Xwe,diagram:t}},"loader"),Alt={id:Xwe,detector:Elt,loader:Clt},Kwe=Alt;var Jwe="stateDiagram",Dlt=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),Rlt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Zwe(),Qwe));return{id:Jwe,diagram:t}},"loader"),Llt={id:Jwe,detector:Dlt,loader:Rlt},e5e=Llt;var g5e="journey",Zlt=o(t=>/^\s*journey/.test(t),"detector"),Jlt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(m5e(),p5e));return{id:g5e,diagram:t}},"loader"),ect={id:g5e,detector:Zlt,loader:Jlt},y5e=ect;gt();Uu();Fi();var tct=o((t,e,r)=>{X.debug(`rendering svg for syntax error -`);let n=Ca(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Sn(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),wU={draw:tct},v5e=wU;var rct={db:{},renderer:wU,parser:{parse:o(()=>{},"parse")}},x5e=rct;var b5e="flowchart-elk",nct=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),ict=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(hC(),uC));return{id:b5e,diagram:t}},"loader"),act={id:b5e,detector:nct,loader:ict},T5e=act;var Y5e="timeline",Sct=o(t=>/^\s*timeline/.test(t),"detector"),Ect=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(H5e(),W5e));return{id:Y5e,diagram:t}},"loader"),Cct={id:Y5e,detector:Sct,loader:Ect},j5e=Cct;var uke="mindmap",Ict=o(t=>/^\s*mindmap/.test(t),"detector"),Oct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(cke(),lke));return{id:uke,diagram:t}},"loader"),Pct={id:uke,detector:Ict,loader:Oct},hke=Pct;var kke="kanban",Zct=o(t=>/^\s*kanban/.test(t),"detector"),Jct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wke(),Tke));return{id:kke,diagram:t}},"loader"),eut={id:kke,detector:Zct,loader:Jct},Ske=eut;var aSe="sankey",kut=o(t=>/^\s*sankey(-beta)?/.test(t),"detector"),Sut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(iSe(),nSe));return{id:aSe,diagram:t}},"loader"),Eut={id:aSe,detector:kut,loader:Sut},sSe=Eut;var pSe="packet",Iut=o(t=>/^\s*packet(-beta)?/.test(t),"detector"),Out=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(dSe(),fSe));return{id:pSe,diagram:t}},"loader"),mSe={id:pSe,detector:Iut,loader:Out};var CSe="radar",nht=o(t=>/^\s*radar-beta/.test(t),"detector"),iht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ESe(),SSe));return{id:CSe,diagram:t}},"loader"),ASe={id:CSe,detector:nht,loader:iht};var REe="block",Eft=o(t=>/^\s*block(-beta)?/.test(t),"detector"),Cft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(DEe(),_Ee));return{id:REe,diagram:t}},"loader"),Aft={id:REe,detector:Eft,loader:Cft},LEe=Aft;var JEe="architecture",Vft=o(t=>/^\s*architecture/.test(t),"detector"),qft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ZEe(),QEe));return{id:JEe,diagram:t}},"loader"),Uft={id:JEe,detector:Vft,loader:qft},eCe=Uft;Op();Qt();var uCe="treemap",Jft=o(t=>/^\s*treemap/.test(t),"detector"),edt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(cCe(),lCe));return{id:uCe,diagram:t}},"loader"),hCe={id:uCe,detector:Jft,loader:edt};var fCe=!1,Hv=o(()=>{fCe||(fCe=!0,Pp("error",x5e,t=>t.toLowerCase().trim()==="error"),Pp("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),S2(T5e,hke,eCe),S2(bre,Ske,ywe,dwe,gge,ETe,OTe,WTe,q3e,swe,oge,age,j5e,H4e,e5e,Kwe,y5e,a3e,sSe,mSe,M3e,LEe,ASe,hCe))},"addDiagrams");gt();Op();Qt();var dCe=o(async()=>{X.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(ah).map(async([r,{detector:n,loader:i}])=>{if(i)try{D2(r)}catch{try{let{diagram:a,id:s}=await i();Pp(s,a,n)}catch(a){throw X.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete ah[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){X.error(`Failed to load ${e.length} external diagrams`);for(let r of e)X.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");gt();kr();var f8="comm",d8="rule",p8="decl";var pCe="@import";var mCe="@namespace",gCe="@keyframes";var yCe="@layer";var SW=Math.abs,w3=String.fromCharCode;function m8(t){return t.trim()}o(m8,"trim");function k3(t,e,r){return t.replace(e,r)}o(k3,"replace");function vCe(t,e,r){return t.indexOf(e,r)}o(vCe,"indexof");function xp(t,e){return t.charCodeAt(e)|0}o(xp,"charat");function bp(t,e,r){return t.slice(e,r)}o(bp,"substr");function Jo(t){return t.length}o(Jo,"strlen");function xCe(t){return t.length}o(xCe,"sizeof");function Yv(t,e){return e.push(t),t}o(Yv,"append");var g8=1,jv=1,bCe=0,Gl=0,Hi=0,Kv="";function y8(t,e,r,n,i,a,s,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:g8,column:jv,length:s,return:"",siblings:l}}o(y8,"node");function TCe(){return Hi}o(TCe,"char");function wCe(){return Hi=Gl>0?xp(Kv,--Gl):0,jv--,Hi===10&&(jv=1,g8--),Hi}o(wCe,"prev");function Vl(){return Hi=Gl2||Xv(Hi)>3?"":" "}o(ECe,"whitespace");function CCe(t,e){for(;--e&&Vl()&&!(Hi<48||Hi>102||Hi>57&&Hi<65||Hi>70&&Hi<97););return v8(t,S3()+(e<6&&af()==32&&Vl()==32))}o(CCe,"escaping");function EW(t){for(;Vl();)switch(Hi){case t:return Gl;case 34:case 39:t!==34&&t!==39&&EW(Hi);break;case 40:t===41&&EW(t);break;case 92:Vl();break}return Gl}o(EW,"delimiter");function ACe(t,e){for(;Vl()&&t+Hi!==57;)if(t+Hi===84&&af()===47)break;return"/*"+v8(e,Gl-1)+"*"+w3(t===47?t:Vl())}o(ACe,"commenter");function _Ce(t){for(;!Xv(af());)Vl();return v8(t,Gl)}o(_Ce,"identifier");function LCe(t){return SCe(b8("",null,null,null,[""],t=kCe(t),0,[0],t))}o(LCe,"compile");function b8(t,e,r,n,i,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,T="",E=i,w=a,k=n,C=T;v;)switch(g=b,b=Vl()){case 40:if(g!=108&&xp(C,d-1)==58){vCe(C+=k3(x8(b),"&","&\f"),"&\f",SW(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:C+=x8(b);break;case 9:case 10:case 13:case 32:C+=ECe(g);break;case 92:C+=CCe(S3()-1,7);continue;case 47:switch(af()){case 42:case 47:Yv(tdt(ACe(Vl(),S3()),e,r,u),u),(Xv(g||1)==5||Xv(af()||1)==5)&&Jo(C)&&bp(C,-1,void 0)!==" "&&(C+=" ");break;default:C+="/"}break;case 123*y:l[h++]=Jo(C)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(C=k3(C,/\f/g,"")),m>0&&(Jo(C)-d||y===0&&g===47)&&Yv(m>32?RCe(C+";",n,r,d-1,u):RCe(k3(C," ","")+";",n,r,d-2,u),u);break;case 59:C+=";";default:if(Yv(k=DCe(C,e,r,h,f,i,l,T,E=[],w=[],d,a),a),b===123)if(f===0)b8(C,e,k,k,E,a,d,l,w);else{switch(p){case 99:if(xp(C,3)===110)break;case 108:if(xp(C,2)===97)break;default:f=0;case 100:case 109:case 115:}f?b8(t,k,k,n&&Yv(DCe(t,k,k,0,0,i,l,T,i,E=[],d,w),w),i,w,d,l,n?E:w):b8(C,k,k,k,[""],w,0,l,w)}}h=f=m=0,y=x=1,T=C="",d=s;break;case 58:d=1+Jo(C),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&wCe()==125)continue}switch(C+=w3(b),b*y){case 38:x=f>0?1:(C+="\f",-1);break;case 44:l[h++]=(Jo(C)-1)*x,x=1;break;case 64:af()===45&&(C+=x8(Vl())),p=af(),f=d=Jo(T=C+=_Ce(S3())),b++;break;case 45:g===45&&Jo(C)==2&&(y=0)}}return a}o(b8,"parse");function DCe(t,e,r,n,i,a,s,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=xCe(m),y=0,v=0,x=0;y0?m[b]+" "+T:k3(T,/&\f/g,m[b])))&&(u[x++]=E);return y8(t,e,r,i===0?d8:l,u,h,f,d)}o(DCe,"ruleset");function tdt(t,e,r,n){return y8(t,e,r,f8,w3(TCe()),bp(t,2,-2),0,n)}o(tdt,"comment");function RCe(t,e,r,n,i){return y8(t,e,r,p8,bp(t,0,n),bp(t,n+1,-1),n,i)}o(RCe,"declaration");function T8(t,e){for(var r="",n=0;n{OCe.forEach(t=>{t()}),OCe=[]},"attachFunctions");gt();var BCe=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");ww();Hx();function FCe(t){let e=t.match(Tw);if(!e)return{text:t,metadata:{}};let r=Wf(e[1],{schema:Uf})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}o(FCe,"extractFrontMatter");sr();var ndt=o(t=>t.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),idt=o(t=>{let{text:e,metadata:r}=FCe(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),adt=o(t=>{let e=jt.detectInit(t)??{},r=jt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:ore(t),directive:e}},"processDirectives");function CW(t){let e=ndt(t),r=idt(e),n=adt(r.text),i=Qn(r.config,n.directive);return t=BCe(n.text),{code:t,title:r.title,config:i}}o(CW,"preprocessDiagram");oD();F3();sr();function $Ce(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}o($Ce,"toBase64");var sdt=5e4,odt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",ldt="sandbox",cdt="loose",udt="http://www.w3.org/2000/svg",hdt="http://www.w3.org/1999/xlink",fdt="http://www.w3.org/1999/xhtml",ddt="100%",pdt="100%",mdt="border:0;margin:0;",gdt="margin:0",ydt="allow-top-navigation-by-user-activation allow-popups",vdt='The "iframe" tag is not supported by your browser.',xdt=["foreignobject"],bdt=["dominant-baseline"];function qCe(t){let e=CW(t);return o2(),$H(e.config??{}),e}o(qCe,"processAndSetConfigs");async function Tdt(t,e){Hv();try{let{code:r,config:n}=qCe(t);return{diagramType:(await UCe(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(Tdt,"parse");var zCe=o((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),wdt=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` + `},"getStyles"),q6e=$0t});var W6e={};vr(W6e,{diagram:()=>z0t});var z0t,H6e=O(()=>{"use strict";rH();z6e();V6e();U6e();z0t={parser:nH,get db(){return new r2},renderer:G6e,styles:q6e}});var Cmt={};vr(Cmt,{default:()=>Smt});Xc();vD();Fp();var _Pe=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),DPe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Jre(),Zre));return{id:"c4",diagram:t}},"loader"),RPe={id:"c4",detector:_Pe,loader:DPe},ene=RPe;var Vge="flowchart",Zet=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),Jet=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(EC(),kC));return{id:Vge,diagram:t}},"loader"),ett={id:Vge,detector:Zet,loader:Jet},qge=ett;var Uge="flowchart-v2",ttt=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),rtt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(EC(),kC));return{id:Uge,diagram:t}},"loader"),ntt={id:Uge,detector:ttt,loader:rtt},Wge=ntt;var ltt=o(t=>/^\s*erDiagram/.test(t),"detector"),ctt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Jge(),Zge));return{id:"er",diagram:t}},"loader"),utt={id:"er",detector:ltt,loader:ctt},e1e=utt;var D4e="gitGraph",Nst=o(t=>/^\s*gitGraph/.test(t),"detector"),Mst=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_4e(),A4e));return{id:D4e,diagram:t}},"loader"),Ist={id:D4e,detector:Nst,loader:Mst},R4e=Ist;var l3e="gantt",Tot=o(t=>/^\s*gantt/.test(t),"detector"),wot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(o3e(),s3e));return{id:l3e,diagram:t}},"loader"),kot={id:l3e,detector:Tot,loader:wot},c3e=kot;var v3e="info",_ot=o(t=>/^\s*info/.test(t),"detector"),Dot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(y3e(),g3e));return{id:v3e,diagram:t}},"loader"),x3e={id:v3e,detector:_ot,loader:Dot};var Vot=o(t=>/^\s*pie/.test(t),"detector"),qot=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_3e(),A3e));return{id:"pie",diagram:t}},"loader"),D3e={id:"pie",detector:Vot,loader:qot};var V3e="quadrantChart",olt=o(t=>/^\s*quadrantChart/.test(t),"detector"),llt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(G3e(),z3e));return{id:V3e,diagram:t}},"loader"),clt={id:V3e,detector:olt,loader:llt},q3e=clt;var gwe="xychart",Clt=o(t=>/^\s*xychart(-beta)?/.test(t),"detector"),Alt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(mwe(),pwe));return{id:gwe,diagram:t}},"loader"),_lt={id:gwe,detector:Clt,loader:Alt},ywe=_lt;var Cwe="requirement",Nlt=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),Mlt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Swe(),Ewe));return{id:Cwe,diagram:t}},"loader"),Ilt={id:Cwe,detector:Nlt,loader:Mlt},Awe=Ilt;var Wwe="sequence",Rct=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),Lct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Uwe(),qwe));return{id:Wwe,diagram:t}},"loader"),Nct={id:Wwe,detector:Rct,loader:Lct},Hwe=Nct;var Zwe="class",Fct=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),$ct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Qwe(),Kwe));return{id:Zwe,diagram:t}},"loader"),zct={id:Zwe,detector:Fct,loader:$ct},Jwe=zct;var r5e="classDiagram",Vct=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),qct=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(t5e(),e5e));return{id:r5e,diagram:t}},"loader"),Uct={id:r5e,detector:Vct,loader:qct},n5e=Uct;var O5e="state",gut=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),yut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(I5e(),M5e));return{id:O5e,diagram:t}},"loader"),vut={id:O5e,detector:gut,loader:yut},P5e=vut;var $5e="stateDiagram",but=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),Tut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(F5e(),B5e));return{id:$5e,diagram:t}},"loader"),wut={id:$5e,detector:but,loader:Tut},z5e=wut;var rke="journey",qut=o(t=>/^\s*journey/.test(t),"detector"),Uut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(tke(),eke));return{id:rke,diagram:t}},"loader"),Wut={id:rke,detector:qut,loader:Uut},nke=Wut;xt();Ul();Ti();var Hut=o((t,e,r)=>{K.debug(`rendering svg for syntax error +`);let n=Ii(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Zr(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),BU={draw:Hut},ike=BU;var Yut={db:{},renderer:BU,parser:{parse:o(()=>{},"parse")}},ake=Yut;var ske="flowchart-elk",jut=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),Xut=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(EC(),kC));return{id:ske,diagram:t}},"loader"),Kut={id:ske,detector:jut,loader:Xut},oke=Kut;var Mke="timeline",mht=o(t=>/^\s*timeline/.test(t),"detector"),ght=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nke(),Lke));return{id:Mke,diagram:t}},"loader"),yht={id:Mke,detector:mht,loader:ght},Ike=yht;var Zke="mindmap",Sht=o(t=>/^\s*mindmap/.test(t),"detector"),Cht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Qke(),Kke));return{id:Zke,diagram:t}},"loader"),Aht={id:Zke,detector:Sht,loader:Cht},Jke=Aht;var hEe="kanban",qht=o(t=>/^\s*kanban/.test(t),"detector"),Uht=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(uEe(),cEe));return{id:hEe,diagram:t}},"loader"),Wht={id:hEe,detector:qht,loader:Uht},fEe=Wht;var YEe="sankey",pft=o(t=>/^\s*sankey(-beta)?/.test(t),"detector"),mft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(HEe(),WEe));return{id:YEe,diagram:t}},"loader"),gft={id:YEe,detector:pft,loader:mft},jEe=gft;var rSe="packet",Sft=o(t=>/^\s*packet(-beta)?/.test(t),"detector"),Cft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(tSe(),eSe));return{id:rSe,diagram:t}},"loader"),nSe={id:rSe,detector:Sft,loader:Cft};var pSe="radar",jft=o(t=>/^\s*radar-beta/.test(t),"detector"),Xft=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(dSe(),fSe));return{id:pSe,diagram:t}},"loader"),mSe={id:pSe,detector:jft,loader:Xft};var vCe="block",ppt=o(t=>/^\s*block(-beta)?/.test(t),"detector"),mpt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(yCe(),gCe));return{id:vCe,diagram:t}},"loader"),gpt={id:vCe,detector:ppt,loader:mpt},xCe=gpt;var GCe="architecture",Lpt=o(t=>/^\s*architecture/.test(t),"detector"),Npt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(zCe(),$Ce));return{id:GCe,diagram:t}},"loader"),Mpt={id:GCe,detector:Lpt,loader:Npt},VCe=Mpt;var a6e="ishikawa",Hpt=o(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),Ypt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(i6e(),n6e));return{id:a6e,diagram:t}},"loader"),s6e={id:a6e,detector:Hpt,loader:Ypt};var P6e="venn",R0t=o(t=>/^\s*venn-beta/.test(t),"detector"),L0t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(O6e(),I6e));return{id:P6e,diagram:t}},"loader"),N0t={id:P6e,detector:R0t,loader:L0t},B6e=N0t;Fp();jt();var Y6e="treemap",G0t=o(t=>/^\s*treemap/.test(t),"detector"),V0t=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(H6e(),W6e));return{id:Y6e,diagram:t}},"loader"),j6e={id:Y6e,detector:G0t,loader:V0t};var X6e=!1,i2=o(()=>{X6e||(X6e=!0,$p("error",ake,t=>t.toLowerCase().trim()==="error"),$p("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),B2(oke,Jke,VCe),B2(ene,fEe,n5e,Jwe,e1e,c3e,x3e,D3e,Awe,Hwe,Wge,qge,Ike,R4e,z5e,P5e,nke,q3e,jEe,nSe,ywe,xCe,mSe,s6e,j6e,B6e))},"addDiagrams");xt();Fp();jt();var K6e=o(async()=>{K.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(uh).map(async([r,{detector:n,loader:i}])=>{if(i)try{V2(r)}catch{try{let{diagram:a,id:s}=await i();$p(s,a,n)}catch(a){throw K.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete uh[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){K.error(`Failed to load ${e.length} external diagrams`);for(let r of e)K.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");xt();Ar();var __="comm",D_="rule",R_="decl";var Q6e="@import";var Z6e="@namespace",J6e="@keyframes";var eAe="@layer";var iH=Math.abs,I3=String.fromCharCode;function L_(t){return t.trim()}o(L_,"trim");function O3(t,e,r){return t.replace(e,r)}o(O3,"replace");function tAe(t,e,r){return t.indexOf(e,r)}o(tAe,"indexof");function wp(t,e){return t.charCodeAt(e)|0}o(wp,"charat");function kp(t,e,r){return t.slice(e,r)}o(kp,"substr");function ol(t){return t.length}o(ol,"strlen");function rAe(t){return t.length}o(rAe,"sizeof");function a2(t,e){return e.push(t),t}o(a2,"append");var N_=1,s2=1,nAe=0,jl=0,Xi=0,l2="";function M_(t,e,r,n,i,a,s,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:N_,column:s2,length:s,return:"",siblings:l}}o(M_,"node");function iAe(){return Xi}o(iAe,"char");function aAe(){return Xi=jl>0?wp(l2,--jl):0,s2--,Xi===10&&(s2=1,N_--),Xi}o(aAe,"prev");function Xl(){return Xi=jl2||o2(Xi)>3?"":" "}o(lAe,"whitespace");function cAe(t,e){for(;--e&&Xl()&&!(Xi<48||Xi>102||Xi>57&&Xi<65||Xi>70&&Xi<97););return I_(t,P3()+(e<6&&ff()==32&&Xl()==32))}o(cAe,"escaping");function aH(t){for(;Xl();)switch(Xi){case t:return jl;case 34:case 39:t!==34&&t!==39&&aH(Xi);break;case 40:t===41&&aH(t);break;case 92:Xl();break}return jl}o(aH,"delimiter");function uAe(t,e){for(;Xl()&&t+Xi!==57;)if(t+Xi===84&&ff()===47)break;return"/*"+I_(e,jl-1)+"*"+I3(t===47?t:Xl())}o(uAe,"commenter");function hAe(t){for(;!o2(ff());)Xl();return I_(t,jl)}o(hAe,"identifier");function pAe(t){return oAe(P_("",null,null,null,[""],t=sAe(t),0,[0],t))}o(pAe,"compile");function P_(t,e,r,n,i,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,T="",E=i,w=a,k=n,S=T;v;)switch(g=b,b=Xl()){case 40:if(g!=108&&wp(S,d-1)==58){tAe(S+=O3(O_(b),"&","&\f"),"&\f",iH(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:S+=O_(b);break;case 9:case 10:case 13:case 32:S+=lAe(g);break;case 92:S+=cAe(P3()-1,7);continue;case 47:switch(ff()){case 42:case 47:a2(q0t(uAe(Xl(),P3()),e,r,u),u),(o2(g||1)==5||o2(ff()||1)==5)&&ol(S)&&kp(S,-1,void 0)!==" "&&(S+=" ");break;default:S+="/"}break;case 123*y:l[h++]=ol(S)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(S=O3(S,/\f/g,"")),m>0&&(ol(S)-d||y===0&&g===47)&&a2(m>32?dAe(S+";",n,r,d-1,u):dAe(O3(S," ","")+";",n,r,d-2,u),u);break;case 59:S+=";";default:if(a2(k=fAe(S,e,r,h,f,i,l,T,E=[],w=[],d,a),a),b===123)if(f===0)P_(S,e,k,k,E,a,d,l,w);else{switch(p){case 99:if(wp(S,3)===110)break;case 108:if(wp(S,2)===97)break;default:f=0;case 100:case 109:case 115:}f?P_(t,k,k,n&&a2(fAe(t,k,k,0,0,i,l,T,i,E=[],d,w),w),i,w,d,l,n?E:w):P_(S,k,k,k,[""],w,0,l,w)}}h=f=m=0,y=x=1,T=S="",d=s;break;case 58:d=1+ol(S),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&aAe()==125)continue}switch(S+=I3(b),b*y){case 38:x=f>0?1:(S+="\f",-1);break;case 44:l[h++]=(ol(S)-1)*x,x=1;break;case 64:ff()===45&&(S+=O_(Xl())),p=ff(),f=d=ol(T=S+=hAe(P3())),b++;break;case 45:g===45&&ol(S)==2&&(y=0)}}return a}o(P_,"parse");function fAe(t,e,r,n,i,a,s,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=rAe(m),y=0,v=0,x=0;y0?m[b]+" "+T:O3(T,/&\f/g,m[b])))&&(u[x++]=E);return M_(t,e,r,i===0?D_:l,u,h,f,d)}o(fAe,"ruleset");function q0t(t,e,r,n){return M_(t,e,r,__,I3(iAe()),kp(t,2,-2),0,n)}o(q0t,"comment");function dAe(t,e,r,n,i){return M_(t,e,r,R_,kp(t,0,n),kp(t,n+1,-1),n,i)}o(dAe,"declaration");function B_(t,e){for(var r="",n=0;n{vAe.forEach(t=>{t()}),vAe=[]},"attachFunctions");xt();var bAe=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");Ow();ib();function TAe(t){let e=t.match(Iw);if(!e)return{text:t,metadata:{}};let r=Kf(e[1],{schema:Xf})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}o(TAe,"extractFrontMatter");ar();var W0t=o(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),H0t=o(t=>{let{text:e,metadata:r}=TAe(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),Y0t=o(t=>{let e=Xt.detectInit(t)??{},r=Xt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:Gre(t),directive:e}},"processDirectives");function sH(t){let e=W0t(t),r=H0t(e),n=Y0t(r.text),i=Pn(r.config,n.directive);return t=bAe(n.text),{code:t,title:r.title,config:i}}o(sH,"preprocessDiagram");wD();Q3();ar();function wAe(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}o(wAe,"toBase64");var j0t=5e4,X0t="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",K0t="sandbox",Q0t="loose",Z0t="http://www.w3.org/2000/svg",J0t="http://www.w3.org/1999/xlink",emt="http://www.w3.org/1999/xhtml",tmt="100%",rmt="100%",nmt="border:0;margin:0;",imt="margin:0",amt="allow-top-navigation-by-user-activation allow-popups",smt='The "iframe" tag is not supported by your browser.',omt=["foreignobject"],lmt=["dominant-baseline"];function CAe(t){let e=sH(t);return x2(),bY(e.config??{}),e}o(CAe,"processAndSetConfigs");async function cmt(t,e){i2();try{let{code:r,config:n}=CAe(t);return{diagramType:(await AAe(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(cmt,"parse");var kAe=o((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),umt=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Tr(l.styles)||s.forEach(u=>{r+=zCe(l.id,u,l.styles)}),Tr(l.textStyles)||(r+=zCe(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),kdt=o((t,e,r,n)=>{let i=wdt(t,r),a=Hj(e,i,t.themeVariables);return T8(LCe(`${n}{${a}}`),NCe)},"createUserStyles"),Sdt=o((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=ga(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),Edt=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":pdt,n=$Ce(`${t}`);return``},"putIntoIFrame"),GCe=o((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",udt);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function VCe(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(VCe,"sandboxedIframe");var Cdt=o((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),Adt=o(async function(t,e,r){Hv();let n=qCe(e);e=n.code;let i=tr();X.debug(i),e.length>(i?.maxTextSize??sdt)&&(e=odt);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let A=He(p?l:h).node();A&&"remove"in A&&A.remove()},"removeTempElements"),d=He("body"),p=i.securityLevel===ldt,m=i.securityLevel===cdt,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let S=VCe(He(r),s);d=He(S.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=He(r);GCe(d,t,u,`font-family: ${g}`,hdt)}else{if(Cdt(document,t,u,s),p){let S=VCe(He("body"),s);d=He(S.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=He("body");GCe(d,t,u)}let y,v;try{y=await Qv.fromText(e,{title:n.title})}catch(S){if(i.suppressErrorRendering)throw f(),S;y=await Qv.fromText("error"),v=S}let x=d.select(h).node(),b=y.type,T=x.firstChild,E=T.firstChild,w=y.renderer.getClasses?.(e,y),k=kdt(i,b,w,a),C=document.createElement("style");C.innerHTML=k,T.insertBefore(C,E);try{await y.renderer.draw(e,t,JT.version,y)}catch(S){throw i.suppressErrorRendering?f():v5e.draw(e,t,JT.version),S}let D=d.select(`${h} svg`),R=y.db.getAccTitle?.(),O=y.db.getAccDescription?.();Ddt(b,D,R,O),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",fdt);let L=d.select(h).node().innerHTML;if(X.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),L=Sdt(L,p,Sr(i.arrowMarkerAbsolute)),p){let S=d.select(h+" svg").node();L=Edt(L,S)}else m||(L=ff.sanitize(L,{ADD_TAGS:xdt,ADD_ATTR:bdt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(PCe(),v)throw v;return f(),{diagramType:b,svg:L,bindFunctions:y.db.bindFunctions}},"render");function _dt(t={}){let e=$n({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),PH(e),e?.theme&&e.theme in rl?e.themeVariables=rl[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=rl.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?t_(e):r_();Jv(r.logLevel),Hv()}o(_dt,"initialize");var UCe=o((t,e={})=>{let{code:r}=CW(t);return Qv.fromText(r,e)},"getDiagramFromText");function Ddt(t,e,r,n){MCe(e,t),ICe(e,r,n,e.attr("id"))}o(Ddt,"addA11yInfo");var Tp=Object.freeze({render:Adt,parse:Tdt,getDiagramFromText:UCe,initialize:_dt,getConfig:tr,setConfig:G3,getSiteConfig:r_,updateSiteConfig:BH,reset:o(()=>{o2()},"reset"),globalReset:o(()=>{o2(hf)},"globalReset"),defaultConfig:hf});Jv(tr().logLevel);o2(tr());Cd();sr();var Rdt=o((t,e,r)=>{X.warn(t),bN(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),WCe=o(async function(t={querySelector:".mermaid"}){try{await Ldt(t)}catch(e){if(bN(e)&&X.error(e.str),sf.parseError&&sf.parseError(e),!t.suppressErrors)throw X.error("Use the suppressErrors option to suppress these errors"),e}},"run"),Ldt=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=Tp.getConfig();X.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");X.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(X.debug("Start On Load: "+n?.startOnLoad),Tp.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new jt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,l=[];for(let u of Array.from(i)){X.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=bw(jt.entityDecode(s)).trim().replace(//gi,"
    ");let f=jt.detectInit(s);f&&X.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await XCe(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){Rdt(d,l,sf.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),HCe=o(function(t){Tp.initialize(t)},"initialize"),Ndt=o(async function(t,e,r){X.warn("mermaid.init is deprecated. Please use run instead."),t&&HCe(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await WCe(n)},"init"),Mdt=o(async(t,{lazyLoad:e=!0}={})=>{Hv(),S2(...t),e===!1&&await dCe()},"registerExternalDiagrams"),YCe=o(function(){if(sf.startOnLoad){let{startOnLoad:t}=Tp.getConfig();t&&sf.run().catch(e=>X.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",YCe,!1)}var Idt=o(function(t){sf.parseError=t},"setParseErrorHandler"),w8=[],AW=!1,jCe=o(async()=>{if(!AW){for(AW=!0;w8.length>0;){let t=w8.shift();if(t)try{await t()}catch(e){X.error("Error executing queue",e)}}AW=!1}},"executeQueue"),Odt=o(async(t,e)=>new Promise((r,n)=>{let i=o(()=>new Promise((a,s)=>{Tp.parse(t,e).then(l=>{a(l),r(l)},l=>{X.error("Error parsing",l),sf.parseError?.(l),s(l),n(l)})}),"performCall");w8.push(i),jCe().catch(n)}),"parse"),XCe=o((t,e,r)=>new Promise((n,i)=>{let a=o(()=>new Promise((s,l)=>{Tp.render(t,e,r).then(u=>{s(u),n(u)},u=>{X.error("Error parsing",u),sf.parseError?.(u),l(u),i(u)})}),"performCall");w8.push(a),jCe().catch(i)}),"render"),Pdt=o(()=>Object.keys(ah).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),sf={startOnLoad:!0,mermaidAPI:Tp,parse:Odt,render:XCe,init:Ndt,run:WCe,registerExternalDiagrams:Mdt,registerLayoutLoaders:mB,initialize:HCe,parseError:void 0,contentLoaded:YCe,setParseErrorHandler:Idt,detectType:hg,registerIconPacks:xw,getRegisteredDiagramsMetadata:Pdt},Bdt=sf;return D3(Fdt);})(); +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=Sr(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Er(l.styles)||s.forEach(u=>{r+=kAe(l.id,u,l.styles)}),Er(l.textStyles)||(r+=kAe(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),hmt=o((t,e,r,n)=>{let i=umt(t,r),a=CX(e,i,t.themeVariables);return B_(pAe(`${n}{${a}}`),mAe)},"createUserStyles"),fmt=o((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=ao(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),dmt=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":rmt,n=wAe(`${t}`);return``},"putIntoIFrame"),EAe=o((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",Z0t);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function SAe(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(SAe,"sandboxedIframe");var pmt=o((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),mmt=o(async function(t,e,r){i2();let n=CAe(e);e=n.code;let i=Zt();K.debug(i),e.length>(i?.maxTextSize??j0t)&&(e=X0t);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let _=je(p?l:h).node();_&&"remove"in _&&_.remove()},"removeTempElements"),d=je("body"),p=i.securityLevel===K0t,m=i.securityLevel===Q0t,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let C=SAe(je(r),s);d=je(C.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=je(r);EAe(d,t,u,`font-family: ${g}`,J0t)}else{if(pmt(document,t,u,s),p){let C=SAe(je("body"),s);d=je(C.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=je("body");EAe(d,t,u)}let y,v;try{y=await c2.fromText(e,{title:n.title})}catch(C){if(i.suppressErrorRendering)throw f(),C;y=await c2.fromText("error"),v=C}let x=d.select(h).node(),b=y.type,T=x.firstChild,E=T.firstChild,w=y.renderer.getClasses?.(e,y),k=hmt(i,b,w,a),S=document.createElement("style");S.innerHTML=k,T.insertBefore(S,E);try{await y.renderer.draw(e,t,"11.13.0",y)}catch(C){throw i.suppressErrorRendering?f():ike.draw(e,t,"11.13.0"),C}let A=d.select(`${h} svg`),L=y.db.getAccTitle?.(),I=y.db.getAccDescription?.();ymt(b,A,L,I),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",emt);let N=d.select(h).node().innerHTML;if(K.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),N=fmt(N,p,Xs(i.arrowMarkerAbsolute)),p){let C=d.select(h+" svg").node();N=dmt(N,C)}else m||(N=fl.sanitize(N,{ADD_TAGS:omt,ADD_ATTR:lmt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(xAe(),v)throw v;return f(),{diagramType:b,svg:N,bindFunctions:y.db.bindFunctions}},"render");function gmt(t={}){let e=Vn({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),yY(e),e?.theme&&e.theme in ul?e.themeVariables=ul[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=ul.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?m8(e):g8();h2(r.logLevel),i2()}o(gmt,"initialize");var AAe=o((t,e={})=>{let{code:r}=sH(t);return c2.fromText(r,e)},"getDiagramFromText");function ymt(t,e,r,n){gAe(e,t),yAe(e,r,n,e.attr("id"))}o(ymt,"addA11yInfo");var Ep=Object.freeze({render:mmt,parse:cmt,getDiagramFromText:AAe,initialize:gmt,getConfig:Zt,setConfig:ew,getSiteConfig:g8,updateSiteConfig:vY,reset:o(()=>{x2()},"reset"),globalReset:o(()=>{x2(vf)},"globalReset"),defaultConfig:vf});h2(Zt().logLevel);x2(Zt());Rd();ar();var vmt=o((t,e,r)=>{K.warn(t),ON(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),_Ae=o(async function(t={querySelector:".mermaid"}){try{await xmt(t)}catch(e){if(ON(e)&&K.error(e.str),df.parseError&&df.parseError(e),!t.suppressErrors)throw K.error("Use the suppressErrors option to suppress these errors"),e}},"run"),xmt=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=Ep.getConfig();K.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");K.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(K.debug("Start On Load: "+n?.startOnLoad),Ep.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new Xt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,l=[];for(let u of Array.from(i)){K.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=Mw(Xt.entityDecode(s)).trim().replace(//gi,"
    ");let f=Xt.detectInit(s);f&&K.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await NAe(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){vmt(d,l,df.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),DAe=o(function(t){Ep.initialize(t)},"initialize"),bmt=o(async function(t,e,r){K.warn("mermaid.init is deprecated. Please use run instead."),t&&DAe(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await _Ae(n)},"init"),Tmt=o(async(t,{lazyLoad:e=!0}={})=>{i2(),B2(...t),e===!1&&await K6e()},"registerExternalDiagrams"),RAe=o(function(){if(df.startOnLoad){let{startOnLoad:t}=Ep.getConfig();t&&df.run().catch(e=>K.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",RAe,!1)}var wmt=o(function(t){df.parseError=t},"setParseErrorHandler"),F_=[],oH=!1,LAe=o(async()=>{if(!oH){for(oH=!0;F_.length>0;){let t=F_.shift();if(t)try{await t()}catch(e){K.error("Error executing queue",e)}}oH=!1}},"executeQueue"),kmt=o(async(t,e)=>new Promise((r,n)=>{let i=o(()=>new Promise((a,s)=>{Ep.parse(t,e).then(l=>{a(l),r(l)},l=>{K.error("Error parsing",l),df.parseError?.(l),s(l),n(l)})}),"performCall");F_.push(i),LAe().catch(n)}),"parse"),NAe=o((t,e,r)=>new Promise((n,i)=>{let a=o(()=>new Promise((s,l)=>{Ep.render(t,e,r).then(u=>{s(u),n(u)},u=>{K.error("Error parsing",u),df.parseError?.(u),l(u),i(u)})}),"performCall");F_.push(a),LAe().catch(i)}),"render"),Emt=o(()=>Object.keys(uh).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),df={startOnLoad:!0,mermaidAPI:Ep,parse:kmt,render:NAe,init:bmt,run:_Ae,registerExternalDiagrams:Tmt,registerLayoutLoaders:LB,initialize:DAe,parseError:void 0,contentLoaded:RAe,setParseErrorHandler:wmt,detectType:vg,registerIconPacks:Nw,getRegisteredDiagramsMetadata:Emt},Smt=df;return G3(Cmt);})(); /*! Check if previously processed */ /*! * Wait for document loaded before starting the execution @@ -2808,10 +2987,10 @@ ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` /*! Bundled license information: dompurify/dist/purify.es.mjs: - (*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE *) + (*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE *) js-yaml/dist/js-yaml.mjs: - (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) + (*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *) lodash-es/lodash.js: (** diff --git a/next/index.html b/next/index.html index 4d53149..8e23224 100644 --- a/next/index.html +++ b/next/index.html @@ -1053,6 +1053,34 @@ +

  • + + + + + + + + Httpserver + + + + + + + + +
  • + + + + + + + + + +
  • diff --git a/next/search/search_index.json b/next/search/search_index.json index c9290b7..8ec90fe 100644 --- a/next/search/search_index.json +++ b/next/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Overview","text":"

    PostalPoint\u00ae supports JavaScript plugin extensions. Plugins can hook into PostalPoint to add features and integrations.

    "},{"location":"#what-plugins-can-do","title":"What plugins can do","text":"
    • Process card payments and handle saved payment methods
    • Process cryptocurrency payments
    • Add additional carriers, providing shipping rates and labels
    • Print to label and receipt printers, letting PostalPoint handle hardware support and drivers
    • Extend support for prepaid label acceptance, prepaid barcode recognition, and carrier dropoff QR codes
    • Install pages in the Tools menu, creating new interfaces and features
    • Receive transaction receipts for ingestion into third-party accounting or business software
    • Display interactive HTML5 content on the customer-facing screen
    • Run both Node.JS and browser code.
    "},{"location":"#postalpoint-devtools-and-testing-builds","title":"PostalPoint DevTools and Testing Builds","text":"

    The PostalPoint build server creates installers from the latest prerelease changes. It is not recommended to use these builds for production purposes, but they contain the latest changes to plugin APIs.

    For Windows developers, you'll want to download a \"postalpoint-retail-sdk_x.xx.exe\" installer, as it contains the Chromium DevTools.

    To enable DevTools on Linux, simply run sudo apt install nw.js-sdk and restart PostalPoint.

    To access the DevTools, press F12 or right-click anywhere inside PostalPoint and click Inspect. Depending on various factors, some plugin console output may go to the \"background page\"; right-click and click \"Inspect background page\" to view that console.

    "},{"location":"#plugin-package-structure","title":"Plugin Package Structure","text":"

    A plugin is distributed as a simple ZIP file, containing a folder. The folder then has at least one file, named plugin.js. The exports.init function in plugin.js is executed when PostalPoint launches, allowing the plugin to request involvement with various events in PostalPoint.

    PostalPoint installs plugin packages by unzipping their contents into a plugins folder. Plugins are uninstalled by deleting their folder.

    "},{"location":"#postalpoint-plugin-api","title":"PostalPoint Plugin API","text":"

    The PostalPoint plugin API is a globally-available object named global.apis. It contains many useful functions for integrating with PostalPoint. All the APIs listed under the Plugin API section must be prefixed with global.apis. in order to work.

    "},{"location":"#minimal-plugin-code","title":"Minimal Plugin Code","text":"plugin-name/plugin.js
    exports.init = function () {\n    global.apis.alert(\"This message appears when PostalPoint launches.\", \"Hello!\");\n};\n

    Yes, the smallest plugin really is just two lines of code, and accessing PostalPoint features really is that easy.

    "},{"location":"#plugin-metadata-file","title":"Plugin Metadata File","text":"

    While not strictly required, a package.json is encouraged, and allows specifying the plugin's display name, PostalPoint version compatibility, and other metadata.

    Sample:

    {\n    \"name\": \"plugin-id-here\",\n    \"main\": \"plugin.js\",\n    \"description\": \"Human-readable description of the plugin\",\n    \"version\": \"1.0.0\",\n    \"author\": \"Your Name\",\n    \"license\": \"Code license name\",\n    \"postalpoint\": {\n        \"pluginname\": \"Display Name for Plugin\",\n        \"minVersion\": \"000034\",\n        \"maxVersion\": \"001000\"\n    }\n}\n

    PostalPoint version codes are MMMnnn where MMM is the major version and nnn is the minor version, zero-padded. So version 0.35 is \"000035\", and 1.23 is \"001023\".

    "},{"location":"Docs/Address/","title":"Address object","text":"
    export default class Address {\n    constructor(uuid = \"\", name = \"\", company = \"\", street1 = \"\", street2 = \"\", zip = \"\", city = \"\", state = \"\", country = \"\", phone = \"\", email = \"\", taxid = \"\") {\n        this.uuid = uuid;\n        this.name = name;\n        this.company = company;\n        this.street1 = street1;\n        this.street2 = street2;\n        this.zip = zip;\n        this.city = city;\n        this.state = state;\n        this.country = country;\n        this.phone = phone;\n        this.email = email;\n        this.taxid = taxid;\n        this.residential = null;\n    }\n\n    static fromObject(address) {\n        if (address instanceof Address) {\n            return address;\n        }\n        var a = new Address(address.uuid ?? \"\", address.name, address.company, address.street1,\n                address.street2, address.zip, address.city, address.state, address.country,\n                address.phone, address.email, address.taxid);\n        return a;\n    }\n\n    toStringArray(expandCountry = false) {\n        var citystatezipLine = [this.city, this.state, this.zip].filter(Boolean);\n        var country = this.country == defaultCountryCode() ? \"\" : this.country;\n        if (expandCountry && country != \"\") {\n            country = getCountryNameForISO(country);\n        }\n        return [this.name, this.company, this.street1, this.street2, `${citystatezipLine.join(\" \")}`, country, (this.taxid ? \"Tax ID \" + this.taxid : \"\")].filter(Boolean);\n    }\n\n    /**\n     * Test if the address provided is the same as this address.\n     */\n    equals(address, checkUUID = false) {\n        if (\n                (checkUUID ? this.uuid == address.uuid : true)\n                && this.name == address.name\n                && this.company == address.company\n                && this.street1 == address.street1\n                && this.street2 == address.street2\n                && this.city == address.city\n                && this.state == address.state\n                && this.zip == address.zip\n                && this.country == address.country\n                && this.taxid == address.taxid) {\n            return true;\n        }\n        return false;\n    }\n\n    /**\n     * Test if an address is the same delivery point as this address.\n     */\n    dpEquals(address) {\n        if (\n                this.street1 == address.street1\n                && this.street2 == address.street2\n                && this.city == address.city\n                && this.state == address.state\n                && this.zip == address.zip\n                && this.country == address.country) {\n            return true;\n        }\n        return false;\n    }\n}\n
    "},{"location":"Docs/Carrier_Service/","title":"getCarrierName and getServiceName","text":"

    This is the source code for global.apis.shipping.getCarrierName and global.apis.shipping.getServiceName.

    "},{"location":"Docs/Carrier_Service/#getcarriername","title":"getCarrierName","text":"
    export function getCarrierName(carrier) {\n    switch (carrier) {\n        case \"USPS\":\n        case \"USPSReturns\":\n        case \"usps\":\n            return \"USPS\";\n        case \"UPS\":\n        case \"UPSDAP\":\n        case \"ups\":\n            return \"UPS\";\n        case \"FedExDefault\":\n        case \"FedExSmartPost\":\n        case \"fedex\":\n            return \"FedEx\";\n        case \"DHLExpress\":\n        case \"dhl_express\":\n            return \"DHL Express\";\n        case \"DhlEcs\":\n            return \"DHL eCommerce\";\n        case \"SpeedeeAccount\":\n            return \"Spee-Dee\";\n        case \"globalpost\":\n            return \"GlobalPost\";\n        case \"AccurateAccount\":\n            return \"Accurate Courier Express\";\n        case \"ApcAccount\":\n            return \"APC\";\n        case \"AsendiaUsaAccount\":\n            return \"Asendia\";\n        case \"BetterTrucksAccount\":\n            return \"Better Trucks\";\n        case \"BluestreakAccount\":\n            return \"Blue Streak\";\n        case \"CanadaPostAccount\":\n        case \"CanadaPost\":\n            return \"Canada Post\";\n        case \"GsoAccount\":\n            return \"GLS\";\n        case \"LsoAccount\":\n            return \"LSO\";\n        case \"OntracV3Account\":\n            return \"OnTrac\";\n        case \"USAExportPBA\":\n            return \"Asendia\";\n        case \"FirstChoiceAccount\":\n            return \"1st Choice Delivery\";\n        case \"PurolatorAccount\":\n            return \"Purolator\";\n        case \"CanparAccount\":\n            return \"Canpar\";\n        case \"MaerskAccount\":\n            return \"Maersk\";\n    }\n    if (carrier.endsWith(\"Account\")) {\n        // A lot of EasyPost carriers are the carrier name and the word Account\n        return carrier.replace(\"Account\", \"\");\n    }\n    return carrier;\n}\n
    "},{"location":"Docs/Carrier_Service/#getservicename","title":"getServiceName","text":"
    export function getServiceName(serviceId, carrierId = \"USPS\") {\n    var carrier = getCarrierName(carrierId);\n    switch (serviceId) {\n        // Ambiguous\n        case \"\":\n            // Used internally if no service ID defined by a plugin or whatever\n            return \"\";\n        case \"Ground\":\n            return \"Ground\";\n        case \"Express\":\n            if (carrier == \"UPS\") {\n                return \"Worldwide Express\";\n            } else if (carrier == \"USPS\") {\n                return \"Priority Mail Express\";\n            } else {\n                return \"Express\";\n            }\n        case \"Priority\":\n            if (carrier == \"USPS\") {\n                return \"Priority Mail\";\n            }\n            return \"Priority\";\n\n\n            // USPS\n        case \"First\":\n        case \"usps_first_class_mail\":\n        case \"First-Class Mail\":\n            return \"First-Class Mail\";\n        case \"FirstClassMailInternational\":\n        case \"usps_first_class_mail_international\":\n        case \"First-Class Mail International\":\n            return \"First-Class Mail International\";\n        case \"GroundAdvantage\":\n        case \"usps_ground_advantage\":\n        case \"Ground Advantage\":\n            return \"Ground Advantage\";\n        case \"MediaMail\":\n        case \"usps_media_mail\":\n        case \"Media Mail\":\n            return \"Media Mail\";\n        case \"LibraryMail\":\n        case \"usps_library_mail\":\n        case \"Library Mail\":\n            return \"Library Mail\";\n        case \"usps_priority_mail\":\n        case \"Priority Mail\":\n            return \"Priority Mail\";\n        case \"PriorityMailInternational\":\n        case \"usps_priority_mail_international\":\n        case \"Priority Mail International\":\n            return \"Priority Mail International\";\n        case \"usps_priority_mail_express\":\n        case \"Priority Mail Express\":\n            return \"Priority Mail Express\";\n        case \"ExpressMailInternational\":\n        case \"usps_priority_mail_express_international\":\n        case \"Priority Mail Express International\":\n            return \"Priority Mail Express International\";\n        case \"FirstClassPackageInternationalService\":\n        case \"First-Class Pkg International\":\n            return \"First-Class Pkg International\";\n\n\n            // UPS\n        case \"UPSWorldwideExpress\":\n        case \"ups_worldwide_express\":\n            return \"Worldwide Express\";\n        case \"ExpressPlus\":\n        case \"UPSExpressPlus\":\n        case \"ups_worldwide_express_plus\":\n            return \"Worldwide Express Plus\";\n        case \"Expedited\":\n        case \"UPSWorldwideExpedited\":\n        case \"ups_worldwide_expedited\":\n            return \"Worldwide Expedited\";\n        case \"UPSWorldwideEconomyDDU\":\n            return \"Worldwide Economy DDU\";\n        case \"NextDayAir\":\n        case \"ups_next_day_air\":\n            return \"Next Day Air\";\n        case \"NextDayAirSaver\":\n        case \"ups_next_day_air_saver\":\n            return \"Next Day Air Saver\";\n        case \"NextDayAirEarlyAM\":\n        case \"ups_next_day_air_early\":\n            return \"Next Day Air A.M.\";\n        case \"2ndDayAir\":\n        case \"ups_2nd_day_air\":\n            return \"2nd Day Air\";\n        case \"2ndDayAirAM\":\n        case \"ups_2nd_day_air_am\":\n            return \"2nd Day Air A.M.\";\n        case \"3DaySelect\":\n        case \"ups_3_day_select\":\n            return \"3-Day Select\";\n        case \"ups_ground\":\n            return \"Ground\";\n        case \"UPSGroundsaverGreaterThan1lb\":\n            return \"Ground Saver\";\n        case \"UPSStandard\":\n        case \"ups_standard\":\n            return \"Standard\";\n        case \"UPSSaver\":\n        case \"ups_worldwide_saver\":\n            return \"Worldwide Saver\";\n\n\n            // FedEx\n        case \"FEDEX_GROUND\":\n        case \"fedex_ground\":\n            return \"Ground\";\n        case \"FEDEX_2_DAY\":\n        case \"fedex_2day\":\n            return \"2 Day\";\n        case \"FEDEX_2_DAY_AM\":\n        case \"fedex_2day_am\":\n            return \"2 Day AM\";\n        case \"FEDEX_EXPRESS_SAVER\":\n        case \"fedex_express_saver\":\n            return \"Express Saver\";\n        case \"STANDARD_OVERNIGHT\":\n        case \"fedex_standard_overnight\":\n            return \"Standard Overnight\";\n        case \"FIRST_OVERNIGHT\":\n        case \"fedex_first_overnight\":\n            return \"First Overnight\";\n        case \"PRIORITY_OVERNIGHT\":\n        case \"fedex_priority_overnight\":\n            return \"Priority Overnight\";\n        case \"INTERNATIONAL_ECONOMY\":\n        case \"fedex_international_economy\":\n            return \"International Economy\";\n        case \"INTERNATIONAL_FIRST\":\n        case \"fedex_international_first\":\n            return \"International First\";\n        case \"FEDEX_INTERNATIONAL_PRIORITY\":\n        case \"INTERNATIONAL_PRIORITY\":\n        case \"fedex_international_priority\":\n            return \"International Priority\";\n        case \"FEDEX_INTERNATIONAL_PRIORITY_EXPRESS\":\n        case \"INTERNATIONAL_PRIORITY_EXPRESS\":\n            return \"International Priority Express\";\n        case \"FEDEX_INTERNATIONAL_CONNECT_PLUS\":\n        case \"INTERNATIONAL_CONNECT_PLUS\":\n            return \"International Connect Plus\";\n        case \"GROUND_HOME_DELIVERY\":\n        case \"fedex_home_delivery\":\n            return \"Ground Home Delivery\";\n        case \"SMART_POST\":\n            return \"Ground Economy\";\n        case \"FEDEX_FIRST_FREIGHT\":\n            return \"First Overnight Freight\";\n        case \"FEDEX_1_DAY_FREIGHT\":\n            return \"1-Day Freight\";\n        case \"FEDEX_2_DAY_FREIGHT\":\n            return \"2-Day Freight\";\n        case \"FEDEX_3_DAY_FREIGHT\":\n            return \"3-Day Freight\";\n        case \"INTERNATIONAL_PRIORITY_FREIGHT\":\n            return \"International Priority Freight\";\n        case \"INTERNATIONAL_ECONOMY_FREIGHT\":\n            return \"International Economy Freight\";\n\n\n            // USPS Returns\n        case \"GroundAdvantageReturn\":\n            return \"Ground Advantage Return\";\n        case \"PriorityMailReturn\":\n            return \"Priority Mail Return\";\n        case \"PriorityMailExpressReturn\":\n            return \"Priority Mail Express Return\";\n\n\n            // DHL Express\n        case \"DomesticEconomySelect\":\n            return \"Domestic Economy Select\";\n        case \"DomesticExpress\":\n            return \"Domestic Express\";\n        case \"DomesticExpress1030\":\n            return \"Domestic Express 10:30\";\n        case \"DomesticExpress1200\":\n            return \"Domestic Express 12:00\";\n        case \"EconomySelect\":\n            return \"Economy Select Document\";\n        case \"EconomySelectNonDoc\":\n            return \"Economy Select Non-Document\";\n        case \"EuroPack\":\n            return \"EuroPack Document\";\n        case \"EuropackNonDoc\":\n            return \"EuroPack Non-Document\";\n        case \"Express1030\":\n            return \"10:30 Document\";\n        case \"Express1030NonDoc\":\n            return \"10:30 Non-Document\";\n        case \"Express1200NonDoc\":\n            return \"12:00 Non-Document\";\n        case \"Express1200\":\n            return \"12:00 Document\";\n        case \"Express900\":\n            return \"9:00 Document\";\n        case \"Express900NonDoc\":\n            return \"9:00 Non-Doc\";\n        case \"ExpressEasy\":\n            return \"Easy Document\";\n        case \"ExpressEasyNonDoc\":\n            return \"Easy Non-Document\";\n        case \"ExpressEnvelope\":\n            return \"Envelope\";\n        case \"ExpressWorldwide\":\n        case \"dhl_express_worldwide\":\n            return \"Worldwide Document\";\n        case \"ExpressWorldwideB2C\":\n            return \"Worldwide B2C\";\n        case \"ExpressWorldwideB2CNonDoc\":\n            return \"Worldwide B2C Non-Document\";\n        case \"ExpressWorldwideECX\":\n            return \"Worldwide ECX\";\n        case \"ExpressWorldwideNonDoc\":\n            return \"Worldwide Non-Document\";\n\n\n            // DHL eCommerce\n        case \"DHLParcelExpedited\":\n            return \"Parcel Expedited\";\n        case \"DHLParcelExpeditedMax\":\n            return \"Parcel Expedited Max\";\n        case \"DHLParcelGround\":\n            return \"Parcel Ground\";\n        case \"DHLBPMExpedited\":\n            return \"PM Expedited\";\n        case \"DHLBPMGround\":\n            return \"PM Ground\";\n        case \"DHLParcelInternationalDirect\":\n            return \"Parcel International Direct\";\n        case \"DHLParcelInternationalStandard\":\n            return \"Parcel International Standard\";\n        case \"DHLParcelInternationalDirectSMB\":\n            return \"Parcel International Direct\";\n        case \"DHLParcelInternationalStandardSMB\":\n            return \"Parcel International Standard\";\n        case \"DHLPacketInternational\":\n            return \"Packet International\";\n        case \"DHLParcelInternationalDirectPriority\":\n            return \"Parcel International Direct Priority\";\n        case \"DHLParcelInternationalDirectStandard\":\n            return \"Parcel International Direct Standard\";\n\n            // Asendia USA Export\n        case \"USAExportStandard\":\n            return \"USA Export Standard\";\n        case \"USAExportPlus\":\n            return \"USA Export Plus\";\n        case \"USAExportSelect\":\n            return \"USA Export Select\";\n\n            // Spee-Dee\n        case \"SpeeDeeDelivery\":\n            return \"Delivery\";\n\n            // GlobalPost\n        case \"globalpost_standard_international\":\n            return \"Standard International\";\n        case \"globalpost_economy_international\":\n            return \"Economy International\";\n        case \"globalpost_plus\":\n            return \"Plus\";\n        case \"globalpost_first_class_international\":\n            return \"First-Class International\";\n\n            // Canada Post\n        case \"RegularParcel\":\n            return \"Regular Parcel\";\n        case \"ExpeditedParcel\":\n            return \"Expedited Parcel\";\n        case \"Xpresspost\":\n            return \"Xpresspost\";\n        case \"ExpeditedParcelUSA\":\n            return \"Expedited Parcel USA\";\n        case \"SmallPacketUSAAir\":\n            return \"Small Packet USA Air\";\n        case \"TrackedPacketUSA\":\n            return \"Tracked Packet USA\";\n        case \"TrackedPacketUSALVM\":\n            return \"Tracked Packet USA LVM\";\n        case \"XpresspostUSA\":\n            return \"Xpresspost USA\";\n        case \"XpresspostInternational\":\n            return \"Xpresspost Int'l\";\n        case \"InternationalParcelAir\":\n            return \"Int'l Parcel Air\";\n        case \"InternationalParcelSurface\":\n            return \"Int'l Parcel Surface\";\n        case \"SmallPacketInternationalAir\":\n            return \"Small Packet Int'l Air\";\n        case \"SmallPacketInternationalSurface\":\n            return \"Small Packet Int'l Surface\";\n        case \"TrackedPacketInternational\":\n            return \"Tracked Packet Int'l\";\n        case \"ExpeditedParcelPlus\":\n            return \"Expedited Parcel Plus\";\n\n\n            // GLS US\n        case \"EarlyPriorityOvernight\":\n            return \"Early Priority Overnight\";\n        case \"PriorityOvernight\":\n            return \"Priority Overnight\";\n        case \"CaliforniaParcelService\":\n            return \"California Parcel\";\n        case \"SaturdayDeliveryService\":\n            return \"Saturday Delivery\";\n        case \"EarlySaturdayService\":\n            return \"Early Saturday\";\n        case \"NoonPriorityService\":\n            return \"Noon Priority\";\n\n            // OnTrac\n        case \"GRND\":\n            return \"Ground\";\n\n            // LSO\n        case \"PriorityEarly\":\n            return \"Priority Early\";\n        case \"PriorityBasic\":\n            return \"Priority Basic\";\n        case \"Priority2ndDay\":\n            return \"Priority 2nd Day\";\n        case \"GroundEarly\":\n            return \"Ground Early\";\n        case \"GroundBasic\":\n            return \"Ground Basic\";\n        case \"ECommerce\":\n            return \"ECommerce\";\n\n            // Canpar\n        case \"USA\":\n            return \"USA\";\n        case \"SelectLetter\":\n            return \"Select Letter\";\n        case \"SelectPak\":\n            return \"Select Pak\";\n        case \"Select\":\n            return \"Select\";\n        case \"OvernightLetter\":\n            return \"Overnight Letter\";\n        case \"Overnight\":\n            return \"Overnight\";\n        case \"USALetter\":\n            return \"USA Letter\";\n        case \"USAPak\":\n            return \"USA Pak\";\n        case \"SelectUSA\":\n            return \"Select USA\";\n        case \"International\":\n            return \"International\";\n\n            // Purolator\n        case \"PurolatorExpress\":\n            return \"Express\";\n        case \"PurolatorExpress12PM\":\n            return \"Express 12PM\";\n        case \"PurolatorExpressPack12PM\":\n            return \"Express Pack 12PM\";\n        case \"PurolatorExpressBox12PM\":\n            return \"Express Box 12PM\";\n        case \"PurolatorExpressEnvelope12PM\":\n            return \"Express Envelope 12PM\";\n        case \"PurolatorExpress1030AM\":\n            return \"Express 10:30AM\";\n        case \"PurolatorExpress9AM\":\n            return \"Express 9AM\";\n        case \"PurolatorExpressBox\":\n            return \"Express Box\";\n        case \"PurolatorExpressBox1030AM\":\n            return \"Express Box 10:30AM\";\n        case \"PurolatorExpressBox9AM\":\n            return \"Express Box 9AM\";\n        case \"PurolatorExpressBoxEvening\":\n            return \"Express Box Evening\";\n        case \"PurolatorExpressBoxInternational\":\n            return \"Express Box International\";\n        case \"PurolatorExpressBoxUS\":\n            return \"Express Box US\";\n        case \"PurolatorExpressEnvelope\":\n            return \"Express Envelope\";\n        case \"PurolatorExpressEnvelope1030AM\":\n            return \"Express Envelope 10:30AM\";\n        case \"PurolatorExpressEnvelope9AM\":\n            return \"Express Envelope 9AM\";\n        case \"PurolatorExpressEnvelopeEvening\":\n            return \"Express Envelope Evening\";\n        case \"PurolatorExpressEnvelopeInternational\":\n            return \"Express Envelope International\";\n        case \"PurolatorExpressEnvelopeUS\":\n            return \"Express Envelope US\";\n        case \"PurolatorExpressEvening\":\n            return \"Express Evening\";\n        case \"PurolatorExpressInternational\":\n            return \"Express International\";\n        case \"PurolatorExpressInternational1030AM\":\n            return \"Express International 10:30AM\";\n        case \"PurolatorExpressInternational1200\":\n            return \"Express International 12:00\";\n        case \"PurolatorExpressInternational9AM\":\n            return \"Express International 9AM\";\n        case \"PurolatorExpressBoxInternational1030AM\":\n            return \"Express Box International 10:30AM\";\n        case \"PurolatorExpressBoxInternational1200\":\n            return \"Express Box International 12:00\";\n        case \"PurolatorExpressBoxInternational9AM\":\n            return \"Express Box International 9AM\";\n        case \"PurolatorExpressEnvelopeInternational1030AM\":\n            return \"Express Envelope International 10:30AM\";\n        case \"PurolatorExpressEnvelopeInternational1200\":\n            return \"Express Envelope International 12:00\";\n        case \"PurolatorExpressEnvelopeInternational9AM\":\n            return \"Express Envelope International 9AM\";\n        case \"PurolatorExpressPackInternational1030AM\":\n            return \"Express Pack International 10:30AM\";\n        case \"PurolatorExpressPackInternational1200\":\n            return \"Express Pack International 12:00\";\n        case \"PurolatorExpressPackInternational9AM\":\n            return \"Express Pack International 9AM\";\n        case \"PurolatorExpressPack\":\n            return \"Express Pack\";\n        case \"PurolatorExpressPack1030AM\":\n            return \"Express Pack 10:30AM\";\n        case \"PurolatorExpressPack9AM\":\n            return \"Express Pack 9AM\";\n        case \"PurolatorExpressPackEvening\":\n            return \"Express Pack Evening\";\n        case \"PurolatorExpressPackInternational\":\n            return \"Express Pack International\";\n        case \"PurolatorExpressPackUS\":\n            return \"Express Pack US\";\n        case \"PurolatorExpressUS\":\n            return \"Express US\";\n        case \"PurolatorExpressUS1030AM\":\n            return \"Express US 10:30AM\";\n        case \"PurolatorExpressUS1200\":\n            return \"Express US 12:00\";\n        case \"PurolatorExpressUS9AM\":\n            return \"Express US 9AM\";\n        case \"PurolatorExpressBoxUS1030AM\":\n            return \"Express Box US 10:30AM\";\n        case \"PurolatorExpressBoxUS1200\":\n            return \"Express Box US 12:00\";\n        case \"PurolatorExpressBoxUS9AM\":\n            return \"Express Box US 9AM\";\n        case \"PurolatorExpressEnvelopeUS1030AM\":\n            return \"Express Envelope US 10:30AM\";\n        case \"PurolatorExpressEnvelopeUS1200\":\n            return \"Express Envelope US 12:00\";\n        case \"PurolatorExpressEnvelopeUS9AM\":\n            return \"Express Envelope US 9AM\";\n        case \"PurolatorExpressPackUS1030AM\":\n            return \"Express Pack US 10:30AM\";\n        case \"PurolatorExpressPackUS1200\":\n            return \"Express Pack US 12:00\";\n        case \"PurolatorExpressPackUS9AM\":\n            return \"Express Pack US 9AM\";\n        case \"PurolatorGround\":\n            return \"Ground\";\n        case \"PurolatorGround1030AM\":\n            return \"Ground 10:30AM\";\n        case \"PurolatorGround9AM\":\n            return \"Ground 9AM\";\n        case \"PurolatorGround12PM\":\n            return \"Ground 12PM\";\n        case \"PurolatorGroundDistribution\":\n            return \"Ground Distribution\";\n        case \"PurolatorGroundEvening\":\n            return \"Ground Evening\";\n        case \"PurolatorGroundUS\":\n            return \"Ground US\";\n        case \"PurolatorQuickShip\":\n            return \"QuickShip\";\n        case \"PurolatorQuickShipEnvelope\":\n            return \"QuickShip Envelope\";\n        case \"PurolatorQuickShipPack\":\n            return \"QuickShip Pack\";\n        case \"PurolatorQuickShipBox\":\n            return \"QuickShip Box\";\n\n\n            // Maersk Parcel\n        case \"Maersk-3-Day\":\n            return \"3 Day\";\n\n    }\n\n    console.warn(\"Unknown shipping service ID: \", serviceId, \"Carrier ID:\", carrierId);\n\n    // Snipped: code that attempts to format the service ID nicely based on common naming patterns found in the wild.\n\n    return serviceName;\n}\n
    "},{"location":"Docs/Database/","title":"Database Drivers","text":"

    global.apis.database.getConnection() returns one of these, depending on which database is in use.

    "},{"location":"Docs/Database/#sqlite","title":"SQLite","text":"
    export class SQLiteAdapter {\n    constructor(db) {\n        this.type = \"sqlite\";\n        this.db = db;\n    }\n\n    async query(query, replace) {\n        if (global.devMode) {\n            console.info(query, replace);\n        }\n        return await this.db.all(query, replace);\n    }\n\n    async run(statement, replace) {\n        if (global.devMode) {\n            console.info(statement, replace);\n        }\n        return await this.db.run(statement, replace);\n    }\n\n    async exec(statement) {\n        if (global.devMode) {\n            console.info(statement);\n        }\n        return await this.db.exec(statement);\n    }\n\n    async exists(table, where, replace) {\n        const q = await this.db.all(\"SELECT EXISTS(SELECT 1 FROM \" + table + \" WHERE \" + where + \") as n\", replace);\n        if (q[0].n > 0) {\n            return true;\n        }\n        return false;\n    }\n\n    async close() {\n\n    }\n\n    async tableExists(table) {\n        return (await this.db.get(`SELECT count(name) AS cnt FROM sqlite_master WHERE type='table' AND name=?`, table)).cnt > 0;\n    }\n\n    /**\n     * Get the version code set in the database by setSchemaVersion().\n     */\n    async getSchemaVersion() {\n        var res = await this.db.all(`PRAGMA user_version`);\n        return res[0].user_version;\n    }\n\n    /**\n     * Set the database version, using PRAGMA user_version.  Must be an integer.\n     */\n    async setSchemaVersion(version) {\n        await this.db.exec(`PRAGMA user_version = ${version}`);\n    }\n\n}\n
    "},{"location":"Docs/Database/#remote-hostmaster","title":"Remote host/master","text":"
    export class RemoteDatabaseAdapter {\n    constructor() {\n        this.type = \"remote\";\n    }\n\n    async apirequest(args) {\n        var resp = await sendToPostalPointHTTPServer(args, \"database\");\n        if (typeof resp.status == \"string\" && resp.status == \"OK\") {\n            return resp.result;\n        } else if (typeof resp.status == \"string\" && resp.status == \"ERR\") {\n            if (typeof resp.message == \"string\") {\n                throw new Error(resp.message);\n            } else {\n                throw new Error(resp);\n            }\n        } else {\n            throw new Error(resp);\n        }\n    }\n\n    async query(query, replace = []) {\n        return await this.apirequest({type: \"query\", query: query, replace: replace});\n    }\n\n    async run(statement, replace = []) {\n        return await this.apirequest({type: \"run\", query: statement, replace: replace});\n    }\n\n    async exec(statement) {\n        return await this.apirequest({type: \"exec\", query: statement});\n    }\n\n    async exists(table, where, replace = []) {\n        return await this.apirequest({type: \"exists\", table: table, where: where, replace: replace});\n    }\n\n    async close() {\n        // NOOP: We don't care about this\n    }\n\n    async tableExists(table) {\n        return await this.apirequest({type: \"tableExists\", table: table});\n    }\n\n    async getSchemaVersion() {\n        return await this.apirequest({type: \"getSchemaVersion\"});\n    }\n\n    async setSchemaVersion(version) {\n        // NOOP: Don't upgrade server's installation, it can do that itself\n    }\n}\n
    "},{"location":"Docs/Database/#mariadbmysql","title":"MariaDB/MySQL","text":"
    export class MariaDBAdapter {\n    constructor(connection) {\n        this.type = \"mariadb\";\n        this.conn = connection;\n    }\n\n    async query(query, replace) {\n        if (global.devMode) {\n            console.info(query, replace);\n        }\n        return await this.conn.query(query, replace);\n    }\n\n    async run(statement, replace) {\n        if (global.devMode) {\n            console.info(statement, replace);\n        }\n        return await this.query(statement, replace);\n    }\n\n    async exec(statement) {\n        if (global.devMode) {\n            console.info(statement);\n        }\n        return await this.run(statement);\n    }\n\n    async exists(table, where, replace) {\n        const q = await this.query(\"SELECT EXISTS(SELECT 1 FROM \" + table + \" WHERE \" + where + \") as n\", replace);\n        if (q[0].n > 0) {\n            return true;\n        }\n        return false;\n    }\n\n    async close() {\n        await this.conn.release();\n    }\n\n    async tableExists(table) {\n        return (await this.query(\"SHOW TABLES LIKE ?\", table)).length > 0;\n    }\n\n    /**\n     * Get the version code set in the database by setSchemaVersion().  Returns zero if not set.\n     */\n    async getSchemaVersion() {\n        if (await this.tableExists(\"database_metadata\")) {\n            var res = await this.query(\"SELECT `value` FROM database_metadata WHERE `key`='schema_version' LIMIT 1\");\n            console.log(res);\n            console.log(res[0].value);\n            if (res.length == 1) {\n                return res[0].value;\n            }\n        }\n        return 0;\n    }\n\n    /**\n     * Set a version number for the database schema.\n     * Must be an integer to maintain code compatibility with SQLite driver.\n     * Will create a \"database_metadata\" table if required to store the version number.\n     */\n    async setSchemaVersion(version) {\n        if (await this.tableExists(\"database_metadata\")) {\n            await this.query(\"REPLACE INTO `database_metadata` (`key`, `value`) VALUES (?, ?)\", [\"schema_version\", version]);\n        } else {\n            await this.exec(\"CREATE TABLE IF NOT EXISTS `database_metadata` ( `key` VARCHAR(50) NOT NULL, `value` VARCHAR(255) NOT NULL DEFAULT '', PRIMARY KEY (`key`))\");\n            await this.setSchemaVersion(version);\n        }\n    }\n}\n
    "},{"location":"Docs/Events/","title":"Event Bus","text":"

    Plugins can use global.apis.eventbus to receive events when certain actions happen in PostalPoint.

    "},{"location":"Docs/Events/#event-list","title":"Event List","text":"
    • barcodeScanned: Contents of a barcode that was just scanned, as a string. String also contains any non-printing characters in the barcode.
    • browserCloseRequest: The embedded web browser listens for this event, and closes itself when received.
    • browserNavigate: Contains the URL the embedded web browser just navigated to.
    • sendToCustomerScreen: Emit to send data via window.postMessage to a custom HTML interface on the customer-facing display.
    • receiveFromCustomerScreen: Contains the event sent from the customer-facing display's custom HTML interface via window.parent.postMessage
    • transactionFinished: Contains a receipt object of a transaction that was just finalized. See below for event data details.
    • customerSignatureCollected: Contains a signature image from the customer-facing display. See below for event data details.
    • settingsSaved: Emitted when PostalPoint's settings are saved. Usually this means the user changed a setting in the UI.
    • pluginSettingsSaved: Emitted when the user saves a plugin's settings. The plugin ID string is sent as the event data.
    • packageCheckIn: Emitted when a package is checked in to a mailbox or for Hold At Location. See below for event data details.
    • mailboxMailDelivered: Emitted when mail delivery notifications are sent by the user. Data is an array of the mailbox numbers notifications are being sent for.
    "},{"location":"Docs/Events/#example-code","title":"Example Code","text":"
    // Handle a barcode scan.\n// Remember that PostalPoint will probably also be doing something in response to the barcode.\nglobal.apis.eventbus.on(\"barcodeScanned\", function (barcodedata) {\n    // do something with the barcode\n});\n\n// Close the embedded web browser, returning the user to whatever was onscreen before it opened\nglobal.apis.eventbus.emit(\"browserCloseRequest\");\n
    "},{"location":"Docs/Events/#event-data-objects","title":"Event Data Objects","text":"

    For events that return an object instead of a single value.

    "},{"location":"Docs/Events/#transactionfinished","title":"transactionFinished","text":"

    See Receipt

    "},{"location":"Docs/Events/#customersignaturecollected","title":"customerSignatureCollected","text":"
    {\n    \"svg\": \"data:image/svg+xml;base64,...\",\n    \"png\": \"data:image/png;base64,...\"\n}\n
    "},{"location":"Docs/Events/#packagecheckin","title":"packageCheckIn","text":"
    {\n    tag: \"abcxyz123456\", // Unique ID for the package, also found in the shelf label barcode.\n    tracking: \"94001...\", // Package tracking number. May be an empty string for items without tracking.\n    carrier: \"FedEx\", // Package carrier name, if detectable from the tracking number.  Otherwise an empty string.\n    mailbox: \"123\", // Mailbox number. Will be \"HAL\" for Hold At Location packages.\n    isHAL: false, // True if package is for Hold At Location.\n    recipient: \"\", // Hold At Location recipient name, or empty string if not HAL.\n    toLocker: \"5\", // Parcel locker number, or false if not going to a parcel locker.\n    shelfLabelPrinted: true // Indicates if a shelf label was printed for this package.  Will be false if going to a locker, if the user requested no label, or if the label failed to print.\n}\n
    "},{"location":"Docs/FormPS1583/","title":"FormPS1583 object","text":"
    export class FormPS1583 {\n    constructor() {\n        this.formRevision = LATEST_FORM_REVISION; // Currently \"June2024\"\n        this.pmbOpenedDate = new Date();\n        this.pmbClosedDate = null;\n        this.cmraStreetAddress = getSetting(\"origin_street1\");\n        this.pmbNumber = \"\";\n        this.cmraZIP = getSetting(\"origin_zip\");\n        var cmraZIPData = getZIP(this.cmraZIP);\n        if (cmraZIPData) {\n            this.cmraCity = cmraZIPData.city;\n            this.cmraState = cmraZIPData.state;\n        } else {\n            this.cmraCity = getSetting(\"origin_city\", \"\");\n            this.cmraState = getSetting(\"origin_state\", \"\");\n        }\n        this.serviceTypeBusiness = false; // true for business PMB, false for residential\n        this.applicant = {\n            firstName: \"\",\n            lastName: \"\",\n            middleName: \"\",\n            phone: \"\",\n            email: \"\",\n            streetAddress: \"\",\n            city: \"\",\n            state: \"\",\n            zip: \"\",\n            country: \"\",\n            courtProtected: false,\n            photoID: {\n                name: \"\",\n                number: \"\",\n                issuer: \"\",\n                expirationDate: null,\n                type: null  // \"DL/ID\", \"UniformedService\", \"USAccess\", \"USUni\",\n                        // \"Passport\", \"Matricula\", \"NEXUS\",\n                        // \"CertOfNaturalization\", \"USPermResident\"\n            },\n            addressID: {\n                name: \"\",\n                streetAddress: \"\",\n                city: \"\",\n                state: \"\",\n                zip: \"\",\n                country: \"\",\n                type: null, // \"DL/ID\", \"Lease\", \"Mortgage\", \"Insurance\", \"VehicleReg\", \"Voter\"\n                expirationDate: null // Optional currently but must be kept current - Oct 2025\n            }\n        };\n        this.authorizedIndividual = {\n            firstName: \"\",\n            lastName: \"\",\n            middleName: \"\",\n            phone: \"\",\n            email: \"\",\n            streetAddress: \"\",\n            city: \"\",\n            state: \"\",\n            zip: \"\",\n            country: \"\",\n            photoID: {\n                name: \"\",\n                number: \"\",\n                issuer: \"\",\n                expirationDate: null,\n                type: null  // \"DL/ID\", \"UniformedService\", \"USAccess\", \"USUni\",\n                        // \"Passport\", \"Matricula\", \"NEXUS\",\n                        // \"CertOfNaturalization\", \"USPermResident\"\n            },\n            addressID: {\n                name: \"\",\n                streetAddress: \"\",\n                city: \"\",\n                state: \"\",\n                zip: \"\",\n                country: \"\",\n                type: null, // \"DL/ID\", \"Lease\", \"Mortgage\", \"Insurance\", \"VehicleReg\", \"Voter\"\n                expirationDate: null // Optional currently but must be kept current - Oct 2025\n            }\n        };\n        this.mailTransferredTo = {\n            streetAddress: \"\",\n            city: \"\",\n            state: \"\",\n            zip: \"\",\n            country: \"\",\n            phone: \"\",\n            email: \"\"\n        };\n        this.business = {\n            name: \"\",\n            type: \"\",\n            streetAddress: \"\",\n            city: \"\",\n            state: \"\",\n            zip: \"\",\n            country: \"\",\n            phone: \"\",\n            placeOfRegistration: \"\"\n        };\n        this.additionalRecipients = []; // Array of strings containing names\n        this.applicantSignature = \"\"; // PNG image data URI\n        this.applicantSignatureDate = null;\n        this.cmraSignature = \"\"; // PNG image data URI\n        this.cmraSignatureDate = null;\n        this.hasForwardingAddress = false;\n    }\n\n    getTermsAndConditions() {\n        return DEFAULT_TERMS_CONDITIONS[this.formRevision];\n    }\n\n    getApplicantForwardingAddress() {\n        if (this.mailTransferredTo.streetAddress != \"\") {\n            return new Address(null,\n                    [this.applicant.firstName, this.applicant.lastName].filter(Boolean).join(\" \"),\n                    this.business.name ?? \"\",\n                    this.mailTransferredTo.streetAddress,\n                    \"\",\n                    this.mailTransferredTo.zip,\n                    this.mailTransferredTo.city,\n                    this.mailTransferredTo.state,\n                    this.mailTransferredTo.country ?? \"US\",\n                    this.mailTransferredTo.phone ?? \"\",\n                    this.mailTransferredTo.email ?? \"\"\n                    );\n        }\n        return new Address(null,\n                [this.applicant.firstName, this.applicant.lastName].filter(Boolean).join(\" \"),\n                this.business.name ?? \"\",\n                this.applicant.streetAddress,\n                \"\",\n                this.applicant.zip,\n                this.applicant.city,\n                this.applicant.state,\n                this.applicant.country ?? \"US\",\n                this.applicant.phone ?? \"\",\n                this.applicant.email ?? \"\"\n                );\n    }\n\n    getFormFields() {\n        var fields = FORM_FIELDS[this.formRevision];\n        function getNestedValue(obj, path) {\n            return path.split('.').reduce((o, key) => (o ? o[key] : \"\"), obj);\n        }\n        var outfields = [];\n        var groupheading = {};\n        var groupfields = [];\n        for (var prop in fields) {\n            if (fields[prop].t == \"heading\") {\n                if (groupfields.length > 0) {\n                    groupheading.fields = groupfields;\n                    outfields.push(groupheading);\n                    groupfields = [];\n                }\n                groupheading = {\n                    heading: fields[prop].l,\n                    groupid: fields[prop].group ?? null,\n                    fields: []\n                };\n            }\n            fields[prop].n = prop;\n            fields[prop].v = getNestedValue(this, prop);\n            if (typeof fields[prop].v == \"undefined\" || fields[prop].v == null) {\n                fields[prop].v = \"\";\n            }\n            if (fields[prop].t == \"date\") {\n                if (fields[prop].v instanceof Date) {\n                    // Cancel out the timezone in the date object\n                    // If we don't do this, the dates will be subtracted by one day each time we load\n                    // https://stackoverflow.com/a/17329571\n                    fields[prop].v.setTime(fields[prop].v.getTime() + fields[prop].v.getTimezoneOffset() * 60 * 1000);\n                }\n                fields[prop].v = formatTimestamp(\"Y-m-d\", fields[prop].v);\n                if (fields[prop].v == \"1969-12-31\" || fields[prop].v == \"1970-01-01\") {\n                    fields[prop].v = \"\";\n                }\n            }\n            if (fields[prop].t == \"select\" && typeof fields[prop].b == \"boolean\") {\n                fields[prop].v = fields[prop].v ? \"true\" : \"\";\n            }\n            if (fields[prop].t != \"heading\") {\n                groupfields.push(fields[prop]);\n            }\n        }\n        if (groupfields != []) {\n            groupheading.fields = groupfields;\n            outfields.push(groupheading);\n        }\n        return outfields;\n    }\n\n    static fromHTMLFormData(formdata, revision = LATEST_FORM_REVISION) {\n        var f = new FormPS1583();\n\n        function setNestedValue(obj, path, value) {\n            const keys = path.split('.');\n            const lastKey = keys.pop();\n            const target = keys.reduce((o, key) => {\n                if (o[key] === undefined)\n                    o[key] = {};\n                return o[key];\n            }, obj);\n            if (typeof FORM_FIELDS[revision][path].b == \"boolean\") {\n                target[lastKey] = (value == \"true\" || value == true);\n            } else {\n                target[lastKey] = value;\n            }\n        }\n\n        for (var prop in formdata) {\n            setNestedValue(f, prop, formdata[prop]);\n        }\n\n        return f;\n    }\n\n    static fromJSON(o) {\n        var f = new FormPS1583();\n        f.formRevision = o.formRevision ?? LATEST_FORM_REVISION;\n        f.pmbOpenedDate = new Date(o.pmbOpenedDate);\n        f.pmbClosedDate = o.pmbClosedDate ? new Date(o.pmbClosedDate) : null;\n        f.cmraStreetAddress = o.cmraStreetAddress;\n        f.pmbNumber = o.pmbNumber;\n        f.cmraCity = o.cmraCity;\n        // snip, see constructor for full data structure\n        return f;\n    }\n\n    toJSON() {\n        return {\n            formRevision: this.formRevision,\n            pmbOpenedDate: this.pmbOpenedDate,\n            pmbClosedDate: this.pmbClosedDate,\n            cmraStreetAddress: this.cmraStreetAddress,\n            pmbNumber: this.pmbNumber,\n            cmraCity: this.cmraCity,\n            // snip, see constructor for full data structure\n        };\n    }\n\n    /**\n     * Render this form to PDF\n     * @returns PDF bytes\n     */\n    async getPDF() {\n        // snip, it draws the form contents onto a PDF using the pdf-lib library\n        // If you really want to see how, email us for the code\n        return await document.save();\n    }\n}\n
    "},{"location":"Docs/Parcel/","title":"Parcel/Package Object","text":"

    This object is supplied a plugin registered with registerRateEndpoint when PostalPoint requests shipping rates from the plugin.

    export class Package {\n    constructor(isPrepaid = false) {\n        this.prepaid = isPrepaid;\n        this.packaging = {\n            type: \"Parcel\",\n            service: \"\",\n            carrier: \"\",\n            length: 999999,\n            width: 999999,\n            height: 999999,\n            weightOz: 999999,\n            nonmachinable: false,\n            additionalHandling: false,\n            internalid: 100,\n            oversizeFlag: false\n        };\n        this.extraServices = {\n            certifiedMail: false,\n            barcode3800: \"\",\n            registeredMail: false,\n            registeredMailAmount: false, // can be a number in USD\n            returnReceipt: false,\n            returnReceiptElectronic: false,\n            insurance: false, // can be a number in USD\n            signature: false, // can be false, \"SIGNATURE\", or \"SIGNATURE_RESTRICTED\"\n            hazmat: false,\n            perishable: false,\n            crematedRemains: false,\n            liveAnimal: false, // BEES, DAY_OLD_POULTRY, ADULT_BIRDS, OTHER_LIVES\n            cod: false, // Collect on Delivery\n            codAmount: false,\n            endorsement: \"\", // ADDRESS_SERVICE_REQUESTED, CHANGE_SERVICE_REQUESTED, FORWARDING_SERVICE_REQUESTED, LEAVE_IF_NO_RESPONSE, RETURN_SERVICE_REQUESTED\n            carrier_billing_account: {// Bill a third party's account number for the label\n                type: \"\", // \"\" (ignores this entire option), \"SENDER\" (EasyPost default), \"THIRD_PARTY\", \"RECEIVER\", \"COLLECT\"\n                carrier: \"\", // Carrier ID (should be used to filter rates)\n                account_number: \"\", // Carrier account number to bill\n                country: \"\", // Country account is based in\n                postal_code: \"\" // Postal code of account\n            },\n            dryIce: false,\n            dryIceWeight: 0,\n            dryIceMedical: false\n        };\n        this.description = \"\"; // Fillable on customs form, or generated before rating call using customs items\n        this.specialRateEligibility = false;\n        this.customs = {\n            contents: \"\",\n            contentsExplanation: \"\", // needed if contents is \"other\", will be copied from this.description if blank for maximum carrier compatibility\n            signature: \"\",\n            restriction: \"\",\n            restrictionComments: \"\", // needed if restriction is \"other\"\n            nonDelivery: \"return\", // \"return\" or \"abandon\",\n            eel_pfc: \"\",\n            items: [] // {index: 0, description: \"\", qty: \"\", lbs: \"\", oz: \"\", value: \"\", hscode: \"\", origin: US\"}\n        };\n        this.toAddress = new Address();\n        this.returnAddress = new Address();\n        this.originAddress = new Address();\n        this.trackingNumber = \"\";\n    }\n\n    /**\n     * Format as EasyPost shipment object\n     * @returns {Package.toEasyPostShipment.shipment}\n     */\n    async toEasyPostShipment() {\n        // Not relevant to plugins\n    }\n\n    /**\n     * Format as Endicia shipment object\n     * @returns {Package.toSERAShipment.shipment}\n     */\n    async toSERAShipment() {\n        // Not relevant to plugins\n    }\n\n    /**\n     * Get a human-readable summary of size and options.\n     * Does not include address data.\n     * @returns {String}\n     */\n    async toString() {\n        let summary = [];\n        let packaging = await getPackagingByID(this.packaging.internalid);\n        let weight = ozToLbsOz(this.packaging.weightOz);\n        let weightStr = this.packaging.weightOz >= 16 ? `${weight[0]} lbs ${weight[1]} oz` : `${weight[1]} oz`;\n        if (packaging != false) {\n            if (packaging.irregular) {\n                if (packaging.weight === false) {\n                    summary.push(\"Parcel\");\n                } else {\n                    summary.push(`${weightStr} Parcel`);\n                }\n                summary.push(\"Additional Handling\");\n            } else {\n                if (packaging.weight === false) {\n                    summary.push(packaging.name);\n                } else {\n                    summary.push(`${weightStr} ${packaging.name}`);\n                }\n            }\n        } else {\n            summary.push(weightStr);\n        }\n        if (this.extraServices.hazmat) {\n            summary.push(\"HAZMAT\");\n        }\n        if (this.extraServices.liveAnimal === true) {\n            summary.push(\"Live Animals\");\n        } else if (typeof this.extraServices.liveAnimal == \"string\") {\n            switch (this.extraServices.liveAnimal) {\n                case \"BEES\":\n                    summary.push(\"Live Bees\");\n                    break;\n                case \"DAY_OLD_POULTRY\":\n                    summary.push(\"Day-old Poultry\");\n                    break;\n                case \"ADULT_BIRDS\":\n                    summary.push(\"Live Adult Birds\");\n                    break;\n                case \"OTHER_LIVES\":\n                default:\n                    summary.push(\"Live Animals\");\n                    break;\n            }\n        }\n        if (this.extraServices.perishable) {\n            summary.push(\"Perishable\");\n        }\n        if (this.extraServices.crematedRemains) {\n            summary.push(\"Cremated Remains\");\n        }\n        if (this.extraServices.certifiedMail) {\n            summary.push(\"Certified Mail\");\n        } else if (this.extraServices.registeredMail) {\n            summary.push(\"Registered Mail\");\n            summary.push(\"Registered for $\" + (this.extraServices.registeredMailAmount * 1.0).toFixed(2));\n        } else if (this.extraServices.signature == \"SIGNATURE\") {\n            summary.push(\"Signature Required\");\n        }\n        if (this.extraServices.signature == \"ADULT_SIGNATURE\") {\n            summary.push(\"Adult Signature Required\");\n        }\n        if (this.extraServices.signature == \"SIGNATURE_RESTRICTED\") {\n            summary.push(\"Restricted Delivery\");\n        }\n        if (this.extraServices.returnReceiptElectronic) {\n            summary.push(\"Return Receipt Electronic\");\n        }\n        if (this.extraServices.returnReceipt) {\n            summary.push(\"Return Receipt\");\n        }\n        if (this.extraServices.insurance) {\n            summary.push(\"Insured for $\" + (this.extraServices.insurance * 1.0).toFixed(2));\n        }\n        if (this.extraServices.cod) {\n            summary.push(\"Collect on Delivery: $\" + (this.extraServices.codAmount * 1.0).toFixed(2));\n        }\n        if (this.extraServices.dryIce && this.extraServices.dryIceWeight > 0) {\n            summary.push(\"Dry Ice: \" + (this.extraServices.dryIceWeight * 1).toFixed(0) + \" oz\");\n        }\n        if (this.extraServices.carrier_billing_account?.type) {\n            if (this.extraServices.carrier_billing_account.type != \"\") {\n                var accountNumber = this.extraServices.carrier_billing_account.account_number;\n                var accountNumberCensored = accountNumber.substring(accountNumber.length - 4).padStart(accountNumber.length, \"X\");\n                var carrierName = this.extraServices.carrier_billing_account.carrier;\n                switch (this.extraServices.carrier_billing_account.type) {\n                    case \"SENDER\":\n                        summary.push(`Bill to sender ${carrierName} account #${accountNumberCensored}`);\n                        break;\n                    case \"THIRD_PARTY\":\n                        summary.push(`Bill to third party ${carrierName} account #${accountNumberCensored}`);\n                        break;\n                    case \"RECEIVER\":\n                        summary.push(`Bill to receiver ${carrierName} account #${accountNumberCensored}`);\n                        break;\n                    case \"COLLECT\":\n                        if (accountNumber.length > 0) {\n                            summary.push(`Bill collect ${carrierName} account #${accountNumberCensored}`);\n                        } else {\n                            summary.push(`Bill collect`);\n                        }\n                        break;\n                }\n            }\n        }\n        return summary.join(\"\\n\");\n    }\n\n    async needsHAZMATPrompt() {\n        try {\n            let packagingInfo = await getPackagingByID(this.packaging.internalid);\n            if (packagingInfo.hazmat) {\n                return true;\n            }\n            if (this.packaging.weight > 10) {\n                return true;\n            }\n            if (packagingInfo.l >= -1 && Math.max(this.packaging.length, this.packaging.width, this.packaging.height) > 0.5) {\n                return true;\n            }\n            switch (packagingInfo.type) {\n                case \"Letter\":\n                case \"Card\":\n                    return false;\n            }\n            return true;\n        } catch (ex) {\n            return true;\n        }\n    }\n\n    get isPrepaid() {\n        return this.prepaid == true;\n    }\n\n    setCustomsInfo(contents, contentsExplanation, signature, restriction, restrictionComments, nonDelivery) {\n        let items = this.customs.items; // Save this and copy it back in so we don't overwrite it\n        this.customs = {\n            contents: contents,\n            contentsExplanation: contentsExplanation, // needed if contents is \"other\"\n            signature: signature,\n            restriction: restriction,\n            restrictionComments: restrictionComments, // needed if restriction is \"other\"\n            nonDelivery: nonDelivery, // \"return\" or \"abandon\",\n            items: items\n        };\n    }\n\n    /**\n     * Get the customs items, ignoring any that are blank.\n     * @returns {Array}\n     */\n    getCustomsItems() {\n        let items = [];\n        for (let i = 0; i < this.customs.items.length; i++) {\n            let item = this.customs.items[i];\n            if (item.description == \"\" && (item.qty == \"\" || item.qty == 0) && (item.weight == \"\" || item.weight == 0) && (item.value == \"\" || item.value == 0)) {\n                continue;\n            }\n            items.push(item);\n        }\n        return items;\n    }\n\n    setCustomsItems(items) {\n        this.customs.items = items;\n    }\n\n    getCustoms() {\n        this.customs.items = this.getCustomsItems();\n        return this.customs;\n    }\n\n    /**\n     * Attempt to automatically fix simple issues like overweight letters.\n     * @returns {undefined}\n     */\n    async fixIssues() {\n        if (this.packaging.type == \"Letter\" && this.packaging.weightOz > 3.5) {\n            if (this.packaging.nonmachinable) {\n                return; // Has to be a parcel, can't fix without dimensions\n            }\n            this.packaging.type = \"Flat\";\n            this.packaging.internalid = 104;\n        }\n    }\n\n    /**\n     * Do some basic checks to see if this package is even remotely shippable\n     * @param {boolean} kioskMode If true, returned strings are suitable for display in kiosk mode.\n     * @returns {boolean|string} true if okay, human-readable error message and instructions if not okay\n     */\n    async isValid(kioskMode = false) {\n        // Removed from docs for brevity. Just a bunch of if statements to catch problems.\n    }\n\n    /**\n     * Set package characteristics\n     * @param {string} type \"Parcel\", \"Letter\", \"Flat\", \"Card\"\n     * @param {type} service\n     * @param {type} carrier\n     * @param {type} length\n     * @param {type} width\n     * @param {type} height\n     * @param {type} weightOz\n     * @returns {undefined}\n     */\n    setPackaging(type, service, carrier, length, width, height, weightOz, nonmachinable) {\n        if (typeof nonmachinable == \"undefined\") {\n            nonmachinable = false;\n        }\n        if (type == \"Card\") {\n            // Postcards\n            weightOz = 1;\n            this.packaging.internalid = 105;\n        } else if (type == \"Flat\") {\n            this.packaging.internalid = 104;\n        } else if (type == \"Letter\") {\n            this.packaging.internalid = 102;\n            if (nonmachinable) {\n                this.packaging.internalid = 103;\n            }\n        }\n        this.packaging.type = type;\n        this.packaging.service = service;\n        this.packaging.carrier = carrier;\n        this.packaging.weightOz = weightOz;\n        this.packaging.nonmachinable = nonmachinable;\n\n        // Enforce Length > Width > Height\n        let size = [length, width, height];\n        size.sort(function (a, b) {\n            return b - a;\n        });\n        this.packaging.length = size[0];\n        this.packaging.width = size[1];\n        this.packaging.height = size[2];\n    }\n\n    /**\n     * Set an extra service\n     * @param {string} id Service ID\n     * @param {boolean} enabled Turn it on or off\n     * @param {string} value Service value, if needed (some are not just a boolean)\n     * @returns {undefined}\n     */\n    setExtraService(id, enabled, value) {\n        if (typeof value != \"undefined\" && enabled) {\n            this.extraServices[id] = value;\n        } else {\n            this.extraServices[id] = enabled == true;\n        }\n    }\n\n    getExtraServices() {\n        return this.extraServices;\n    }\n\n    /**\n     * Set to \"MEDIA_MAIL\", \"LIBRARY_MAIL\", or false\n     * @param {type} rate\n     * @returns {undefined}\n     */\n    set specialRate(rate) {\n        if (rate == \"MEDIA\") {\n            rate = \"MEDIA_MAIL\";\n        } else if (rate == \"LIBRARY\") {\n            rate = \"LIBRARY_MAIL\";\n        }\n        if (rate != \"MEDIA_MAIL\" && rate != \"LIBRARY_MAIL\") {\n            rate = false;\n        }\n        this.specialRateEligibility = rate;\n    }\n\n    get specialRate() {\n        return this.specialRateEligibility;\n    }\n\n    /**\n     * Save an address to this package.\n     * @param {string} type \"to\", \"return\", or \"origin\"\n     * @param {string} name\n     * @param {string} company\n     * @param {string} street1\n     * @param {string} street2\n     * @param {string} city\n     * @param {string} state\n     * @param {string} zip\n     * @param {string} country ISO 2-char country code\n     * @param {string} phone\n     * @param {string} email\n     * @returns {undefined}\n     */\n    setAddress(type, name, company, street1, street2, city, state, zip, country, phone, email) {\n        let address = Address.fromObject({\n            name: name,\n            company: company,\n            street1: street1,\n            street2: street2,\n            city: city,\n            state: state,\n            zip: zip,\n            country: country,\n            phone: phone,\n            email: email\n        });\n        switch (type) {\n            case \"to\":\n                this.toAddress = address;\n                break;\n            case \"return\":\n                this.returnAddress = address;\n                break;\n            case \"origin\":\n                this.originAddress = address;\n                break;\n        }\n    }\n\n    /**\n     * Set an address using an object that matches the internal form (see setAddress())\n     * @param {string} type\n     * @param {object} data\n     * @returns {undefined}\n     */\n    setAddressWhole(type, address) {\n        switch (type) {\n            case \"to\":\n                this.toAddress = Address.fromObject(address);\n                break;\n            case \"return\":\n                this.returnAddress = Address.fromObject(address);\n                break;\n            case \"origin\":\n                this.originAddress = Address.fromObject(address);\n                break;\n        }\n    }\n\n    get tracking() {\n        return this.trackingNumber;\n    }\n\n    set tracking(n) {\n        this.trackingNumber = n;\n    }\n\n    /**\n     * Get the \"from\" address that will be shown,\n     * using the return address or origin address as needed\n     * @returns {address}\n     */\n    getReturnAddress() {\n        var a = null;\n        if (typeof this.returnAddress == \"object\") {\n            a = Address.fromObject(this.returnAddress);\n        } else {\n            a = Address.fromObject(this.originAddress);\n        }\n        if (a.country == \"\") {\n            a.country = defaultCountryCode();\n        }\n        return a;\n    }\n\n    getToAddress() {\n        var a = Address.fromObject(this.toAddress);\n        if (a.country == \"\") {\n            a.country = defaultCountryCode();\n        }\n        return a;\n    }\n\n    getFromAddress() {\n        var a = null;\n        if (typeof this.originAddress == \"object\") {\n            a = Address.fromObject(this.originAddress);\n        } else {\n            a = Address.fromObject(this.returnAddress);\n        }\n        if (a.country == \"\") {\n            a.country = defaultCountryCode();\n        }\n        return a;\n    }\n}\n
    "},{"location":"Docs/Receipt/","title":"Receipt Objects","text":""},{"location":"Docs/Receipt/#sample-receipt-object","title":"Sample receipt object","text":"

    This is an example of the data global.apis.pos.onReceiptChange and global.apis.pos.onTransactionFinished send to plugins. All data for a PostalPoint transaction is available in its receipt object.

    The money-related properties near the bottom of this sample are generated by PostalPoint from the items and payments.

    "},{"location":"Docs/Receipt/#notes","title":"Notes:","text":"
    • The due property will be a negative number if change is owed to the customer.
    • pendingEmailTo is set to a suggested email address for the email receipt, and if the receipt should actually be emailed, it will be set in emailTo.
    • uuid is a unique 16-character alphanumeric receipt ID number, which is shown and used in several places. The uuid is generated using global.apis.util.uuid.short().
    • customerAccountId is the UUID for the customer's account, or null if there isn't a customer attached.
    • This example happens to be the object used when test printing a receipt from the PostalPoint settings menu, so press that button to see what this is rendered into.
    {\n    \"items\": [\n        ReceiptItem.fromJSON({\n            \"id\": \"9100123456789012345678\",\n            \"label\": \"Test Package\",\n            \"text\": \"Package Details\\nTracking # 9100 1234 5678 9012 3456 78\\nTo:\\nTEST PERSON\\nORGANIZATION INC\\n123 TEST ROAD\\nTESTTOWN TE 99999-0001\",\n            \"priceEach\": 8,\n            \"qty\": 1,\n            \"cost\": 0,\n            \"retail\": 8,\n            \"taxRate\": 0,\n            \"free\": false,\n            \"barcode\": \"9100123456789012345678\",\n            \"certifiedInfo\": false,\n            \"isMerch\": false,\n            \"surcharge\": false,\n            \"toAddress\": {\n                \"name\": \"TEST PERSON\",\n                \"company\": \"ORGANIZATION INC\",\n                \"street1\": \"123 TEST ROAD\",\n                \"street2\": null,\n                \"city\": \"TESTTOWN\",\n                \"state\": \"TE\",\n                \"zip\": \"99999-0001\",\n                \"email\": null,\n                \"phone\": null,\n                \"country\": \"US\"\n            },\n            \"fromAddress\": {\n                \"name\": \"TEST PERSON\",\n                \"company\": \"ORGANIZATION INC\",\n                \"street1\": \"123 TEST ROAD\",\n                \"street2\": null,\n                \"city\": \"TESTTOWN\",\n                \"state\": \"TE\",\n                \"zip\": \"99999-0001\",\n                \"email\": null,\n                \"phone\": null,\n                \"country\": \"US\"\n            }\n        }),\n        ReceiptItem.fromJSON({\n            \"id\": \"testitem\",\n            \"label\": \"Test Item\",\n            \"text\": \"\",\n            \"priceEach\": 2,\n            \"qty\": 1,\n            \"cost\": 0,\n            \"retail\": 2,\n            \"taxRate\": 0.1,\n            \"free\": false,\n            \"barcode\": \"\",\n            \"certifiedInfo\": false,\n            \"isMerch\": true,\n            \"surcharge\": false\n        })\n    ],\n    \"payments\": [\n        ReceiptPayment.fromJSON({\n            \"amount\": 10,\n            \"type\": \"cash\",\n            \"text\": \"\",\n            \"id\": \"testcash\"\n        })\n    ],\n    \"subtotal\": 10,\n    \"subtotalFormatted\": \"$10.00\",\n    \"tax\": 0.2,\n    \"taxFormatted\": \"$0.20\",\n    \"grandTotal\": 10.2,\n    \"grandTotalFormatted\": \"$10.20\",\n    \"paid\": 10.2,\n    \"paidFormatted\": \"$10.20\",\n    \"due\": 0,\n    \"dueFormatted\": \"$0.00\",\n    \"emailTo\": null,\n    \"pendingEmailTo\": null,\n    \"uuid\": \"1234567890abcdef\",\n    \"customerAccountId\": null,\n    \"topTextHTML\": \"\",\n    \"bottomTextHTML\": \"\"\n}\n
    "},{"location":"Docs/Receipt/#globalapisposreceiptitem","title":"global.apis.pos.ReceiptItem","text":"
    export class ReceiptItem {\n    /**\n     *\n     * @param {string|number} id Unique ID number for this item (UPC code, inventory number, etc). Used to deduplicate line items. Unique items (like shipping labels) should be random or empty.\n     * @param {string} label One-line item information.\n     * @param {string} text Extra item information.\n     * @param {number} priceEach Price per unit\n     * @param {number} quantity Number of units\n     * @param {number} cost Cost per unit. Used for automatic expense tracking.\n     * @param {number} taxrate Examples: 0 (for 0%), 0.05 (for 5%), etc\n     * @param {string} taxableAmount The part of the sale price that's taxable. \"\" for default (all), \"markup\" for only taxing profit.\n     * @returns {ReceiptItem}\n     */\n    constructor(id, label, text, priceEach, quantity, cost, taxrate = 0.0, taxableAmount = \"\") {\n        this.id = id;\n        this.label = label;\n        if (text == null) {\n            this.txt == \"\";\n        } else {\n            this.txt = text;\n        }\n        this.priceEach = num(priceEach);\n        this.qty = num(quantity);\n        this.cost = num(cost);\n        if (isNaN(taxrate)) {\n            this.taxRate = 0;\n        } else {\n            this.taxRate = num(taxrate);\n        }\n        this.taxableAmount = taxableAmount;\n        this.merch = false;\n        this.merchid = null;\n        this.surcharge = false;\n        this.retail = 0; // For ensuring PostalPoint fee collection on office mode shipments\n        this.mailboxNumber = null;\n        this.mailboxDays = 0;\n        this.mailboxMonths = 0;\n        this.category = \"\"; // merch category\n        this.electronicReturnReceipt = false;\n    }\n\n    static fromJSON(obj) {\n        var item = new ReceiptItem(obj.id, obj.label, obj.text, obj.priceEach, obj.qty, obj.cost, obj.taxRate, obj.taxableAmount ?? \"\");\n        item.free = obj.free;\n        item.barcode = obj.barcode;\n        item.certifiedInfo = obj.certifiedInfo;\n        item.toAddress = obj.toAddress;\n        item.fromAddress = obj.fromAddress;\n        item.merch = obj.isMerch == true || (typeof obj.merchid == \"string\" && obj.merchid.length > 0);\n        item.merchid = obj.merchid ?? null;\n        item.mailboxNumber = obj.mailboxNumber ?? null;\n        item.mailboxDays = obj.mailboxDays ?? 0;\n        item.mailboxMonths = obj.mailboxMonths ?? 0;\n        item.surcharge = obj.surcharge;\n        item.retailPrice = obj.retail;\n        item.carrier = obj.carrier ?? null;\n        item.service = obj.service ?? null;\n        item.category = obj.category ?? \"\";\n        item.electronicReturnReceipt = obj.electronicReturnReceipt ?? false;\n        return item;\n    }\n\n    toJSON() {\n        return {\n            id: this.id,\n            label: this.label,\n            text: this.text,\n            priceEach: num(this.priceEach),\n            qty: num(this.qty),\n            cost: num(this.cost),\n            retail: num(this.retail),\n            taxRate: num(this.taxRate),\n            taxableAmount: this.taxableAmount,\n            taxTotal: this.taxAmount,\n            free: this.free,\n            barcode: this.barcode,\n            certifiedInfo: this.certifiedInfo,\n            isMerch: this.merch,\n            merchid: this.merchid,\n            surcharge: this.surcharge,\n            toAddress: this.toAddress,\n            fromAddress: this.fromAddress,\n            mailboxNumber: this.mailboxNumber,\n            mailboxDays: this.mailboxDays,\n            mailboxMonths: this.mailboxMonths,\n            carrier: this.carrier,\n            service: this.service,\n            category: this.category,\n            electronicReturnReceipt: this.electronicReturnReceipt\n        };\n    }\n\n    get text() {\n        if (typeof this.txt == \"string\") {\n            return this.txt;\n        }\n        return \"\";\n    }\n\n    set text(t) {\n        if (typeof t == \"string\") {\n            this.txt = t;\n        } else {\n            this.txt = \"\";\n        }\n    }\n\n    get certifiedInfo() {\n        if (typeof this.certified == \"undefined\") {\n            return false;\n        }\n        return this.certified;\n    }\n\n    set certifiedInfo(info) {\n        this.certified = info;\n    }\n\n    setCertifiedInfo(tracking, certfee, extrafees, postage, date, location, toaddress) {\n        this.certified = {\n            tracking: tracking,\n            certifiedFee: num(certfee),\n            extraFees: extrafees,\n            postage: num(postage),\n            date: date,\n            location: location,\n            to: toaddress\n        };\n    }\n\n    setQuantity(q) {\n        this.qty = num(q);\n    }\n\n    get free() {\n        return this.isFree == true;\n    }\n\n    set free(free) {\n        this.isFree = free == true;\n    }\n\n    get barcode() {\n        if (typeof this.barcodeData != \"string\") {\n            return \"\";\n        }\n        return this.barcodeData;\n    }\n\n    set barcode(data) {\n        this.barcodeData = data;\n    }\n\n    get linePrice() {\n        return round(m(this.priceEach, this.qty), 2);\n    }\n\n    get priceEachFormatted() {\n        return getCurrencySymbol() + round(num(this.priceEach), 2).toFixed(2);\n    }\n\n    get linePriceFormatted() {\n        return getCurrencySymbol() + round(num(this.linePrice), 2).toFixed(2);\n    }\n\n    get texthtml() {\n        if (typeof this.text != \"string\") {\n            return \"\";\n        }\n        var lines = this.text.split(\"\\n\");\n        for (var i = 0; i < lines.length; i++) {\n            if (lines[i].startsWith(\"Tracking # \")) {\n                // Allow copying tracking number\n                lines[i] = \"Tracking # <span class=\\\"usall\\\">\" + lines[i].replace(\"Tracking # \", \"\") + \"</span>\";\n            }\n        }\n        return lines.join(\"<br />\");\n    }\n\n    get taxAmount() {\n        if (this.taxableAmount == \"markup\") {\n            var lineCost = m(this.cost, this.qty);\n            var margin = s(this.linePrice, lineCost);\n            if (margin <= 0) {\n                return 0;\n            }\n            return round(m(margin, this.taxRate), 2);\n        } else {\n            return round(m(this.linePrice, this.taxRate), 2);\n        }\n    }\n\n    get retailPrice() {\n        if (typeof this.retail == \"number\") {\n            return this.retail;\n        }\n        return this.priceEach * this.qty;\n    }\n\n    set retailPrice(price) {\n        this.retail = num(price);\n    }\n\n}\n
    "},{"location":"Docs/Receipt/#globalapisposreceiptpayment","title":"global.apis.pos.ReceiptPayment","text":"
    export class ReceiptPayment {\n\n    /**\n     *\n     * @param {number} amount amount paid\n     * @param {string} type payment type\n     * @param {string} text extra data (credit card info, etc)\n     * @returns {ReceiptPayment}\n     */\n    constructor(amount, type, text) {\n        this.id = (Math.random() * 100000000) + \"_\" + type + \"_\" + amount;\n        this.text = (typeof text != \"string\" ? \"\" : text);\n        this.type = type;\n        this.amount = amount;\n    }\n\n    static fromJSON(obj) {\n        var item = new ReceiptPayment(obj.amount, obj.type, obj.text);\n        item.id = obj.id;\n        return item;\n    }\n\n    toJSON() {\n        return {\n            amount: round(this.amount, 2),\n            type: this.type,\n            text: this.text,\n            id: this.id\n        };\n    }\n\n    get texthtml() {\n        if (typeof this.text != \"string\") {\n            return \"\";\n        }\n        return this.text.replaceAll(\"\\n\", \"<br />\");\n    }\n\n    get amountFormatted() {\n        return getCurrencySymbol() + this.amount.toFixed(2);\n    }\n\n    get label() {\n        if (typeof this.type != \"string\") {\n            return \"Payment\";\n        }\n        switch (this.type) {\n            case \"cash\":\n                return \"Cash\";\n            case \"check\":\n                return \"Check\";\n            case \"card\":\n                return \"Card\";\n            case \"card_manual\":\n                return \"Card\";\n            case \"account\":\n                return \"Account\";\n            case \"free\":\n                return \"Free\";\n            case \"discount\":\n                return \"Discount\";\n            case \"crypto\":\n                return \"Cryptocurrency\";\n            case \"ach\":\n                return \"ACH Debit\";\n            case \"rounding\":\n                return \"Cash Rounding\"; // Used in penniless countries to balance a cash-only transaction\n            default:\n                return this.type;\n        }\n    }\n}\n
    "},{"location":"Docs/ReceiptPrinter/","title":"Receipt Printer driver functions","text":"

    PostalPoint abstracts the receipt printer hardware commands, so the same functions are available on all brands and languages of receipt printer, and printer media size and settings are also handled for you.

    The drivers operate in line mode, where each successive command appends content to the bottom of the page.

    These functions are available on the object supplied by the promise returned from global.apis.print.getReceiptPrinter().

    "},{"location":"Docs/ReceiptPrinter/#functions","title":"Functions","text":"
    //\n// Add one or more lines of text, with automatic wrapping.\n// If both firsttext and secondtext are provided, two columns of text are generated,\n// with the first left-justified and the second right-justified.\n// `firstjustify` can be \"L\" (left), \"C\" (center), or \"R\" (right).\n// Not all printers support all the formatting options, and may render them in different ways,\n// but the formatting intent is made clear regardless.\naddFieldBlock(firsttext, firstjustify, secondtext = \"\", secondjustify = \"R\", bold = false, doubleheight = false, underline = false);\n\n// Add a blank line to the label.\nnewLine();\n\n// Draw a horizontal line across the page.\ndrawLine();\n\n// Render a Code 128 barcode, centered horizontally, with a human-readable label beneath.\n// Important: this function is sometimes asynchronous depending on the printer driver.\nbarcode128(content);\n\n// Print an image.  Width is in pixels.\n// pixelByteArray is a Uint8Array where each bit is a pixel (1=black, 0=white),\n// starting at the top-left of the image and going across and then down. Use `imageToBitmap` to\n// obtain this data from a Jimp image.\n// Use \"L\" as the position to print on the next line, centered horizontally.\n// Some printers also support position = \"C\", which will\n// ignore other commands and print the image centered on the label,\n// but if you're doing that, just use `global.apis.print.printLabelImage()` instead.\ndrawImage(width, position, pixelByteArray);\n\n// If supported by the printer, opens an attached cash drawer.  Command is ignored if unavailable.\nopenCashDrawer();\n\n// The last command to run, when ready to print. Returns the raw data to send to the printer.\n// Important: this function is sometimes asynchronous depending on the printer driver.\ngetData();\n
    "},{"location":"Docs/ReceiptPrinter/#example","title":"Example","text":"
    var printer = await global.apis.print.getReceiptPrinter();\n\nprinter.addFieldBlock(\"Hello Bold World!\", \"C\", \"\", \"\", true);\nprinter.drawLine();\nawait printer.barcode128(\"1234567890\");\nprinter.newLine();\n\nawait global.apis.printer.printReceiptData(await printer.getData());\n
    "},{"location":"Docs/TrackingBarcode/","title":"TrackingBarcode class","text":"

    For your reference, here is the source code of the TrackingBarcode class, used to represent a prepaid drop-off. This class is provided to plugins as global.apis.barcode.TrackingBarcode.

    export class TrackingBarcode {\n    /**\n     * Create a tracking barcode object.\n     * @param {string} code Tracking number.\n     * @returns {TrackingBarcode}\n     */\n    constructor(code) {\n        // All data are optional except for the tracking number. Missing data is gracefully handled by the PostalPoint UI.\n        this.cleanCode = code;\n        // Original barcode data this was created from\n        this.barcode = code;\n        // Destination ZIP Code, for domestic shipments. The city and state are automatically added.  If toAddress is specified, toZip is ignored in favor of it.\n        this.toZip = \"\";\n        // Two-letter destination country code.  If not \"US\", toZip is ignored, and the full country name is appended to the displayed address information.\n        this.toCountry = defaultCountryCode();\n        // If toAddress is set, it will be used instead of the toZip when displaying the destination.\n        // If both toZip and toAddress are empty strings, no destination will be displayed.\n        this.toAddress = \"\";\n        // If message is not empty, the barcode will NOT be added and the message will be displayed to the user.\n        this.message = \"\";\n        // If warning is not empty, the barcode WILL be added and a message will be displayed to the user.\n        this.warning = \"\";\n        // Shipping carrier name.\n        this.carrier = \"\";\n        // Shipping service/mail class full name and description. Example: \"Priority Mail Adult Signature Required\".\n        this.serviceName = \"\";\n        // Shipping service/mail class name, without extra info such as \"signature required\".\n        // Example: \"Priority Mail\"\n        this.serviceShort = \"\";\n        // If set to false, the barcode will be rejected with a suitable message when PostalPoint is running in self-serve kiosk mode.\n        this.dropoff = true;\n        // If false, app may prompt user to specify the shipping carrier\n        this.confidentCarrier = true;\n        // Extra description strings, like \"Signature Required\"\n        this.extraInfo = [];\n    }\n\n    /**\n     * Set the tracking number\n     * @param {string} str\n     * @returns {undefined}\n     */\n    set tracking(str) {\n        this.cleanCode = str;\n    }\n\n    /**\n     * Set the service/mail class description string.\n     * @param {string} str\n     * @returns {undefined}\n     */\n    set service(str) {\n        this.serviceShort = str;\n        this.serviceName = str;\n    }\n\n    /**\n     * Get the tracking number.\n     * @returns {String}\n     */\n    get tracking() {\n        return this.cleanCode;\n    }\n\n    /**\n     * Get the destination ZIP code.\n     * @returns {String}\n     */\n    get zip() {\n        return this.toZip;\n    }\n\n    /**\n     * Get the service/mail class description.\n     * @returns {String}\n     */\n    get service() {\n        if (this.serviceShort != \"\") {\n            return this.serviceShort;\n        } else if (this.serviceName != \"\") {\n            return this.serviceName;\n        }\n        return \"\";\n    }\n\n    /**\n     * Get the carrier and service info.\n     * @returns {String}\n     */\n    get serviceString() {\n        var str = [];\n        if (this.carrier != \"\") {\n            str.push(this.carrier);\n        }\n        if (this.serviceShort != \"\") {\n            str.push(this.serviceShort);\n        } else if (this.serviceName != \"\") {\n            str.push(this.serviceName);\n        }\n        return str.join(\" \");\n    }\n\n    /**\n     * Get the destination information as a human-presentable multiline string.\n     * @returns {String}\n     */\n    get destString() {\n        var addressLines = [];\n        if (this.toAddress != \"\") {\n            addressLines.push(...this.toAddress.split(\"\\n\"));\n        }\n        if (defaultCountryCode() == this.toCountry.toUpperCase() && this.toCountry.toUpperCase() == \"US\" && this.toZip != \"\" && this.toAddress == \"\") {\n            // Domestic shipment within USA, look up ZIP code\n            var zipdata = getZIP(this.toZip);\n            if (zipdata != false) {\n                addressLines.push(`${zipdata.city} ${zipdata.state} ${this.toZip}`);\n            } else {\n                addressLines.push(`${this.toZip}`);\n            }\n        } else if (defaultCountryCode() == this.toCountry.toUpperCase()) {\n            // Domestic shipment, outside USA, add postal code line if we have one\n            if (this.toZip != \"\" && this.toAddress.includes(this.toZip) != true) {\n                addressLines.push(`${this.toZip}`);\n            }\n        } else {\n            // International shipment, add country name\n            addressLines.push(getCountryNameForISO(this.toCountry));\n        }\n        return addressLines.join(\"\\n\");\n    }\n\n    /**\n     * Get the package information in a format suitable for display on a receipt.\n     * @param {boolean} includeTrackingNumber If false, the tracking number will be suppressed.\n     * @returns {String}\n     */\n    toString(includeTrackingNumber = true) {\n        var lines = [];\n        if (includeTrackingNumber && this.cleanCode) {\n            lines.push(this.cleanCode);\n        }\n        var serv = this.serviceString;\n        if (serv != \"\") {\n            lines.push(serv);\n        }\n        var dest = this.destString;\n        if (dest != \"\") {\n            var destlines = dest.split(\"\\n\");\n            destlines[0] = \"To \" + destlines[0];\n            lines.push(...destlines);\n        }\n\n        if (typeof this.extraInfo == \"object\" && this.extraInfo.length > 0) {\n            lines.push(...this.extraInfo);\n        }\n\n        return lines.join(\"\\n\");\n    }\n}\n
    "},{"location":"Examples/01Minimal/","title":"Minimal Plugin","text":"

    This is the smallest possible valid plugin.

    plugin-name/plugin.js
    exports.init = function () {\n    global.apis.alert(\"This message appears when PostalPoint launches.\", \"Hello!\");\n};\n
    "},{"location":"Examples/02Basic/","title":"Basic Plugin","text":"

    This sample plugin showcases some of the features many plugins will want to use.

    Download JavaScript

    plugin.js
    // Sample plugin to demonstrate plugin capabilities and structure.\n\nasync function getPage() {\n    // A Framework7 component page\n    return global.apis.getPluginFolder(\"basic-demo\") + \"/uipluginpage.f7\";\n}\n\n// This is run when PostalPoint loads the plugin at launch.\n// Use it to register for things you want to do, like adding a page, hooking into payments or shipping rates, etc.\nexports.init = function () {\n    console.log(global.apis.settings.get(\"basic-demo_secretcode\"));\n    global.apis.ui.addToolsPage(getPage, \"Sample Page Title\", \"sampletool1234\", \"A sample plugin page\", \"Sample\", \"fa-solid fa-circle\");\n};\n\n// This defines a settings UI to display for the plugin.\n// If exports.config is a function instead of an array, it will be executed when opening the settings\n// and must return an array like the one below.\n// If exports.config is undefined, a settings menu will not be provided to the user.\nexports.config = [\n    {\n        type: \"button\",\n        label: \"Test Button\",\n        text: \"Some text about the button\",\n        onClick: function () {\n            global.apis.alert(\"Button pressed\");\n        }\n    },\n    {\n        type: \"text\",\n        key: \"app.postalpoint.basic-demo_somestring\", // Try to make sure this is unique by using a prefix,\n        // settings storage is global so there could be conflicts if you aren't careful\n        defaultVal: \"\",\n        label: \"Type a string\",\n        placeholder: \"\",\n        text: \"Description text next to the input box\",\n        sync: false // Add sync: false to prevent automatically syncing this setting between\n                    // PostalPoint installations (i.e. it's a device-specific setting, like a pairing code)\n                    // If it's not present, or is any truthy value, it could be synced between PCs\n    },\n    {\n        type: \"password\",\n        key: \"app.postalpoint.basic-demo_secretcode\",\n        defaultVal: \"\",\n        label: \"Secret Code\",\n        placeholder: \"\",\n        text: \"Don't tell anyone this secret code:\"\n    },\n    {\n        type: \"textarea\",\n        key: \"app.postalpoint.basic-demo_sometext\",\n        defaultVal: \"\",\n        label: \"Text Box\",\n        placeholder: \"...\",\n        text: \"You can type a few lines of text here.\"\n    },\n    {\n        type: \"select\",\n        key: \"app.postalpoint.basic-demo_dropdownbox\",\n        defaultVal: \"\",\n        label: \"Choose an option\",\n        placeholder: \"\",\n        text: \"\",\n        options: [[\"key1\", \"Value 1\"], [\"key2\", \"Value 2\"]]\n    }\n];\n

    Download HTML

    uipluginpage.f7
    <template>\n    <div class=\"page\">\n        <div class=\"navbar\">\n            <div class=\"navbar-bg\"></div>\n            <div class=\"navbar-inner\">\n                <div class=\"title\">${title}</div>\n            </div>\n        </div>\n        <div class=\"page-content\">\n            <a class=\"button\" @click=${openAlert}>Open Alert</a>\n            <a class=\"button\" @click=${printSomething}>Print Something</a>\n            <div class=\"list simple-list\">\n                <ul>\n                    ${names.map((name) => $h`\n                    <li>${name}</li>\n                    `)}\n                </ul>\n            </div>\n        </div>\n    </div>\n</template>\n<!-- component styles -->\n<style>\n    .red-link {\n        color: red;\n    }\n</style>\n<!-- rest of component logic -->\n<script>\n    // script must return/export component function\n    export default (props, { $f7, $on }) => {\n        const title = 'Component Page';\n        const names = ['John', 'Vladimir', 'Timo'];\n\n        const openAlert = () => {\n            $f7.dialog.alert('Hello world!\\nblah blah blah');\n        }\n\n        async function printSomething() {\n            // Print some text to the receipt printer\n            var printer = await global.apis.print.getReceiptPrinter();\n            printer.addFieldBlock('Hello world!\\nblah blah blah\\n\\n', \"C\");\n            global.apis.print.printReceiptData(await printer.getData());\n        }\n\n        $on('pageInit', () => {\n            // do something on page init\n        });\n        $on('pageAfterOut', () => {\n            // page has left the view\n        });\n\n        // component function must return render function\n        return $render;\n    }\n</script>\n
    "},{"location":"Examples/03Shipping/","title":"Shipping Plugin","text":"

    This sample plugin demonstrates how to add support for a custom shipping carrier.

    Download JavaScript

    plugin.js
    // This is a sample PostalPoint plugin for adding support for a shipping carrier.\n\nvar rateCache = [];\nvar parcelCache = {};\n\nexports.init = function () {\n    // Add support for shipping rating and label purchasing\n    global.apis.shipping.registerRateEndpoint(getRates, purchase, \"uniqueprefixhere_\");\n\n    // Add support for prepaid drop-offs\n    global.apis.barcode.onPrepaidScan(function (barcode) {\n        if (barcode.startsWith(\"mycarrierbarcode\")) { // Replace this with your checks for barcode validity\n            var data = new global.apis.barcode.TrackingBarcode(barcode);\n            data.carrier = \"Carrier Name\";\n            data.service = \"Service Name\";\n            return data;\n        }\n        return false;\n    });\n}\n\nasync function purchase(rateid) {\n    for (var i = 0; i < rateCache.length; i++) {\n        if (rateCache[i].rateid == rateid) {\n            var rate = rateCache[i];\n            //\n            // Fetch label and tracking and such\n            //\n            var label;\n            var tracking = \"123456\";\n            var toAddressLines = parcelCache.toAddress.toStringArray();\n\n            // Create receipt item\n            var receiptitem = new global.apis.pos.ReceiptItem(`uniqueprefixhere_${tracking}`,\n                    `${rate.carrierName} ${rate.serviceName}`,\n                    `Tracking # ${global.apis.util.string.chunk(tracking, 3).join(\" \")}\\nTo:\\n${toAddressLines.join(\"\\n\")}`,\n                    rate.retail_rate, 1, rate.cost_rate, 0\n                    );\n            receiptitem.barcode = tracking;\n            receiptitem.carrier = \"Carrier Name\";\n            receiptitem.service = \"Service Name\";\n\n            return {\n                label: label,\n                labeltype: \"PNG\",\n                receiptItem: receiptitem,\n                tracking: tracking,\n                cost: rate.cost_rate,\n                price: rate.retail_rate,\n                carrier: rate.carrierName,\n                service: rate.serviceName,\n                delivery_days: rate.delivery_days,\n                delivery_date: rate.delivery_date,\n                to: toAddressLines\n            };\n        }\n    }\n}\n\nasync function getRates(parcel) {\n    // parcel is an object as shown in docs/Parcel.md\n    var rates = [];\n    rates.push({\n        rateid: \"uniqueprefixhere_\" + global.apis.util.uuid.v4(),\n        carrier: \"Carrier\",\n        carrierName: \"Carrier Name\",\n        service: \"CARRIER_SERVICE_ID\",\n        cost_rate: 10,\n        retail_rate: 15,\n        delivery_days: 3,\n        delivery_date: null,\n        guaranteed: true,\n        serviceName: \"Service Name\",\n        color: \"green\" // Rate card color\n    });\n\n    // Save details for later use if purchased\n    rateCache = rates;\n    parcelCache = parcel;\n\n    return rates;\n}\n
    "},{"location":"Examples/04CardProcessor/","title":"Card Payments","text":"

    This plugin template shows how to implement a card payment processor, allowing PostalPoint to interface with your card reader/terminal hardware, as well as saving, retrieving, and charging cards on file.

    Download JavaScript

    plugin-name/plugin.js
    // This is a sample PostalPoint plugin that adds a card payment processor.\n\nexports.init = function () {\n    global.apis.pos.registerCardProcessor({\n        name: \"Demo Card Processor\",\n        init: async function () {\n            // This function runs once after starting PostalPoint\n            // and before any other card processor functions are called.\n        },\n        checkout: async function({amount, capture = true}) {\n            // amount is an integer number of pennies.\n\n            // If an error is encountered during processing,\n            //    display an error message in a dialog and return boolean false.\n            //    If this function returns anything except false or undefined, and doesn't throw an error,\n            //    it is assumed the payment was successful.\n            try {\n                if (capture) {\n                    // authorize, capture, add a ReceiptPayment to the receipt, and return boolean true.\n                    global.apis.pos.addOnscreenPaymentLog(\"Getting card payment...\"); // Add a line to the onscreen card processing status log\n                    await global.apis.util.delay(1000); // Replace this with something useful!\n                    global.apis.pos.addReceiptPayment(\n                        new global.apis.pos.ReceiptPayment(\n                            (amount / 100).toFixed(2) * 1,\n                            \"card\", // Payment type. Accepted values are card, ach, crypto, cash, check, account, and free.  Other types will be displayed as-is to the user and on the receipt.\n                            \"Demo Card\\nCardholder Name, etc\\nMore info for receipt\" // Additional text for receipt\n                        )\n                    );\n                    global.apis.pos.addOnscreenPaymentLog(\"Payment successful!\");\n                    return true;\n                } else {\n                    // only authorize the payment, don't actually capture/charge the payment method,\n                    // and return whatever transaction data that will be passed to finishPayment to capture the payment.\n                    await global.apis.util.delay(1000); // Replace this with something useful!\n                    return {amount: amount};\n                }\n            } catch (ex) {\n                global.apis.pos.addOnscreenPaymentLog(`Error: ${ex.message} [okay to put extra details here for troubleshooting or tech support, it's visible to the cashier]`);\n                if (global.apis.kiosk.isKiosk()) {\n                    // This message will be shown to an end-user/customer, not a cashier/employee\n                    global.apis.alert(\"Your card was declined.\", \"Card Error\");\n                } else {\n                    global.apis.alert(\"The customer's card was declined.\", \"Card Error\");\n                }\n                return false;\n            }\n        },\n        cancelCheckout: function () {\n            // The user requested to cancel the payment.\n            // Reset the terminal to its resting state, clear its screen, etc.\n        },\n        finishPayment: async function ({checkoutResponse}) {\n            // Finish a payment that was authorized but not captured because checkout was called with capture = false\n            // If payment was already captured and added to the receipt for some reason, just return true.\n            await global.apis.util.delay(1000); // Replace this with something useful!\n            global.apis.pos.addReceiptPayment(\n                new global.apis.pos.ReceiptPayment(\n                    (checkoutResponse.amount / 100).toFixed(2) * 1,\n                    \"card\", // Payment type.\n                    \"Demo Card\\nCardholder Name, etc\\nMore info for receipt\" // Additional text for receipt\n                )\n            );\n            return true;\n        },\n        updateCartDisplay: function (receipt) {\n            // Show transaction data on the card reader display.\n            // This function will be called when the cart or total changes.\n            console.log(receipt);\n            // Sample structure of the receipt variable:\n            receipt = {\n                \"items\": [\n                    {\n                        \"id\": \"testitem\",\n                        \"label\": \"Test Item\",\n                        \"text\": \"\",\n                        \"priceEach\": 2,\n                        \"qty\": 1,\n                        \"cost\": 0,\n                        \"retail\": 2,\n                        \"taxRate\": 0.1,\n                        \"free\": false,\n                        \"barcode\": \"\",\n                        \"certifiedInfo\": false,\n                        \"isMerch\": true,\n                        \"surcharge\": false\n                    },\n                    {\n                        \"id\": \"9100123456789012345678\",\n                        \"label\": \"Test Package\",\n                        \"text\": \"Package Details\\nTracking # 9100 1234 5678 9012 3456 78\\nTo:\\nTEST PERSON\\nORGANIZATION INC\\n123 TEST ROAD\\nTESTTOWN TE 99999-0001\",\n                        \"priceEach\": 8,\n                        \"qty\": 1,\n                        \"cost\": 0,\n                        \"retail\": 8,\n                        \"taxRate\": 0,\n                        \"free\": false,\n                        \"barcode\": \"9100123456789012345678\",\n                        \"certifiedInfo\": false,\n                        \"isMerch\": false,\n                        \"surcharge\": false,\n                        \"toAddress\": {\n                            \"name\": \"TEST PERSON\",\n                            \"company\": \"ORGANIZATION INC\",\n                            \"street1\": \"123 TEST ROAD\",\n                            \"street2\": null,\n                            \"city\": \"TESTTOWN\",\n                            \"state\": \"TE\",\n                            \"zip\": \"99999-0001\",\n                            \"email\": null,\n                            \"phone\": null,\n                            \"country\": \"US\"\n                        },\n                        \"fromAddress\": {\n                            \"name\": \"TEST PERSON\",\n                            \"company\": \"ORGANIZATION INC\",\n                            \"street1\": \"123 TEST ROAD\",\n                            \"street2\": null,\n                            \"city\": \"TESTTOWN\",\n                            \"state\": \"TE\",\n                            \"zip\": \"99999-0001\",\n                            \"email\": null,\n                            \"phone\": null,\n                            \"country\": \"US\"\n                        }\n                    }\n                ],\n                \"payments\": [\n                    {\n                        \"amount\": 10,\n                        \"amountFormatted\": \"$10.00\",\n                        \"type\": \"cash\",\n                        \"label\": \"Cash\",\n                        \"text\": \"\",\n                        \"texthtml\": \"\",\n                        \"id\": \"12345678_cash_10\"\n                    },\n                    {\n                        \"amount\": 12.34,\n                        \"amountFormatted\": \"$12.34\",\n                        \"type\": \"card\",\n                        \"label\": \"Card\",\n                        \"text\": \"Card Details here\\n1234abcd\",\n                        \"texthtml\": \"Card Details here<br />1234abcd\",\n                        \"id\": \"87654321_card_12.34\"\n                    }\n                ],\n                \"subtotal\": 10,\n                \"subtotalFormatted\": \"$10.00\",\n                \"tax\": 0.2,\n                \"taxFormatted\": \"$0.20\",\n                \"grandTotal\": 10.2,\n                \"grandTotalFormatted\": \"$10.20\",\n                \"paid\": 22.34,\n                \"paidFormatted\": \"$22.34\",\n                \"due\": -12.14, // If negative, is the amount of change owed to the customer instead\n                \"dueFormatted\": \"$12.14\"\n            };\n        },\n        checkoutSavedMethod: async function ({customerID, paymentMethodID, amount}) {\n            // Same as checkout() except using a payment method already on file.\n            // customerID and paymentMethodID are provided by getSavedPaymentMethods below.\n            await global.apis.util.delay(1000); // Replace this with something useful!\n            var error = false;\n            if (error) {\n                // If you can't charge the payment method, throw an Error with a string to display to the user.\n                throw new Error(\"The saved card didn't work.\");\n            }\n            global.apis.pos.addReceiptPayment(\n                new global.apis.pos.ReceiptPayment(\n                    (amount / 100).toFixed(2) * 1,\n                    \"card\", // Payment type.\n                    \"Card on File\\nx1234\" // Additional text for receipt\n                )\n            );\n            // Must return true upon success.\n            // If the payment is not successful, and you didn't throw an Error to show the user,\n            // then `return false` instead and it'll appear that the user's action to start the payment did nothing.\n            return true;\n        },\n        saveCardForOfflineUse: async function ({statusCallback, customerUUID, name, company, street1, street2, city, state, zip, country, email, phone}) {\n            // Use the card reader to capture an in-person card and save it for offline use.\n            // Provided details are the customer's info, which might be empty strings except for the customerUUID.\n            // Saved card details must be tied to the customerUUID, as that's how saved cards are looked up.\n\n            // statusCallback(string, boolean) updates the progress message on the cashier's screen.\n            // If the boolean is true, the progress message is replaced with a confirmation message.\n            statusCallback(\"Insert the card into the reader.\", false);\n\n            await global.apis.util.delay(1000); // Wait for the customer to insert their card,\n            //then save it for later offline billing\n\n            statusCallback(\"Saving card details...\", false);\n\n            await global.apis.util.delay(1000);\n\n            statusCallback(\"Card saved!\", true);\n\n            return true; // Card saved to customer\n            // If an error occurred, you can throw it and the error message will be displayed to the cashier.\n            // Alternatively, return boolean false and display the error yourself with global.apis.alert(message, title) or something.\n        },\n        cancelSaveCardForOfflineUse: function () {\n            // Cancel the process running in saveCardForOfflineUse() at the user/cashier's request.\n        },\n        getSavedPaymentMethods: async function ({customerUUID}) {\n            // Return all saved payment methods tied to the provided customer UUID.\n            var methods = [];\n            methods.push({\n                customer: \"<internal string referencing the customer>\", // Passed to checkoutSavedMethod as customerID\n                customer_uuid: customerUUID,\n                id: \"<card/payment method identifier>\", // Passed to checkoutSavedMethod as paymentMethodID\n                type: \"card\", // Payment type. Accepted values are card, ach, crypto, cash, check, account, and free.\n                label: \"Visa debit x1234 (exp. 12/29)\", // Label for payment method\n                label_short: \"Visa debit x1234\" // Abbreviated label for payment method\n            });\n            return methods;\n        },\n        deleteSavedPaymentMethod: async function ({customerUUID, customerID, paymentMethodID}) {\n            // Delete the payment method identified by paymentMethodID and tied to the PostalPoint customerUUID and the card processor customerID.\n            // If unable to delete, throw an error and the error message will be displayed to the cashier.\n            await global.apis.util.delay(1000);\n        }\n    });\n}\n\n// Plugin settings to display.\nexports.config = [\n    {\n        type: \"password\",\n        key: \"democardprocessor_apikey\",\n        defaultVal: \"\",\n        label: \"API Key\",\n        placeholder: \"\",\n        text: \"API Key\"\n    },\n    {\n        type: \"button\",\n        label: \"Test Button\",\n        text: \"Some text about the button\",\n        onClick: function () {\n            global.apis.ui.openSystemWebBrowser(\"https://postalpoint.app\");\n        }\n    }\n];\n
    "},{"location":"Examples/05CryptoProcessor/","title":"Cryptocurrency Payments","text":"

    This plugin template shows how to implement a cryptocurrency payment processor, using the customer-facing display to show a payment QR code webpage.

    Download JavaScript

    plugin-name/plugin.js
    // This is a sample PostalPoint plugin that adds a card payment processor.\n\nexports.init = function () {\n    global.apis.pos.registerCryptoProcessor({\n        name: \"Demo Crypto\",\n        init: async function () {\n            // This is run after PostalPoint starts, and before any other crypto functions are called.\n        },\n        checkout: async function ( {amount}) {\n            // Run the checkout process.\n            // amount is the amount of USD to collect, in pennies.\n\n            // If an error is encountered during processing,\n            //    display an error message in a dialog and return boolean false.\n            //    If this function returns anything except false or undefined, and doesn't throw an error,\n            //    it is assumed the payment was successful.\n\n            // Adds a line of text visible to the cashier\n            global.apis.pos.addOnscreenPaymentLog(\"Getting crypto payment...\");\n\n            // Display a web page (i.e. with a payment QR code) to the customer on the customer-facing display.\n            global.apis.ui.setCustomerScreen(\"<html></html>\", \"html\");\n            global.apis.ui.setCustomerScreen(\"https://postalpoint.app\", \"raw\");\n\n            // Poll the status of the crypto transaction\n            var paymentComplete = false;\n            do {\n                await global.apis.util.delay(1000);\n                paymentComplete = true;\n            } while (paymentComplete != true);\n\n            global.apis.pos.addReceiptPayment(\n                    new global.apis.pos.ReceiptPayment(\n                            (amount / 100).toFixed(2) * 1,\n                            \"crypto\", // Payment type.\n                            \"Bitcoin\\n0.00001234 BTC\" // Additional text for receipt\n                            )\n                    );\n            global.apis.pos.addOnscreenPaymentLog(\"Payment successful!\");\n            global.apis.ui.clearCustomerScreen();\n        },\n        cancelCheckout: function () {\n            // The user requested to cancel the payment.\n            // Reset things accordingly.\n            global.apis.ui.clearCustomerScreen();\n        },\n        isConfigured: function () {\n            // Is this plugin properly setup and able to process payments?  If not, return false.\n            return true;\n        }\n    });\n}\n\n// Plugin settings to display.\nexports.config = [\n    {\n        type: \"password\",\n        key: \"democryproprocessor_apikey\",\n        defaultVal: \"\",\n        label: \"API Key\",\n        placeholder: \"\",\n        text: \"API Key\"\n    },\n    {\n        type: \"button\",\n        label: \"Test Button\",\n        text: \"Some text about the button\",\n        onClick: function () {\n            global.apis.ui.openSystemWebBrowser(\"https://postalpoint.app\");\n        }\n    }\n];\n
    "},{"location":"Plugin%20API/barcode/","title":"Barcode","text":""},{"location":"Plugin%20API/barcode/#barcode-object","title":"barcode : object","text":"

    Handle tracking barcodes

    Kind: global namespace

    • barcode : object
      • .TrackingBarcode
        • new TrackingBarcode(code)
      • .addPrepaidBarcode(trackingBarcodeData)
      • .inject(barcodeData)
      • .onPrepaidScan(f)

    "},{"location":"Plugin%20API/barcode/#barcodetrackingbarcode","title":"barcode.TrackingBarcode","text":"

    Kind: static class of barcode Properties

    Name Type Description tracking string Tracking number barcode string Original barcode data this was created from toZip string Destination ZIP Code, for domestic shipments. The city and state are automatically added. If toAddress is specified, toZip is ignored in favor of it. toCountry string Two-letter destination country code. If it doesn't match the country PostalPoint is running in, the full country name is appended to the displayed address information. toAddress string Destination mailing/shipping address. carrier string Shipping carrier name. service string Shipping service/mail class name. Example: \"Priority Mail\". dropoff boolean If set to false, the barcode will be rejected with a suitable message when PostalPoint is running in self-serve kiosk mode. confidentCarrier boolean If false, PostalPoint may prompt user to specify the shipping carrier. extraInfo Array.<string> Extra description strings, like \"Signature Required\". message string If not empty, the barcode will NOT be added and the contents of message will be displayed to the user. warning string If not empty, the barcode WILL be added and the contents of warning will be displayed to the user. destString string (read only) Get the destination information as a human-presentable multiline string. serviceString string (read only) Get the carrier and service. toString() function Get the package information in a format suitable for display on a receipt. toString(false) function Get the package information in a format suitable for display on a receipt, suppressing the tracking number.

    "},{"location":"Plugin%20API/barcode/#new-trackingbarcodecode","title":"new TrackingBarcode(code)","text":"

    A Tracking barcode object.

    Param Type Description code string Barcode data

    "},{"location":"Plugin%20API/barcode/#barcodeaddprepaidbarcodetrackingbarcodedata","title":"barcode.addPrepaidBarcode(trackingBarcodeData)","text":"

    Add a TrackingBarcode object to the transaction receipt at any time other than onPrepaidScan.

    Kind: static method of barcode

    Param Type trackingBarcodeData TrackingBarcode

    "},{"location":"Plugin%20API/barcode/#barcodeinjectbarcodedata","title":"barcode.inject(barcodeData)","text":"

    Pass data to the internal barcode event subsystem. The data is handled as if it were just received from a physical barcode scanner.

    Kind: static method of barcode

    Param Type barcodeData string

    "},{"location":"Plugin%20API/barcode/#barcodeonprepaidscanf","title":"barcode.onPrepaidScan(f)","text":"

    The function passed to onPrepaidScan is run when a barcode is scanned on the Prepaid page. The function is passed one argument, a string containing the raw barcode data. The function shall return boolean false if unable or unwilling to handle the barcode. If the barcode is handled by this function, it shall return a TrackingBarcode object.

    Kind: static method of barcode

    Param Type f function"},{"location":"Plugin%20API/database/","title":"Database","text":""},{"location":"Plugin%20API/database/#database-object","title":"database : object","text":"

    Database connection

    Kind: global namespace

    "},{"location":"Plugin%20API/database/#databasegetconnection-promisedatabaseadapter","title":"database.getConnection() \u21d2 Promise.<DatabaseAdapter>","text":"

    Return a database connection object to run SQL against the store database. See the Database docs for details.

    Kind: static method of database

    "},{"location":"Plugin%20API/fs/","title":"Fs","text":""},{"location":"Plugin%20API/fs/#fs-object","title":"fs : object","text":"

    Basic filesystem access utility functions, wrapping Node.JS and/or NW.JS code.

    Kind: global namespace

    • fs : object
      • .openFileSaveDialog(suggestedFilename, fileExtensions) \u21d2 Promise.<(string|null)>
      • .openFileBrowseDialog(chooseFolder, accept, dialogTitle) \u21d2 string | null
      • .writeFile(filename, data, encoding, flag) \u21d2 Promise
      • .readFile(filename, encoding, flag) \u21d2 Promise.<(string|Buffer)>
      • .fileExists(filename) \u21d2 boolean

    "},{"location":"Plugin%20API/fs/#fsopenfilesavedialogsuggestedfilename-fileextensions-promisestringnull","title":"fs.openFileSaveDialog(suggestedFilename, fileExtensions) \u21d2 Promise.<(string|null)>","text":"

    Open a file save as dialog prompting the user to save a file. Opens to the user's Documents folder, with sane fallbacks if it cannot be located.

    Kind: static method of fs Returns: Promise.<(string|null)> - The full file path the user selected, or null if they cancelled.

    Param Type Description suggestedFilename string The filename string to pre-fill in the dialog. fileExtensions string The file type filter to show. Examples: \".csv\", \".csv,.html\"

    "},{"location":"Plugin%20API/fs/#fsopenfilebrowsedialogchoosefolder-accept-dialogtitle-string-null","title":"fs.openFileBrowseDialog(chooseFolder, accept, dialogTitle) \u21d2 string | null","text":"

    Open a file browse/file open dialog prompting the user to select a file or folder. Opens to the user's Documents folder, with sane fallbacks if it cannot be located.

    Kind: static method of fs Returns: string | null - The selected file/folder path, or null if cancelled.

    Param Type Default Description chooseFolder boolean false Set to true to choose a folder instead of a file. accept string File filter. \".csv,.html\", \"image/*\", etc. dialogTitle string | null null Title of the file open dialog.

    "},{"location":"Plugin%20API/fs/#fswritefilefilename-data-encoding-flag-promise","title":"fs.writeFile(filename, data, encoding, flag) \u21d2 Promise","text":"

    Write a file to disk.

    Kind: static method of fs

    Param Type Default Description filename string The path and filename to write to. data string | Buffer | ArrayBuffer | Uint8Array Data to write to the file. encoding string | null \"utf8\" Text encoding. Set to empty if not passing string data. flag string | null \"w+\" Filesystem flag.

    "},{"location":"Plugin%20API/fs/#fsreadfilefilename-encoding-flag-promisestringbuffer","title":"fs.readFile(filename, encoding, flag) \u21d2 Promise.<(string|Buffer)>","text":"

    Read a file from disk and return its contents.

    Kind: static method of fs

    Param Type Default Description filename string The path and filename to read from. encoding string \"utf8\" File encoding. Set to null or empty string when reading binary data. flag string \"r+\" Filesystem flag.

    "},{"location":"Plugin%20API/fs/#fsfileexistsfilename-boolean","title":"fs.fileExists(filename) \u21d2 boolean","text":"

    Check if a file exists.

    Kind: static method of fs

    Param Type Description filename string Path and filename to check."},{"location":"Plugin%20API/global%20functions/","title":"Global functions","text":""},{"location":"Plugin%20API/global%20functions/#f7","title":"f7","text":"

    The Framework7 app instance for PostalPoint's entire UI, created by new Framework7(). See https://framework7.io/docs/app for details.

    Kind: global constant

    "},{"location":"Plugin%20API/global%20functions/#getpluginfolderid-string","title":"getPluginFolder([id]) \u21d2 string","text":"

    Get the filesystem path to a plugin's installation folder.

    Kind: global function Returns: string - \"/home/user/.config/postalpoint-retail/Default/storage/plugins/...\", \"C:\\Users\\user\\AppData...\", etc

    Param Type Description [id] string Plugin ID. If omitted or empty, will return the parent folder plugins are installed within.

    "},{"location":"Plugin%20API/global%20functions/#getappfolder-string","title":"getAppFolder() \u21d2 string","text":"

    Get the filesystem path to the PostalPoint installation folder.

    Kind: global function

    "},{"location":"Plugin%20API/global%20functions/#alerttext-title-callback","title":"alert(text, title, [callback])","text":"

    Display a simple alert-style dialog box.

    Kind: global function

    Param Type Default Description text string Body text of the dialog. title string Dialog title. [callback] function Function to call when the alert is closed."},{"location":"Plugin%20API/graphics/","title":"Graphics","text":""},{"location":"Plugin%20API/graphics/#graphics-object","title":"graphics : object","text":"

    PostalPoint uses the Jimp library version 1.6 for creating and manipulating images and shipping labels.

    Kind: global namespace

    • graphics : object
      • .Jimp() \u21d2 Jimp
      • .loadFont(filename) \u21d2 Promise

    "},{"location":"Plugin%20API/graphics/#graphicsjimp-jimp","title":"graphics.Jimp() \u21d2 Jimp","text":"

    The JavaScript Image Manipulation Program.

    Kind: static method of graphics Example

    const {Jimp} = global.apis.graphics.Jimp();\n

    "},{"location":"Plugin%20API/graphics/#graphicsloadfontfilename-promise","title":"graphics.loadFont(filename) \u21d2 Promise","text":"

    Replacement for Jimp's loadFont function, which gets very confused about our JS environment and ends up crashing everything.

    Kind: static method of graphics

    Param Type filename string"},{"location":"Plugin%20API/i18n/","title":"I18n","text":""},{"location":"Plugin%20API/i18n/#i18n-object","title":"i18n : object","text":"

    Functions to help support multiple currencies and countries.

    Kind: global namespace

    • i18n : object
      • .country() \u21d2 string
      • .currency() \u21d2 string
      • .symbol() \u21d2 string
      • .decimals() \u21d2 number
      • .convertCurrency(amount, fromCurrency, [toCurrency]) \u21d2 Promise.<number>
      • .moneyToFixed(amount) \u21d2 string
      • .moneyString(amount) \u21d2 string
      • .currencyMinorToMajor(amount) \u21d2 number
      • .currencyMajorToMinor(amount) \u21d2 number

    "},{"location":"Plugin%20API/i18n/#i18ncountry-string","title":"i18n.country() \u21d2 string","text":"

    Get the 2-character ISO country code that PostalPoint is running in.

    Kind: static method of i18n Returns: string - \"US\", \"CA\", etc.

    "},{"location":"Plugin%20API/i18n/#i18ncurrency-string","title":"i18n.currency() \u21d2 string","text":"

    Get the 3-character currency code in use.

    Kind: static method of i18n Returns: string - \"usd\", \"cad\", etc.

    "},{"location":"Plugin%20API/i18n/#i18nsymbol-string","title":"i18n.symbol() \u21d2 string","text":"

    Get the currency symbol.

    Kind: static method of i18n Returns: string - \"$\", \"\u20ac\", \"\u20a4\", etc

    "},{"location":"Plugin%20API/i18n/#i18ndecimals-number","title":"i18n.decimals() \u21d2 number","text":"

    Get the number of decimal places for the currency: for example, USD has 2 ($x.00), KRW has 0 (x), UYW has 4 (x.0000).

    Kind: static method of i18n Returns: number - 0, 2, 3, or 4

    "},{"location":"Plugin%20API/i18n/#i18nconvertcurrencyamount-fromcurrency-tocurrency-promisenumber","title":"i18n.convertCurrency(amount, fromCurrency, [toCurrency]) \u21d2 Promise.<number>","text":"

    Convert an amount of money to a different currency. Conversion rate is retrieved from the internet and cached for 4 hours.

    Kind: static method of i18n

    Param Type Default Description amount number Amount of money in the \"wrong\" currency fromCurrency string The currency code for the \"wrong\" currency that needs conversion [toCurrency] string \"getCurrencyCode()\" The \"correct\" currency we want the amount to be in.

    "},{"location":"Plugin%20API/i18n/#i18nmoneytofixedamount-string","title":"i18n.moneyToFixed(amount) \u21d2 string","text":"

    Returns the amount as a string formatted with the correct number of decimal places for the currency in use.

    Kind: static method of i18n Returns: string - \"1.23\", \"1.2345\", etc

    Param Type amount number

    "},{"location":"Plugin%20API/i18n/#i18nmoneystringamount-string","title":"i18n.moneyString(amount) \u21d2 string","text":"

    Returns the amount as a string, with the correct decimal places, and the local currency symbol.

    Kind: static method of i18n Returns: string - \"$1.23\", etc

    Param Type amount number

    "},{"location":"Plugin%20API/i18n/#i18ncurrencyminortomajoramount-number","title":"i18n.currencyMinorToMajor(amount) \u21d2 number","text":"

    Convert an amount in cents to dollars (or the local equivalent currency units).

    Kind: static method of i18n Returns: number - Dollars, etc

    Param Type Description amount number Cents, etc

    "},{"location":"Plugin%20API/i18n/#i18ncurrencymajortominoramount-number","title":"i18n.currencyMajorToMinor(amount) \u21d2 number","text":"

    Convert an amount in dollars to cents (or the local equivalent currency units).

    Kind: static method of i18n Returns: number - Cents, etc

    Param Type Description amount number Dollars, etc"},{"location":"Plugin%20API/kiosk/","title":"Kiosk","text":""},{"location":"Plugin%20API/kiosk/#kiosk-object","title":"kiosk : object","text":"

    Self-serve kiosk mode

    Kind: global namespace

    "},{"location":"Plugin%20API/kiosk/#kioskiskiosk-boolean","title":"kiosk.isKiosk() \u21d2 boolean","text":"

    Check if PostalPoint is running in kiosk mode.

    Kind: static method of kiosk Returns: boolean - - True if system is in kiosk mode, else false.

    "},{"location":"Plugin%20API/mailboxes/","title":"Mailboxes","text":""},{"location":"Plugin%20API/mailboxes/#mailboxes-object","title":"mailboxes : object","text":"

    Add, modify, and delete mailboxes and mailbox customers.

    Kind: global namespace

    • mailboxes : object
      • .FormPS1583
        • new FormPS1583()
      • .getList(filter) \u21d2 Promise.<Array>
      • .addDaysToMailbox(boxNumber, days, months) \u21d2 Promise
      • .setMailboxExpirationDate(boxNumber, date) \u21d2 Promise
      • .createMailbox(number, size, notes, barcode) \u21d2 Promise
      • .editMailbox(oldNumber, newNumber, newSize, barcode) \u21d2 Promise
      • .deleteMailbox(number) \u21d2 Promise
      • .closeMailbox(number) \u21d2 Promise
      • .mailboxExists(number) \u21d2 Promise.<boolean>
      • .addOrUpdateBoxholder(boxNumber, info) \u21d2 Promise
      • .removeBoxholder(boxNumber, uuid) \u21d2 Promise
      • .get1583(boxNumber, uuid, archiveNumber) \u21d2 Promise.<FormPS1583>
      • .set1583(boxNumber, uuid, formps1583) \u21d2 Promise
      • .boxNumberValid() \u21d2 boolean
      • .getMailboxProducts() \u21d2 Promise.<Array>

    "},{"location":"Plugin%20API/mailboxes/#mailboxesformps1583","title":"mailboxes.FormPS1583","text":"

    Kind: static class of mailboxes

    "},{"location":"Plugin%20API/mailboxes/#new-formps1583","title":"new FormPS1583()","text":"

    USPS Form PS1583 object, with all the fields needed by USPS for CMRA customers.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesgetlistfilter-promisearray","title":"mailboxes.getList(filter) \u21d2 Promise.<Array>","text":"

    Get the list of mailboxes and boxholders as an array of objects, see example.

    Kind: static method of mailboxes

    Param Type Default Description filter null | object Filter to mailboxes matching a column condition, such as getList({number: \"102\"}) or getList({\"size >=\": \"2\"}). Supported filter names include \"number\" (string, box number), \"expires\" (expiration date), \"size\" (number 1-10), and \"barcode\" (string) SQL injection warning: Filter names are inserted directly into query strings without sanitization. Only the values are safe for user input.

    Example

    [{\n    num: \"123\", // Box number as string\n    expires: 1234567890, // UNIX timestamp (in seconds) or false if box vacant\n    size: \"2\", // Box size, 1-10\n    notes: \"\", // Notes for mailbox, not currently shown in Mailbox Manager UI but may be used in the future\n    barcode: \"\", // Unique barcode for the mailbox, for future use\n    renewalMerchID: \"\", // Merchandise item ID used for autorenewing this mailbox\n    isBusiness: false, // True if the box is for a business, false if for personal use\n    names: [], // Array of boxholders. See addOrUpdateBoxholder for the format.\n    packages: [], // Array of packages awaiting pickup, see below\n    vacant: false // True if the box is currently vacant, else false\n}]\n
    Example
    // Data objects in the packages array:\n{\n    tracking: tracking ?? \"[Untracked]\", // Package tracking number\n    finalized: true, // True if package check-in is finished and shelf tag/mailbox slips printed, false if not finalized\n    available_date: Date(), // The date and time the package was checked in\n    tag: \"\" // Unique number assigned to the package and printed on shelf tags, scanned by employee when customer picks up package\n}\n

    "},{"location":"Plugin%20API/mailboxes/#mailboxesadddaystomailboxboxnumber-days-months-promise","title":"mailboxes.addDaysToMailbox(boxNumber, days, months) \u21d2 Promise","text":"

    Add a number of days or months to a mailbox's expiration. Use either days or months, not both.

    Kind: static method of mailboxes

    Param Type Default Description boxNumber string Mailbox number. days number 0 Days to add. months number 0 Months to add.

    "},{"location":"Plugin%20API/mailboxes/#mailboxessetmailboxexpirationdateboxnumber-date-promise","title":"mailboxes.setMailboxExpirationDate(boxNumber, date) \u21d2 Promise","text":"

    Set the box expiration to a specific JavaScript Date object, or a UNIX timestamp (in seconds).

    Kind: static method of mailboxes

    Param Type boxNumber string date number | Date

    "},{"location":"Plugin%20API/mailboxes/#mailboxescreatemailboxnumber-size-notes-barcode-promise","title":"mailboxes.createMailbox(number, size, notes, barcode) \u21d2 Promise","text":"

    Create a new mailbox number with the specified box size. Throws an error if the box number is already in use.

    Kind: static method of mailboxes

    Param Type Description number string Mailbox number size number Box size (1 - 10) notes string Arbitrary string with human-readable notes about the box. barcode null | string A barcode value representing this mailbox, typically a sticker on the the physical box visible when delivering mail.

    "},{"location":"Plugin%20API/mailboxes/#mailboxeseditmailboxoldnumber-newnumber-newsize-barcode-promise","title":"mailboxes.editMailbox(oldNumber, newNumber, newSize, barcode) \u21d2 Promise","text":"

    Change the number and/or size of a mailbox while preserving the boxholders and packages associated. If only changing size, set oldNumber and newNumber to the same value.

    Kind: static method of mailboxes

    Param Type Default Description oldNumber string Currently assigned box number. newNumber string New box number. Must not exist yet. newSize number | null Box size (1 - 10), if changing the size. barcode null | string A barcode value representing this mailbox, typically a sticker on the the physical box visible when delivering mail.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesdeletemailboxnumber-promise","title":"mailboxes.deleteMailbox(number) \u21d2 Promise","text":"

    Delete a mailbox. Throws an Error if the mailbox has boxholders attached.

    Kind: static method of mailboxes

    Param Type Description number string Mailbox number to delete.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesclosemailboxnumber-promise","title":"mailboxes.closeMailbox(number) \u21d2 Promise","text":"

    Close a mailbox by removing the boxholders and marking it as vacant. Boxholder PS Form 1583 records are automatically archived per USPS regulations.

    Kind: static method of mailboxes

    Param Type Description number string Mailbox number to close.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesmailboxexistsnumber-promiseboolean","title":"mailboxes.mailboxExists(number) \u21d2 Promise.<boolean>","text":"

    Returns true if the mailbox number exists, false if it doesn't.

    Kind: static method of mailboxes

    Param Type Description number string Mailbox number to check.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesaddorupdateboxholderboxnumber-info-promise","title":"mailboxes.addOrUpdateBoxholder(boxNumber, info) \u21d2 Promise","text":"

    Modify or add a boxholder to a mailbox. info is the boxholder structure below. If the uuid given already belongs to a boxholder, their info is updated with what you supply. Otherwise, the info is added as a new boxholder.

    Kind: static method of mailboxes

    Param Type Description boxNumber string Mailbox number info Object Boxholder information.

    Example

    // Unless noted, all fields are strings and default to an empty string.\n{\n    name: [bizname, fname, mname, lname].filter(Boolean).join(\" \"),\n    fname: \"\", // First name\n    mname: \"\", // Middle name\n    lname: \"\", // Last name\n    email: \"\", // Email\n    phone: \"\", // Phone\n    uuid: \"\", // Customer UUID\n    bizname: \"\", // Business name\n    street1: \"\", // Street address\n    city: \"\", // City\n    state: \"\", // Two-character state\n    zipcode: \"\", // ZIP or postal code\n    country: \"\", // Two-character country code\n    primary: true // True if the primary (first) boxholder, false if an additional authorized mail recipient\n}\n

    "},{"location":"Plugin%20API/mailboxes/#mailboxesremoveboxholderboxnumber-uuid-promise","title":"mailboxes.removeBoxholder(boxNumber, uuid) \u21d2 Promise","text":"

    Remove a boxholder by their UUID, and archive their PS Form 1583 data per USPS regulations.

    Kind: static method of mailboxes

    Param Type Description boxNumber string Mailbox number. uuid string Boxholder UUID.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesget1583boxnumber-uuid-archivenumber-promiseformps1583","title":"mailboxes.get1583(boxNumber, uuid, archiveNumber) \u21d2 Promise.<FormPS1583>","text":"

    Get the FormPS1583 object for a boxholder by UUID.

    Kind: static method of mailboxes

    Param Type Default Description boxNumber string Mailbox number. uuid string Boxholder UUID. archiveNumber boolean false If true, returns the form for a deleted boxholder from the archive.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesset1583boxnumber-uuid-formps1583-promise","title":"mailboxes.set1583(boxNumber, uuid, formps1583) \u21d2 Promise","text":"

    Set the FormPS1583 object for a boxholder by UUID.

    Kind: static method of mailboxes

    Param Type Description boxNumber string Mailbox number. uuid string Boxholder UUID. formps1583 FormPS1583 The FormPS1583 object to use.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesboxnumbervalid-boolean","title":"mailboxes.boxNumberValid() \u21d2 boolean","text":"

    Returns true if the mailbox number is an acceptable format, false if it isn't. Does not check if the box actually exists, merely if the number is acceptable to use as a mailbox number.

    Kind: static method of mailboxes

    "},{"location":"Plugin%20API/mailboxes/#mailboxesgetmailboxproducts-promisearray","title":"mailboxes.getMailboxProducts() \u21d2 Promise.<Array>","text":"

    Get a list of merchandise items that are usable for mailbox renewals.

    Kind: static method of mailboxes Example

    [{\n    id: \"\", // Unique ID for this entry in the merchandise table\n    name: \"\", // Merch item name\n    category: \"\", // Merch item category\n    price: 0.0, // Sale price in dollars\n    cost: 0.0, // Merchandise cost in dollars (likely not used for mailboxes)\n    barcode: \"\", // Barcode/UPC (likely not used for mailboxes)\n    tax: 0.0, // Sales tax rate\n    rentaldays: 30, // Number of days this item adds to a mailbox (mutually exclusive with rentalmonths)\n    rentalmonths: 1, // Number of months (mutually exclusive with rentaldays)\n    boxsize: \"1\" // Mailbox size tier, 1-10\n}]\n

    "},{"location":"Plugin%20API/pos/","title":"Pos","text":""},{"location":"Plugin%20API/pos/#pos-object","title":"pos : object","text":"

    Point of Sale, transaction, and payment-related functionality.

    Kind: global namespace

    • pos : object
      • .ReceiptItem
        • new ReceiptItem(id, label, text, priceEach, quantity, cost, taxrate, taxableAmount)
      • .ReceiptPayment
        • new ReceiptPayment(amount, type, text)
      • .addReceiptItem(item)
      • .addReceiptPayment(payment)
      • .addOnscreenPaymentLog(msg)
      • .getReceiptID() \u21d2 string
      • .onReceiptChange(f)
      • ~~.onTransactionFinished(f)~~
      • .registerCardProcessor(f)
      • .registerCryptoProcessor(f)
      • .getShippingSalesTax() \u21d2 Object

    "},{"location":"Plugin%20API/pos/#posreceiptitem","title":"pos.ReceiptItem","text":"

    Kind: static class of pos Properties

    Name Type Default Description merch boolean false True if merchandise, false if shipping. barcode string Item barcode, or tracking number if merch = false. qty number 1 Item quantity. retailPrice number The calculated retail/markup price for a shipment, regardless of actual sale price. If unset, defaults to priceEach * qty. taxRate number 0 Tax rate toAddress Address Shipping destination address. fromAddress Address Shipping return address. carrier string Shipping carrier. service string Shipping service. category string Merchandise/item category. electronicReturnReceipt boolean false If true, the customer's receipt will have instructions on retrieveing the return receipt from USPS. mailboxDays number 0 Number of days this item adds to a mailbox's expiration date. mailboxMonths number 0 Number of months this item adds to a mailbox's expiration date. mailboxNumber string Mailbox number to apply mailboxDays or mailboxMonths to after checkout. setCertifiedInfo() function Set Certified Mail receipt data. setCertifiedInfo(trackingNumber, certfee, extrafees, postage, date, location, toaddress) toJSON() function Get the item as an object suitable for JSON encoding. fromJSON(json) static_function Returns a ReceiptItem created from the object returned by item.toJSON().

    "},{"location":"Plugin%20API/pos/#new-receiptitemid-label-text-priceeach-quantity-cost-taxrate-taxableamount","title":"new ReceiptItem(id, label, text, priceEach, quantity, cost, taxrate, taxableAmount)","text":"

    A class representing a sale item in the current transaction.

    Param Type Default Description id string Unique ID number for this item (UPC code, inventory number, etc). Used to deduplicate and merge line items on the receipt. Unique items (like shipping labels) should be a unique/random ID. label string One-line item information. text string Extra multi-line item information. priceEach number Sale price per unit. quantity number Number of units. cost number Cost per unit. Used for automatic expense tracking. taxrate number 0.0 Examples: 0 (for 0%), 0.05 (for 5%), etc taxableAmount string The part of the sale price that's taxable. \"\" for default (all), \"markup\" for only taxing profit.

    "},{"location":"Plugin%20API/pos/#posreceiptpayment","title":"pos.ReceiptPayment","text":"

    Kind: static class of pos Properties

    Name Type Description label string (readonly) The human-readable string of the payment type. id string Automatically-generated unique ID for this payment. toJSON() function Get the payment as an object suitable for JSON encoding. fromJSON(json) static_function Returns a ReceiptPayment created from the object returned by payment.toJSON().

    "},{"location":"Plugin%20API/pos/#new-receiptpaymentamount-type-text","title":"new ReceiptPayment(amount, type, text)","text":"

    A class representing a payment entry for the current transaction.

    Param Type Description amount number amount paid type string payment type text string extra data (credit card info, etc)

    "},{"location":"Plugin%20API/pos/#posaddreceiptitemitem","title":"pos.addReceiptItem(item)","text":"

    Add an item (shipment, merchandise, etc) to the current transaction.

    Kind: static method of pos

    Param Type item ReceiptItem

    "},{"location":"Plugin%20API/pos/#posaddreceiptpaymentpayment","title":"pos.addReceiptPayment(payment)","text":"

    Add a payment to the current transaction/receipt.

    Kind: static method of pos

    Param Type payment ReceiptPayment

    "},{"location":"Plugin%20API/pos/#posaddonscreenpaymentlogmsg","title":"pos.addOnscreenPaymentLog(msg)","text":"

    Append a line of text to the onscreen log displayed during credit card processing. Not shown in kiosk mode.

    Kind: static method of pos

    Param Type Description msg string Line of text to add to the log.

    "},{"location":"Plugin%20API/pos/#posgetreceiptid-string","title":"pos.getReceiptID() \u21d2 string","text":"

    Get the unique alphanumeric ID for the current transaction/receipt. This is the same code printed on receipts and used in digital receipt URLs.

    Kind: static method of pos

    "},{"location":"Plugin%20API/pos/#posonreceiptchangef","title":"pos.onReceiptChange(f)","text":"

    Specify a function to be called whenever the transaction data/receipt is changed. It is passed a single argument, a Receipt object containing the entire transaction so far.

    Kind: static method of pos

    Param Type f function

    "},{"location":"Plugin%20API/pos/#posontransactionfinishedf","title":"~~pos.onTransactionFinished(f)~~","text":"

    Deprecated

    The supplied function will be called when a transaction is finished. It is passed a single argument, a Receipt object containing the entire transaction. Recommended to listen for the transactionFinished event instead.

    Kind: static method of pos

    Param Type f function

    "},{"location":"Plugin%20API/pos/#posregistercardprocessorf","title":"pos.registerCardProcessor(f)","text":"

    Register as a card payment processor.

    Kind: static method of pos

    Param Type Description f Object Payment processor functions

    Example

    global.apis.pos.registerCardProcessor({\n    name: \"Demo Card Processor\", // Shown in PostalPoint settings menu\n    init: async function () {\n        // This will run after PostalPoint launches\n        // and before any payments are processed.\n        // In some situations it might run multiple times in a session.\n    },\n    checkout: async function ({amount, capture = true}) {\n        // Charge a credit card using a card reader device.\n        // amount is in pennies (or the equivalent base unit in the local currency).\n\n        // Add a payment to the receipt with the total amount paid, card details, etc.\n        global.apis.pos.addReceiptPayment(\n            new global.apis.pos.ReceiptPayment(\n                global.apis.i18n.currencyMinorToMajor(amount),\n                \"card\", // Payment type. Accepted values are card, ach, crypto, cash,\n                // check, account, and free.  Other types will be displayed as-is.\n                \"Demo Card\\nCardholder Name, etc\\nMore info for receipt\" // Additional text for receipt\n            )\n        );\n\n\n        // Must return boolean false if the payment failed.\n        // Otherwise it will be assumed it succeeded.\n        // If an error is encountered, handle it and return false.\n        // It's recommended to display a short \"payment failed\" error\n        // message via global.apis.alert, and outputting more details\n        // via global.apis.pos.addOnscreenPaymentLog.\n\n        // If capture is false, perform an authorization but don't capture,\n        // and return a value you can use to identify the authorization later\n        // and complete it.  The value will be passed back to finishPayment, below.\n        // This is used mainly for the self-serve kiosk mode, in case the label fails\n        // to be purchased/generated by the carrier.\n    },\n    cancelCheckout: function () {\n        // The user has requested the card transaction be canceled before it completes.\n        // Reset the terminal to its resting state, clear its screen, etc.\n    },\n    finishPayment: async function ({checkoutResponse}) {\n        // Finish a payment that was authorized but not captured\n        // because checkout() was called with capture = false.\n        // If payment was already captured and added\n        // to the receipt, just return true.\n        global.apis.pos.addReceiptPayment(\n            new global.apis.pos.ReceiptPayment(\n                global.apis.i18n.currencyMinorToMajor(amount),\n                \"card\",\n                \"Demo Card\\nCardholder Name, etc\\nMore info for receipt\"\n            )\n        );\n    },\n    updateCartDisplay: function (receipt) {\n        // Show transaction data on the card reader display.\n        // This function is called when the \"cart\" or total changes.\n        // `receipt` is a receipt object, see docs for details.\n    },\n    checkoutSavedMethod: async function ({customerID, paymentMethodID, amount}) {\n        // Same as checkout() except using a payment method already on file.\n        // customerID and paymentMethodID are provided by getSavedPaymentMethods below.\n\n        // Must return true upon success.\n        // If the payment is not successful, and you didn't throw an Error to show the user,\n        // then `return false` instead and it'll appear that the user's action to start the payment did nothing.\n        return true;\n    },\n    saveCardForOfflineUse: async function ({statusCallback, customerUUID, name,\n             company, street1, street2, city, state, zip, country, email, phone}) {\n        // Use the card reader to capture an in-person card and save it for offline use.\n        // Provided details are the customer's info, which might be empty strings except for the customerUUID.\n        // Saved card details must be tied to the customerUUID, as that's how saved cards are looked up.\n\n        // statusCallback(string, boolean) updates the progress message on the cashier's screen.\n        // If the boolean is true, the progress message is replaced with a confirmation message.\n        statusCallback(\"Saving card details...\", false);\n\n        return true; // Card saved to customer\n        // If an error occurred, you can throw it and the error\n        // message will be displayed to the cashier.\n        // Alternatively, return boolean false and display the error\n        // yourself with global.apis.alert(message, title) or something.\n    },\n    cancelSaveCardForOfflineUse: function () {\n        // Cancel the process running in saveCardForOfflineUse() at the user/cashier's request.\n    },\n    getSavedPaymentMethods: async function ({customerUUID}) {\n        // Return all saved payment methods tied to the provided customer UUID.\n        return [{\n            customer: \"<internal string referencing the customer>\", // Passed to checkoutSavedMethod as customerID\n            customer_uuid: customerUUID,\n            id: \"<card/payment method identifier>\", // Passed to checkoutSavedMethod as paymentMethodID\n            type: \"card\", // Payment type. Accepted values are card, ach, crypto, cash, check, account, and free.\n            label: \"Visa debit x1234 (exp. 12/29)\", // Label for payment method\n            label_short: \"Visa debit x1234\" // Abbreviated label for payment method\n        }];\n    },\n    deleteSavedPaymentMethod: async function ({customerUUID, customerID, paymentMethodID}) {\n        // Delete the payment method identified by paymentMethodID\n        // and tied to the PostalPoint customerUUID and the card processor customerID.\n        // If unable to delete, throw an error and the error message\n        // will be displayed to the cashier.\n    }\n});\n

    "},{"location":"Plugin%20API/pos/#posregistercryptoprocessorf","title":"pos.registerCryptoProcessor(f)","text":"

    Register as a cryptocurrency payment processor.

    Kind: static method of pos

    Param Type Description f Object Payment processor functions

    Example

    global.apis.pos.registerCryptoProcessor({\n    name: \"Demo Crypto\", // Shown in PostalPoint settings menu\n    init: async function () {\n        // This is run after PostalPoint starts,\n        // and before any other crypto functions are called.\n    },\n    checkout: async function ({amount}) {\n        // Run the checkout process.\n        // amount is the amount of fiat currency to collect,\n        // in pennies (or the local equivalent).\n\n        // If an error is encountered during processing,\n        //    display an error message in a dialog and return boolean false.\n        //    If this function returns anything except false or undefined,\n        //    and doesn't throw an error,\n        //    it is assumed the payment was successful.\n\n        // Adds a line of text visible to the cashier\n        global.apis.pos.addOnscreenPaymentLog(\"Getting crypto payment...\");\n\n        // Display a web page (i.e. with a payment QR code)\n        // to the customer on the customer-facing display.\n        global.apis.ui.setCustomerScreen(\"<html></html>\", \"html\");\n        global.apis.ui.setCustomerScreen(\"https://postalpoint.app\", \"raw\");\n\n        // Poll the status of the crypto transaction\n        var paymentComplete = false;\n        do {\n            await global.apis.util.delay(1000);\n            paymentComplete = true;\n        } while (paymentComplete != true);\n\n        global.apis.pos.addReceiptPayment(\n                new global.apis.pos.ReceiptPayment(\n                        global.apis.i18n.currencyMinorToMajor(amount),\n                        \"crypto\", // Payment type.\n                        \"Bitcoin\\n0.00001234 BTC\" // Additional text for receipt\n                        )\n                );\n        global.apis.pos.addOnscreenPaymentLog(\"Payment successful!\");\n        global.apis.ui.clearCustomerScreen();\n    },\n    cancelCheckout: function () {\n        // The user requested to cancel the payment.\n        // Reset things accordingly.\n        global.apis.ui.clearCustomerScreen();\n    },\n    isConfigured: function () {\n        // Is this plugin properly setup\n        // and able to process payments?\n        // If not, return false.\n        // This determines if the crypto payment method button will be shown.\n        return true;\n    }\n});\n

    "},{"location":"Plugin%20API/pos/#posgetshippingsalestax-object","title":"pos.getShippingSalesTax() \u21d2 Object","text":"

    Get the sales tax percentage to charge on a shipping service ReceiptItem.

    Kind: static method of pos Returns: Object - {type: \"\", percent: 0.15} type is an empty string for taxing the entire price, or \"markup\" for only adding tax to the markup amount. percent is the tax percentage. A value of 0.15 means a 15% tax.

    "},{"location":"Plugin%20API/print/","title":"Print","text":""},{"location":"Plugin%20API/print/#print-object","title":"print : object","text":"

    Printing to connected printers

    Kind: global namespace

    • print : object
      • .printLabelImage(image)
      • .getReceiptPrinter() \u21d2 Promise.<Object>
      • .printReceiptData(data)
      • .imageToBitmap(jimpImage, [dpiFrom], [dpiTo]) \u21d2 Object

    "},{"location":"Plugin%20API/print/#printprintlabelimageimage","title":"print.printLabelImage(image)","text":"

    Print a 300 DPI image on the shipping label printer, centered on a 4x6 inch label. Image is automatically scaled to 200 DPI if required by the printer.

    Kind: static method of print

    Param Type Description image ArrayBuffer | Buffer | Uint8Array | string | Jimp image data, as a Jimp image object, raw PNG bytes, or a URL (http/https) string. 1200x1800 or 800x1200 images are scaled to 4x6 inches. Other image sizes are assumed to be 300 DPI and are centered on the shipping label. Image orientation is rotated to match the label orientation.

    "},{"location":"Plugin%20API/print/#printgetreceiptprinter-promiseobject","title":"print.getReceiptPrinter() \u21d2 Promise.<Object>","text":"

    Get the receipt printer interface. See the ReceiptPrinter docs for available functions.

    Kind: static method of print

    "},{"location":"Plugin%20API/print/#printprintreceiptdatadata","title":"print.printReceiptData(data)","text":"

    Send raw data (generated by the printer interface) to the receipt printer.

    Kind: static method of print

    Param Type Description data string | Uint8Array | Array.<string> | Array.<Uint8Array> Data to send to printer.

    "},{"location":"Plugin%20API/print/#printimagetobitmapjimpimage-dpifrom-dpito-object","title":"print.imageToBitmap(jimpImage, [dpiFrom], [dpiTo]) \u21d2 Object","text":"

    Convert a Jimp image object to 1-bit monochrome image data before sending image data to a printer interface. Optionally scales the image to a different DPI before conversion.

    Kind: static method of print Returns: Object - - Example: {width: 300, height: 200, img: Uint8Array}. Pass img to drawImage on a printer interface.

    Param Type Default Description jimpImage Jimp [dpiFrom] number 300 Original image DPI. [dpiTo] number 300 New image DPI."},{"location":"Plugin%20API/reports/","title":"Reports","text":""},{"location":"Plugin%20API/reports/#reports-object","title":"reports : object","text":"

    Define custom reports for the user.

    Kind: global namespace

    "},{"location":"Plugin%20API/reports/#reportsregisterreportname-onloadstartdateenddate-date","title":"reports.registerReport(name, onload(startDate,endDate), date)","text":"

    Kind: static method of reports

    Param Type Description name string Report name onload(startDate,endDate) function Called when the report is loaded, with start and end Date objects. See example. date boolean If the report requires a date range be selected.

    Example

    global.apis.reports.registerReport(\"sample\", function (startDate, endDate) {\n\n // Note about column datatypes:\n // Use \"string\" for the datatype, except for the special cases listed here.\n // Other datatypes may be added in the future, so use \"string\"\n // unless you like unexpected behavior!\n //\n // datetime:   Column is a UNIX timestamp (in seconds).\n //             It is displayed as a formatted date and time string.\n // receiptid:  Column is a PostalPoint receipt ID number. Displayed as a link.\n //             Clicking the ID will fetch and open the receipt in a popup.\n // userid:     Column contains an employee ID number from the PostalPoint database.\n //             It is queried in the database and replaced with the employee's name,\n //             or with an empty string if the ID lookup has no results.\n // money:      Column is a number that will be formatted as currency for display.\n // percent:    Column is a percent value (as 12.3, not .123) and will be formatted\n //             with a trailing % sign and rounded to two decimal places.\n\n // Single-table report\n return {\n   table: {\n     header: [\"Column 1\", \"Column 2\"],\n     datatypes: [\"string\", \"string\"],\n     rows: [\n       [\"Row 1 Col 1\", \"Row 1 Col 2\"],\n       [\"Row 2 Col 1\", \"Row 2 Col 2\"]\n     ]\n   }\n };\n\n // Multiple-table report\n return {\n    multitable: true,\n    table: {\n      titles: [\"Report 1 Title\", \"Report 2 Title\"],\n      header: [[\"Report 1 Column 1\", \"Report 1 Column 2\"], [\"Report 2 Column 1\", ...]],\n      datatypes: [[\"string\", \"string\"], [\"string\", \"string\"]],\n      rows: [\n        [\n          [\"Report 1 Row 1 Col 1\", \"Report 1 Row 1 Col 2\"],\n          [\"Report 1 Row 2 Col 1\", \"Report 1 Row 2 Col 2\"]\n        ],\n        [\n          [\"Report 2 Row 1 Col 1\", \"Report 2 Row 1 Col 2\"],\n          [\"Report 2 Row 2 Col 1\", \"Report 2 Row 2 Col 2\"]\n        ]\n      ]\n    }\n  }\n}, true);\n

    "},{"location":"Plugin%20API/settings/","title":"Settings","text":""},{"location":"Plugin%20API/settings/#settings-object","title":"settings : object","text":"

    PostalPoint provides a UI for user-configurable plugin settings. See exports.config in examples/basic-demo/plugin.js for details. Settings are typically very short strings. Do not store data in settings. For data storage, see Storing Data. Non-string settings values are transparently converted to/from JSON objects. Use a unique key name prefix for your plugin to prevent key name conflicts. Reverse domain style is recommended (i.e. \"com.example.pluginname.keyname\").

    Kind: global namespace

    • settings : object
      • .get(key, defaultValue) \u21d2 *
      • .set(key, value)

    "},{"location":"Plugin%20API/settings/#settingsgetkey-defaultvalue","title":"settings.get(key, defaultValue) \u21d2 *","text":"

    Get a setting.

    Kind: static method of settings

    Param Type Description key string Setting key/ID defaultValue * Value to return if setting has no stored value.

    "},{"location":"Plugin%20API/settings/#settingssetkey-value","title":"settings.set(key, value)","text":"

    Set a setting.

    Kind: static method of settings

    Param Type Description key string Setting key/ID value string Value to set."},{"location":"Plugin%20API/shipping/","title":"Shipping","text":""},{"location":"Plugin%20API/shipping/#shipping-object","title":"shipping : object","text":"

    Add custom carrier and rates, and adjust markup.

    Kind: global namespace

    • shipping : object
      • .Address
        • new Address()
      • .getZIPCode(zipcode, country) \u21d2 Object
      • .getPackagingByID(id) \u21d2 Promise.<Object>
      • .getRetailPriceWithMarkup(cost, retail, carrier, service, weightOz, packaging) \u21d2 Promise.<number>
      • .getCarrierName(carrierId) \u21d2 string
      • .getServiceName(serviceId, carrier) \u21d2 string
      • .registerRateEndpoint(getRates, purchase, idPrefix)
      • .registerMarkupCalculator(markupFn)
      • .registerInsuranceProvider(id, name, cardText, maxValue, getQuote, insure)

    "},{"location":"Plugin%20API/shipping/#shippingaddress","title":"shipping.Address","text":"

    Kind: static class of shipping

    "},{"location":"Plugin%20API/shipping/#new-address","title":"new Address()","text":"

    A class representing an address.

    "},{"location":"Plugin%20API/shipping/#shippinggetzipcodezipcode-country-object","title":"shipping.getZIPCode(zipcode, country) \u21d2 Object","text":"

    Get data for a ZIP Code.

    Kind: static method of shipping Returns: Object - Data about the ZIP code. See example. Fields may be empty if not available. Type may be \"STANDARD\", \"UNIQUE\", \"PO BOX\", or \"MILITARY\".

    Param Type Default Description zipcode string ZIP or postal code. country string \"US\" Currently only \"US\" and \"CA\" are supported.

    Example

    {city: \"NEW YORK\", state: \"NY\", type: \"STANDARD\"}\n

    "},{"location":"Plugin%20API/shipping/#shippinggetpackagingbyidid-promiseobject","title":"shipping.getPackagingByID(id) \u21d2 Promise.<Object>","text":"

    Get a parcel's packaging type from PostalPoint's internal ID for it.

    Kind: static method of shipping Returns: Promise.<Object> - See examples.

    Param Type id number

    Example

    {\n    id: 100,\n    type: \"Parcel\",\n    img: \"box.png\",\n    name: \"Box\",\n    service: \"\",\n    l: -1,\n    w: -1,\n    h: -1,\n    weight: true,\n    hazmat: true,\n    source: \"Customer\"\n}\n
    Example
    {\n    id: 1,\n    type: \"FlatRateEnvelope\",\n    img: \"pm-fres.png\",\n    name: \"Flat Rate Envelope\",\n    service: \"Priority\",\n    l: -2,\n    w: -2,\n    h: -2,\n    weight: false,\n    hazmat: true,\n    usps_supplied: true,\n    envelope: true,\n    source: \"USPS\",\n    skus: [\"PS00001000014\", \"PS00001000012\", \"PS00001000027\", \"PS00001000064\", \"PS00001001921\", \"PS00001035000\", \"PS00001036014\", \"PS00001128600\", \"https://qr.usps.com/epsspu?p=30\", \"https://qr.usps.com/epsspu?p=8\"]\n}\n
    Example
    {\n    id: 201,\n    type: \"UPSLetter\",\n    img: \"ups-env.png\",\n    name: \"Envelope\",\n    carrier: \"UPS\",\n    l: -2,\n    w: -2,\n    h: -2,\n    weight: true,\n    hazmat: true,\n    source: \"OtherCarrier\"\n}\n

    "},{"location":"Plugin%20API/shipping/#shippinggetretailpricewithmarkupcost-retail-carrier-service-weightoz-packaging-promisenumber","title":"shipping.getRetailPriceWithMarkup(cost, retail, carrier, service, weightOz, packaging) \u21d2 Promise.<number>","text":"

    Calculate the retail price for a shipment rate based on the configured margin settings.

    Kind: static method of shipping Returns: Promise.<number> - The amount to charge the customer

    Param Type Description cost number Cost of shipment to business retail number Default retail price from label provider carrier string Shipment carrier service string Shipment service weightOz number The weight of the shipment in ounces, or null if not available. packaging string An empty string if not available, or \"Letter\", \"FlatRateEnvelope\", etc.

    "},{"location":"Plugin%20API/shipping/#shippinggetcarriernamecarrierid-string","title":"shipping.getCarrierName(carrierId) \u21d2 string","text":"

    Converts the carrier ID string into a consistent and human-readable name.

    Kind: static method of shipping

    Param Type carrierId string

    "},{"location":"Plugin%20API/shipping/#shippinggetservicenameserviceid-carrier-string","title":"shipping.getServiceName(serviceId, carrier) \u21d2 string","text":"

    Converts the service ID string into a consistent and human-readable name. Set the carrier ID for better results.

    Kind: static method of shipping

    Param Type Default serviceId string carrier string \"USPS\"

    "},{"location":"Plugin%20API/shipping/#shippingregisterrateendpointgetrates-purchase-idprefix","title":"shipping.registerRateEndpoint(getRates, purchase, idPrefix)","text":"

    Register the plugin as a shipping rate and label provider. See the Shipping example plugin.

    Kind: static method of shipping

    Param Type Description getRates function A function passed a Parcel object to get rates for. Returns a Promise that resolves to an array of rate objects. purchase function A function passed a rate ID to purchase. Returns a Promise that resolves to the label information. idPrefix string A unique string that will be prefixing all rate IDs from this plugin.

    Example

    // getRates sample return value:\n[{\n    rateid: `${idPrefix}_${global.apis.util.uuid.v4()}`,\n    carrier: \"CarrierID\",\n    carrierName: \"Carrier Name\",\n    service: \"CARRIER_SERVICE_ID\",\n    cost_rate: 10,\n    retail_rate: 15,\n    delivery_days: 3,\n    delivery_date: null,\n    guaranteed: true,\n    serviceName: \"Service Name\",\n    color: \"green\" // Rate card color\n}]\n
    Example
    // purchase sample return value:\n{\n    label: labelImageToPrint,\n    labeltype: \"PNG\",\n    receiptItem: ReceiptItem,\n    tracking: \"12345678901234567890\",\n    cost: 10.0,\n    price: 15.0,\n    carrier: \"Carrier Name\",\n    service: \"Service Name\",\n    delivery_days: 3,\n    delivery_date: 1234567890, // UNIX timestamp\n    to: toAddressLines // Array of strings\n}\n

    "},{"location":"Plugin%20API/shipping/#shippingregistermarkupcalculatormarkupfn","title":"shipping.registerMarkupCalculator(markupFn)","text":"

    Register the plugin to modify PostalPoint's shipping markup calculation during shipment rating.

    Kind: static method of shipping Throws:

    • Error Only one plugin may register with this function; any subsequent attempts to register will throw an Error.
    Param Type Description markupFn function A function that must return either the retail price to charge for this rate, or false to opt-out of setting this particular rate.

    Example

    global.apis.shipping.registerMarkupCalculator(\n    // Parameters:\n    // cost:       Cost to shipper\n    // retail:     Carrier-suggested retail price\n    // suggested:  PostalPoint-suggested retail (default margin calc)\n    // carrier:    Shipping carrier name\n    // service:    Shipping service code\n    // weightOz:   The weight of the shipment in ounces, or null if not available.\n    // packaging:  An empty string if not available, or \"Letter\", \"FlatRateEnvelope\", etc. See https://docs.easypost.com/docs/parcels#predefined-package\n    // parcel:     The Parcel object for this shipment.  May be null for some rate-only requests without a shipment, such as USPS price calculations.\n    function (cost, retail, suggested, carrier, service, weightOz, packaging, parcel) {\n        if (carrier == \"USPS\") {\n            if (service == \"First-Class Mail\") {\n                // Handle First-Class Mail differently if it's a 1oz letter (i.e. Forever stamp)\n                if (weightOz <= 1 && packaging == \"Letter\") {\n                    return retail + 0.05;\n                } else {\n                    return retail + 0.25;\n                }\n            }\n            // Handle flat rate envelopes differently\n            if (global.apis.shipping.getServiceName(service, carrier) == \"Priority Mail\" && packaging == \"FlatRateEnvelope\") {\n                return retail + 1.0;\n            }\n            return suggested + 2.0; // Charge the PostalPoint-calculated amount plus $2\n        } else {\n            return cost * 2; // Charges the customer double the shipment's cost.\n        }\n    }\n);\n

    "},{"location":"Plugin%20API/shipping/#shippingregisterinsuranceproviderid-name-cardtext-maxvalue-getquote-insure","title":"shipping.registerInsuranceProvider(id, name, cardText, maxValue, getQuote, insure)","text":"

    Add a shipping insurance provider.

    Kind: static method of shipping

    Param Type Description id string | null Unique ID for the provider. Will be autogenerated if null. name string Human-readable name for the provider. Shown as the card heading on the Insurance section of the Ship screen. cardText string Text or HTML to display on the Ship screen card for this provider. maxValue number The largest number that will be accepted for the \"Insured for\" value. getQuote function Returns the cost and retail price for insuring the parcel, or a Promise that resolves into the same. See the example for details. insure function Insure the parcel and add the insurance details to the receipt. See example.

    Example

    async function getQuote(value, parcel, carrier, service) {\n    // Do math, etc\n    var cost = value / 100;\n\n    return {\n        cost: cost,\n        retail: cost * 2\n    };\n    // Or, to remove this shipping rate from the list,\n    // because the shipment/carrier/service combination\n    // is not eligible for insurance:\n    return false;\n}\n\nasync function insure(value, parcel, carrier = \"USPS\", service = \"Priority\", trackingNumber = \"94055...\") {\n    // Purchase the insurance\n    var cost = value / 100;\n    var retailPrice = cost * 2;\n    var costPrice = cost;\n\n    var receiptitem = new global.apis.pos.ReceiptItem(`sampleinsurance_${trackingNumber}`,\n        \"Sample Insurance\",\n        \"Insured for \" + global.apis.i18n.moneyString(value),\n        retailPrice, 1, costPrice, 0\n    );\n    receiptitem.merch = true;\n    receiptitem.category = \"Shipping Insurance\";\n    receiptitem.barcode = trackingNumber;\n    global.apis.pos.addReceiptItem(receiptitem);\n}\n\nglobal.apis.shipping.registerInsuranceProvider(\n     \"sampleproviderid\", \"Sample Insurance\",\n     \"Insurance coverage from Sample Insurance. $1 per $100 of value.\",\n     5000, getQuote, insure);\n

    "},{"location":"Plugin%20API/storage/","title":"Storage","text":""},{"location":"Plugin%20API/storage/#storage-object","title":"storage : object","text":"

    Get and set data.

    Kind: global namespace

    • storage : object
      • .getSmall(key, defaultValue) \u21d2 *
      • .setSmall(key, value)
      • .getBig(key, defaultValue)
      • .setBig(key, value)
      • .getDB(key, defaultValue) \u21d2 Promise.<*>
      • .setDB(key, value) \u21d2 Promise

    "},{"location":"Plugin%20API/storage/#storagegetsmallkey-defaultvalue","title":"storage.getSmall(key, defaultValue) \u21d2 *","text":"

    Get a value from the small data storage, using localStorage or a similar mechanism (may change in the future).

    Kind: static method of storage

    Param Type Description key string Storage item key/ID defaultValue * Value to return if the item key doesn't have a stored value.

    "},{"location":"Plugin%20API/storage/#storagesetsmallkey-value","title":"storage.setSmall(key, value)","text":"

    Set a value in the small data storage, using localStorage or a similar mechanism (may change in the future).

    Kind: static method of storage

    Param Type Description key string Storage item key/ID value * Value to store.

    "},{"location":"Plugin%20API/storage/#storagegetbigkey-defaultvalue","title":"storage.getBig(key, defaultValue)","text":"

    Get a value in the large data storage. Unserialized from a JSON file on disk.

    Kind: static method of storage

    Param Type Description key string Storage item key/ID defaultValue * Value to return if the item key doesn't have a stored value.

    "},{"location":"Plugin%20API/storage/#storagesetbigkey-value","title":"storage.setBig(key, value)","text":"

    Set a value in the large data storage. Serialized to JSON and stored on disk as a file.

    Kind: static method of storage

    Param Type Description key string Storage item key/ID value * Value to store.

    "},{"location":"Plugin%20API/storage/#storagegetdbkey-defaultvalue-promise","title":"storage.getDB(key, defaultValue) \u21d2 Promise.<*>","text":"

    Get a value from the database storage. Unlike other storage types, values in the database are available on all PostalPoint installations in a single location.

    Kind: static method of storage

    Param Type Description key string Storage item key/ID defaultValue * Value to return if the item key doesn't have a stored value.

    "},{"location":"Plugin%20API/storage/#storagesetdbkey-value-promise","title":"storage.setDB(key, value) \u21d2 Promise","text":"

    Set a value in the database storage. Non-string values are serialized to JSON. Unlike other storage types, values in the database are available on all PostalPoint installations in a single location.

    Kind: static method of storage

    Param Type Description key string Storage item key/ID value * Value to store."},{"location":"Plugin%20API/ui/","title":"Ui","text":""},{"location":"Plugin%20API/ui/#ui-object","title":"ui : object","text":"

    Interact with and modify the PostalPoint user interface.

    Kind: global namespace

    • ui : object
      • .addToolsPage(page, title, id, description, cardTitle, icon, type)
      • .addHomeTab(content, title, icon, id) \u21d2 undefined
      • .showProgressSpinner(title, text, subtitle) \u21d2 undefined
      • .hideProgressSpinner()
      • .openSystemWebBrowser(url)
      • .openInternalWebBrowser(url)
      • .clearCustomerScreen()
      • .setCustomerScreen(content, type, displayInCard, cardSize, displayStatusBar)
      • .collectSignatureFromCustomerScreen(title, terms, termstype)
      • .cancelSignatureCollection()
      • .clearSignaturePad()
      • .getCustomerDisplayInfo() \u21d2 Object

    "},{"location":"Plugin%20API/ui/#uiaddtoolspagepage-title-id-description-cardtitle-icon-type","title":"ui.addToolsPage(page, title, id, description, cardTitle, icon, type)","text":"

    Add a page to the Tools screen. If type is set to \"function\", the page argument will be run as a function and will not be expected to return a page component. Framework7 Page Component documentation

    Kind: static method of ui

    Param Type Default Description page string | function Page content as a Framework7 component page. If page is a string ending in .f7 it is treated as a file path and the page content will be loaded from disk. If page is any other string, it is treated as the page content. If page is a function, it will be called and must return the page content (unless type is set to \"function\", see examples) title string Page title. id string Page ID. Make it unique, or pass an empty string to be assigned a random ID. description string Description of this tool for its card on the Tools screen. cardTitle string Title of the card for this page on the Tools screen. icon string FontAwesome icon class, for example, \"fa-solid fa-globe\". FontAwesome Pro solid, regular, light, and duotone icons are available. type string \"page\" What kind of data is supplied by page: \"page\" or \"function\".

    Example

    // Full plugin that displays an alert when the card is clicked on the Tools page\nexports.init = function () {\n    global.apis.ui.addToolsPage(\n                                 displayMessage,\n                                 \"click me\",\n                                 \"clickmecard\",\n                                 \"Click here to see a message\",\n                                 \"Click This Card\",\n                                 \"fa-solid fa-arrow-pointer\",\n                                 \"function\"\n                               );\n}\n\nfunction displayMessage() {\n    global.apis.alert(\"Card clicked\");\n}\n
    Example
    // Open a dynamically-generated page\nfunction rollDice() {\n    var randomNumber = Math.round(Math.random() * 6) + 1;\n    return `<div class=\"page\">\n        <div class=\"navbar\">\n            <div class=\"navbar-bg\"></div>\n            <div class=\"navbar-inner\">\n                <a href=\"#\" class=\"link back\">\n                    <i class=\"icon icon-back\"></i>\n                </a>\n                <div class=\"title\">Random Number</div>\n            </div>\n        </div>\n        <div class=\"page-content\">\n            <div class=\"block\">\n                <h1>You rolled ${randomNumber}</h1>\n            </div>\n        </div>\n    </div>`;\n}\nglobal.apis.ui.addToolsPage(\n                             rollDice,\n                             \"Random\",\n                             \"randomnumbercard\",\n                             \"Click here for a random number\",\n                             \"Random Number\",\n                             \"fa-regular fa-dice\",\n                             \"page\"\n                           );\n
    Example
    // Open a page from a file.\n// See https://framework7.io/docs/router-component#single-file-component\nglobal.apis.ui.addToolsPage(\n                             global.apis.getPluginFolder(\"example-plugin\") + \"/page.f7\",\n                             \"Page\",\n                             \"filepage\",\n                             \"Open page.f7 from the plugin installation folder\",\n                             \"Open Custom Page\",\n                             \"fa-regular fa-file\",\n                             \"page\"\n                           );\n

    "},{"location":"Plugin%20API/ui/#uiaddhometabcontent-title-icon-id-undefined","title":"ui.addHomeTab(content, title, icon, id) \u21d2 undefined","text":"

    Add a custom tab to the PostalPoint home screen. Works almost the same as addToolsPage.

    Kind: static method of ui

    Param Type Description content string | function Tab content. It is rendered/processed when the user navigates to the Home screen and clicks the tab; if the user navigates to a different screen and back to Home, it will be re-rendered. If content is a string ending in .f7 it is treated as a file path and the content will be loaded from disk. If content is any other string, it is treated as the content. If content is a function, it will be called and must return the content. title string Tab title. Keep it short; depending on screen size and tab count, you have as little as 150px of space. icon string FontAwesome icon displayed above the tab title. id string Tab ID. Make it unique, or pass an empty string to be assigned a random ID. If addHomeTab is called with a tab ID that is already registered, it will be overwritten.

    Example

    global.apis.ui.addHomeTab(\"<div class='block'>Hello</div>\", \"Hello Tab\", \"fa-duotone fa-hand-wave\", \"hellotab\");\n
    Example
    function renderTab() {\n    return \"<template><div><h1>${hellovar}</h1></div></template><script>export default (props, {$on, $update, $f7}) => {var hellovar = 'hello world'; return $render;}</script>\";\n}\nglobal.apis.ui.addHomeTab(renderTab, \"Hello Template\", \"fa-duotone fa-file-code\", \"hellotemplatetab\");\n

    "},{"location":"Plugin%20API/ui/#uishowprogressspinnertitle-text-subtitle-undefined","title":"ui.showProgressSpinner(title, text, subtitle) \u21d2 undefined","text":"

    Show a notification with a loading icon.

    Kind: static method of ui

    Param Type Description title string The message to show on the spinner. text string Optional. Body text on the spinner. subtitle string Optional. Sub-heading under the title.

    "},{"location":"Plugin%20API/ui/#uihideprogressspinner","title":"ui.hideProgressSpinner()","text":"

    Close the notification opened by showProgressSpinner.

    Kind: static method of ui

    "},{"location":"Plugin%20API/ui/#uiopensystemwebbrowserurl","title":"ui.openSystemWebBrowser(url)","text":"

    Open the native OS default browser to the URL given.

    Kind: static method of ui

    Param Type url string

    "},{"location":"Plugin%20API/ui/#uiopeninternalwebbrowserurl","title":"ui.openInternalWebBrowser(url)","text":"

    Open a web browser inside PostalPoint. The browser has forward/back/close buttons.

    Kind: static method of ui

    Param Type url string

    Example

    global.apis.ui.openInternalWebBrowser(\"https://postalpoint.app\");\nglobal.apis.eventbus.on(\"browserNavigate\", function (newUrl) {\n    global.apis.alert(`New URL: ${newUrl}`, \"Browser Navigated\");\n    if (newUrl == \"https://closeme.com\") {\n        global.apis.eventbus.emit(\"browserCloseRequest\");\n    }\n});\n

    "},{"location":"Plugin%20API/ui/#uiclearcustomerscreen","title":"ui.clearCustomerScreen()","text":"

    Clear any custom content on the customer-facing display, defaulting back to blank/receipt/shipping rates, as applicable.

    Kind: static method of ui

    "},{"location":"Plugin%20API/ui/#uisetcustomerscreencontent-type-displayincard-cardsize-displaystatusbar","title":"ui.setCustomerScreen(content, type, displayInCard, cardSize, displayStatusBar)","text":"

    Render content on the customer-facing display. Encodes content as a data URI (example: data:text/html;charset=utf-8,${content}) and renders on the customer-facing display. If type is html, renders the string as HTML. If type is pdf, displays a PDF viewer. If type is raw, functions like setting an iframe's src to content. All other type values are rendered as text/plain. To display the iframe in a card centered on the screen, set displayInCard to true and pass the desired dimensions (w, h) of the card in px. If the requested size is larger than the available screen space, the card will instead fill the available space. Warning: Do not load third-party websites, this is a security risk. Wrap it in a tag if you need to display one.

    Kind: static method of ui

    Param Type Default Description content string Page content. type string \"html\" Format of the content. One of \"html\", \"pdf\", \"raw\", \"body\", or \"text\". displayInCard boolean false Set to true to wrap the content in a card UI. cardSize Array.<number> [300,300 Size of the card UI if displayInCard == true. displayStatusBar boolean true Whether the bar on the bottom of the screen should be visible, containing the store logo and scale weight.

    Example

    // How content is converted by PostalPoint before display:\nif (type == \"html\") {\n    customerScreenContent = `data:text/html;charset=utf-8,${content}`;\n} else if (type == \"pdf\") {\n    customerScreenContent = `data:application/pdf,${content}`;\n} else if (type == \"raw\") {\n    global.customerScreenContent = `${content}`;\n} else if (type == \"body\") {\n    customerScreenContent = `data:text/html;charset=utf-8,<!DOCTYPE html>\n    <meta charset=\"utf-8\">\n    <title></title>\n    <style>\n        html, body {margin: 0; padding: 0; font-family: Roboto, Ubuntu, Arial, sans-serif;}\n        h1, h2, h3 {margin: 0;}\n    </style>\n    <div id=\"maindiv\">${content}</div>`;\n} else {\n    customerScreenContent = `data:text/plain;charset=utf-8,${content}`;\n}\n

    "},{"location":"Plugin%20API/ui/#uicollectsignaturefromcustomerscreentitle-terms-termstype","title":"ui.collectSignatureFromCustomerScreen(title, terms, termstype)","text":"

    Show a signature pad on the customer-facing display. When the customer indicates the signature is finished, the customerSignatureCollected event is emitted with the data {\"svg\": \"data:image/svg+xml;base64,...\", \"png\": \"data:image/png;base64,...\"}

    Kind: static method of ui

    Param Type Default Description title string null Display a title/header on the customer screen. Currently ignored, but may be used in the future. terms string | boolean false Set to a string to display terms and conditions or other text content next to the signature pad. termstype string \"body\" \"html\", \"pdf\", \"raw\", or \"body\". See setCustomerScreen()

    Example

    global.apis.ui.collectSignatureFromCustomerScreen(\"\", \"<p>By signing, you agree to pay us lots of money</p>\", \"body\");\nglobal.apis.eventbus.on(\"customerSignatureCollected\", function (sigdata) {\n    const pngDataURL = sigdata.png;\n    const svgDataURL = sigdata.svg;\n});\n

    "},{"location":"Plugin%20API/ui/#uicancelsignaturecollection","title":"ui.cancelSignatureCollection()","text":"

    Cancels customer signature collection and returns the customer-facing display to normal operation.

    Kind: static method of ui Example

    global.apis.ui.cancelSignatureCollection();\n

    "},{"location":"Plugin%20API/ui/#uiclearsignaturepad","title":"ui.clearSignaturePad()","text":"

    Erase the signature drawn on the customer-facing display. Note that the customer is also provided a button to do this.

    Kind: static method of ui Example

    global.apis.ui.clearSignaturePad();\n

    "},{"location":"Plugin%20API/ui/#uigetcustomerdisplayinfo-object","title":"ui.getCustomerDisplayInfo() \u21d2 Object","text":"

    Describes if the customer-facing display is currently enabled, and if it supports customer touch interaction.

    Kind: static method of ui Returns: Object - {\"enabled\": true, \"touch\": true} Example

    var info = global.apis.ui.getCustomerDisplayInfo();\n

    "},{"location":"Plugin%20API/user/","title":"User","text":""},{"location":"Plugin%20API/user/#user-object","title":"user : object","text":"

    Access data about employees.

    Kind: global namespace

    • user : object
      • .User
        • new User(id, name, password, barcode, enabled)
      • .getUser() \u21d2 User
      • .getUserID() \u21d2 number
      • .getUserByID() \u21d2 Promise.<User>
      • .listUsers([managerMode]) \u21d2 Promise.<Array.<User>>

    "},{"location":"Plugin%20API/user/#useruser","title":"user.User","text":"

    Kind: static class of user Properties

    Name Type Description id number name string pass string barcode string enabled boolean hasPassword() function Returns true if the user has a password set, else false. checkPassword(string) function Returns true if the provided password matches the user's password, or if there is no password set. icon(number) function Returns a SVG data URI with a procedurally-generated icon for the user. Size defaults to 50px if not specified.

    "},{"location":"Plugin%20API/user/#new-userid-name-password-barcode-enabled","title":"new User(id, name, password, barcode, enabled)","text":"

    A User object.

    Param Type id number name string password string barcode string enabled boolean

    "},{"location":"Plugin%20API/user/#usergetuser-user","title":"user.getUser() \u21d2 User","text":"

    Get the user currently logged in.

    Kind: static method of user

    "},{"location":"Plugin%20API/user/#usergetuserid-number","title":"user.getUserID() \u21d2 number","text":"

    Get the current user's ID number.

    Kind: static method of user

    "},{"location":"Plugin%20API/user/#usergetuserbyid-promiseuser","title":"user.getUserByID() \u21d2 Promise.<User>","text":"

    Look up the User for an ID number.

    Kind: static method of user

    "},{"location":"Plugin%20API/user/#userlistusersmanagermode-promisearrayuser","title":"user.listUsers([managerMode]) \u21d2 Promise.<Array.<User>>","text":"

    Get a list of all users in the system.

    Kind: static method of user

    Param Type Default Description [managerMode] boolean false If false, list only active/enabled users, and if no users, return a default user account (user ID -1). If true, return all users in the database, and don't return a default account if the list is empty (return an empty list instead)."},{"location":"Plugin%20API/util/","title":"Util","text":""},{"location":"Plugin%20API/util/#util-object","title":"util : object","text":"

    Various utility functions: HTTP, time/date, barcode creation, clipboard, etc.

    Kind: global namespace

    • util : object
      • .uuid : object
        • .v4() \u21d2 string
        • .short([length]) \u21d2 string
      • .http : object
        • .webhook : object
          • .geturl(sourcename) \u21d2 Promise.<string>
          • .poll(sourcename) \u21d2 Promise.<Array.<Object>>
          • .ack(webhookid)
        • .post(url, data, [responseType], [headers], [method], [continueOnBadStatusCode], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>
        • .fetch(url, [responseType], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>
      • .string : object
        • .split(input, separator, [limit]) \u21d2 Array.<string>
        • .chunk(input, chunksize) \u21d2 Array.<string>
      • .time : object
        • .now() \u21d2 number
        • .diff(compareto) \u21d2 number
        • .strtotime(str) \u21d2 number
        • .format(format, [timestamp]) \u21d2 string
        • .toDateString(timestamp) \u21d2 string
        • .toTimeString(timestamp) \u21d2 string
      • .clipboard : object
        • .copy(text, [showNotification]) \u21d2 Promise.<boolean>
      • .barcode : object
        • .getBuffer(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<Buffer>
        • .getBase64(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<string>
      • .geography : object
        • .isoToCountryName(iso) \u21d2 string
      • .objectEquals(a, b) \u21d2 boolean
      • .delay([ms]) \u21d2 Promise

    "},{"location":"Plugin%20API/util/#utiluuid-object","title":"util.uuid : object","text":"

    Unique ID generators.

    Kind: static namespace of util

    • .uuid : object
      • .v4() \u21d2 string
      • .short([length]) \u21d2 string

    "},{"location":"Plugin%20API/util/#uuidv4-string","title":"uuid.v4() \u21d2 string","text":"

    Generate a UUID string

    Kind: static method of uuid Returns: string - UUID v4 with dashes: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

    "},{"location":"Plugin%20API/util/#uuidshortlength-string","title":"uuid.short([length]) \u21d2 string","text":"

    Generate a short random alphanumeric string.

    Kind: static method of uuid Returns: string - A string of length length, from the character set \"acdefhjkmnpqrtuvwxy0123456789\".

    Param Type Default Description [length] number 16 String character count.

    "},{"location":"Plugin%20API/util/#utilhttp-object","title":"util.http : object","text":"

    HTTP requests and webhooks.

    Kind: static namespace of util

    • .http : object
      • .webhook : object
        • .geturl(sourcename) \u21d2 Promise.<string>
        • .poll(sourcename) \u21d2 Promise.<Array.<Object>>
        • .ack(webhookid)
      • .post(url, data, [responseType], [headers], [method], [continueOnBadStatusCode], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>
      • .fetch(url, [responseType], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>

    "},{"location":"Plugin%20API/util/#httpwebhook-object","title":"http.webhook : object","text":"

    Use webhooks via a PostalPoint cloud relay service.

    Kind: static namespace of http

    • .webhook : object
      • .geturl(sourcename) \u21d2 Promise.<string>
      • .poll(sourcename) \u21d2 Promise.<Array.<Object>>
      • .ack(webhookid)

    "},{"location":"Plugin%20API/util/#webhookgeturlsourcename-promisestring","title":"webhook.geturl(sourcename) \u21d2 Promise.<string>","text":"

    geturl - Returns a public URL that can be used as a webhook target/endpoint for third-party integrations.

    Kind: static method of webhook Returns: Promise.<string> - A URL for the webhook.

    Param Type Description sourcename string Unique identifier for the webhook

    "},{"location":"Plugin%20API/util/#webhookpollsourcename-promisearrayobject","title":"webhook.poll(sourcename) \u21d2 Promise.<Array.<Object>>","text":"

    poll - Returns an array of webhook payloads received by the webhook identified by sourcename.

    Kind: static method of webhook Returns: Promise.<Array.<Object>> - Payloads as received by the webhook relay service.

    Param Type Description sourcename string Unique identifier for the webhook

    Example

    [\n     {\n         // Unique ID. Used for ack(webhookid).\n         id: 123,\n\n         // UNIX timestamp (in seconds) of when the data was received by the webhook URL.\n         timestamp: 1234567890,\n\n         // Source name set in geturl()\n         source: \"sourcename\",\n\n         // JSON string of all the HTTP headers sent to the webhook URL.\n         headers: \"{'Content-Type': 'application/json'}\",\n\n         // Entire HTTP request body sent to the webhook URL.\n         body: \"\"\n     }\n]\n

    "},{"location":"Plugin%20API/util/#webhookackwebhookid","title":"webhook.ack(webhookid)","text":"

    Acknowledge receipt of a webhook payload, deleting it from the relay server. Webhook payload is only queued for deletion, so polling may still return it for a short time.

    Kind: static method of webhook

    Param Type Description webhookid number Numeric unique ID received with the payload. See poll.

    "},{"location":"Plugin%20API/util/#httpposturl-data-responsetype-headers-method-continueonbadstatuscode-timeoutseconds-promisestringblobarraybufferobject","title":"http.post(url, data, [responseType], [headers], [method], [continueOnBadStatusCode], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>","text":"

    post - Fetch a HTTP POST request.

    Kind: static method of http Returns: Promise.<(string|Blob|ArrayBuffer|Object)> - The server response body. See responseType parameter.

    Param Type Default Description url string data Object.<string, string> POST data key/value list [responseType] string \"text\" \"text\", \"blob\", \"buffer\", or \"json\" [headers] Object.<string, string> HTTP headers to send. Defaults to {\"Content-Type\": \"application/json\"}. [method] string \"POST\" [continueOnBadStatusCode] boolean false If false, throws an Error when the HTTP response code is not 2XX. If true, ignores the response code and proceeds as normal. [timeoutSeconds] number 15 Aborts the request (timeout) after this many seconds.

    "},{"location":"Plugin%20API/util/#httpfetchurl-responsetype-timeoutseconds-promisestringblobarraybufferobject","title":"http.fetch(url, [responseType], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>","text":"

    fetch - Fetch a HTTP GET request.

    Kind: static method of http Returns: Promise.<(string|Blob|ArrayBuffer|Object)> - The server response body. See responseType parameter.

    Param Type Default Description url string [responseType] string \"text\" \"text\", \"blob\", \"buffer\", or \"json\" [timeoutSeconds] number 15 Aborts the request (timeout) after this many seconds.

    "},{"location":"Plugin%20API/util/#utilstring-object","title":"util.string : object","text":"

    String manipulation functions.

    Kind: static namespace of util

    • .string : object
      • .split(input, separator, [limit]) \u21d2 Array.<string>
      • .chunk(input, chunksize) \u21d2 Array.<string>

    "},{"location":"Plugin%20API/util/#stringsplitinput-separator-limit-arraystring","title":"string.split(input, separator, [limit]) \u21d2 Array.<string>","text":"

    Split a string with a separator regex.

    Kind: static method of string

    Param Type Description input string Input string separator string Passed to new RegExp(separator, 'g') [limit] number Maximum number of splits to perform

    "},{"location":"Plugin%20API/util/#stringchunkinput-chunksize-arraystring","title":"string.chunk(input, chunksize) \u21d2 Array.<string>","text":"

    Split a string into chunks of length chunksize.

    Kind: static method of string

    Param Type Description input string Input string chunksize string Number of characters per chunk

    "},{"location":"Plugin%20API/util/#utiltime-object","title":"util.time : object","text":"

    Date and time functions

    Kind: static namespace of util

    • .time : object
      • .now() \u21d2 number
      • .diff(compareto) \u21d2 number
      • .strtotime(str) \u21d2 number
      • .format(format, [timestamp]) \u21d2 string
      • .toDateString(timestamp) \u21d2 string
      • .toTimeString(timestamp) \u21d2 string

    "},{"location":"Plugin%20API/util/#timenow-number","title":"time.now() \u21d2 number","text":"

    Get the current UNIX timestamp in seconds.

    Kind: static method of time

    "},{"location":"Plugin%20API/util/#timediffcompareto-number","title":"time.diff(compareto) \u21d2 number","text":"

    Get the number of seconds between now and the given Date or UNIX timestamp in seconds.

    Kind: static method of time

    Param Type compareto number | Date

    "},{"location":"Plugin%20API/util/#timestrtotimestr-number","title":"time.strtotime(str) \u21d2 number","text":"

    Parse a string date and return UNIX timestamp (in seconds).

    Kind: static method of time

    Param Type str string

    "},{"location":"Plugin%20API/util/#timeformatformat-timestamp-string","title":"time.format(format, [timestamp]) \u21d2 string","text":"

    Take a Date or UNIX timestamp in seconds and format it to a string. Mostly compatible with the PHP date format codes.

    Kind: static method of time

    Param Type Default Description format string \"Y-m-d H:i:s\", etc [timestamp] number | Date now()

    "},{"location":"Plugin%20API/util/#timetodatestringtimestamp-string","title":"time.toDateString(timestamp) \u21d2 string","text":"

    Format a UNIX timestamp (in seconds) as a localized date string.

    Kind: static method of time

    Param Type timestamp number

    "},{"location":"Plugin%20API/util/#timetotimestringtimestamp-string","title":"time.toTimeString(timestamp) \u21d2 string","text":"

    Format a UNIX timestamp (in seconds) as a localized time string.

    Kind: static method of time

    Param Type timestamp number

    "},{"location":"Plugin%20API/util/#utilclipboard-object","title":"util.clipboard : object","text":"

    OS clipboard

    Kind: static namespace of util

    "},{"location":"Plugin%20API/util/#clipboardcopytext-shownotification-promiseboolean","title":"clipboard.copy(text, [showNotification]) \u21d2 Promise.<boolean>","text":"

    Copy a string to the system clipboard.

    Kind: static method of clipboard Returns: Promise.<boolean> - True if the copy succeeded, else false.

    Param Type Default Description text string [showNotification] boolean false If true, a \"Copied\" notification will appear onscreen briefly.

    "},{"location":"Plugin%20API/util/#utilbarcode-object","title":"util.barcode : object","text":"

    Barcode image generation functions.

    Kind: static namespace of util

    • .barcode : object
      • .getBuffer(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<Buffer>
      • .getBase64(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<string>

    "},{"location":"Plugin%20API/util/#barcodegetbufferdata-type-height-scale-includetext-promisebuffer","title":"barcode.getBuffer(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<Buffer>","text":"

    Get a PNG image buffer of a barcode. Uses library \"bwip-js\".

    Kind: static method of barcode Returns: Promise.<Buffer> - PNG data for the barcode.

    Param Type Default Description data string [type] string \"\\\"code128\\\"\" [height] number 10 [scale] number 2 [includetext] boolean false Set true to render the barcode's content as text below the code.

    "},{"location":"Plugin%20API/util/#barcodegetbase64data-type-height-scale-includetext-promisestring","title":"barcode.getBase64(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<string>","text":"

    Get a PNG image of a barcode as a base64 data URI. Uses library \"bwip-js\".

    Kind: static method of barcode Returns: Promise.<string> - \"data:image/png;base64,...\"

    Param Type Default Description data string [type] string \"\\\"code128\\\"\" [height] number 10 [scale] number 2 [includetext] boolean false Set true to render the barcode's content as text below the code.

    "},{"location":"Plugin%20API/util/#utilgeography-object","title":"util.geography : object","text":"

    Kind: static namespace of util

    "},{"location":"Plugin%20API/util/#geographyisotocountrynameiso-string","title":"geography.isoToCountryName(iso) \u21d2 string","text":"

    Get a human-readable country name from an ISO country code.

    Kind: static method of geography

    Param Type Description iso string | number 2 or 3 letter country code, or numeric country code.

    "},{"location":"Plugin%20API/util/#utilobjectequalsa-b-boolean","title":"util.objectEquals(a, b) \u21d2 boolean","text":"

    Compare two objects for equality. See https://stackoverflow.com/a/16788517

    Kind: static method of util Returns: boolean - True if equal, else false.

    Param Type a * b *

    "},{"location":"Plugin%20API/util/#utildelayms-promise","title":"util.delay([ms]) \u21d2 Promise","text":"

    Pause execution for some amount of time in an async function, i.e., returns a Promise that resolves in some number of milliseconds.

    Kind: static method of util

    Param Type Default Description [ms] number 1000 Number of milliseconds to pause."}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Overview","text":"

    PostalPoint\u00ae supports JavaScript plugin extensions. Plugins can hook into PostalPoint to add features and integrations.

    "},{"location":"#what-plugins-can-do","title":"What plugins can do","text":"
    • Process card payments and handle saved payment methods
    • Process cryptocurrency payments
    • Add additional carriers, providing shipping rates and labels
    • Print to label and receipt printers, letting PostalPoint handle hardware support and drivers
    • Extend support for prepaid label acceptance, prepaid barcode recognition, and carrier dropoff QR codes
    • Install pages in the Tools menu, creating new interfaces and features
    • Receive transaction receipts for ingestion into third-party accounting or business software
    • Display interactive HTML5 content on the customer-facing screen
    • Run both Node.JS and browser code.
    "},{"location":"#postalpoint-devtools-and-testing-builds","title":"PostalPoint DevTools and Testing Builds","text":"

    The PostalPoint build server creates installers from the latest prerelease changes. It is not recommended to use these builds for production purposes, but they contain the latest changes to plugin APIs.

    For Windows developers, you'll want to download a \"postalpoint-retail-sdk_x.xx.exe\" installer, as it contains the Chromium DevTools.

    To enable DevTools on Linux, simply run sudo apt install nw.js-sdk and restart PostalPoint.

    To access the DevTools, press F12 or right-click anywhere inside PostalPoint and click Inspect. Depending on various factors, some plugin console output may go to the \"background page\"; right-click and click \"Inspect background page\" to view that console.

    "},{"location":"#plugin-package-structure","title":"Plugin Package Structure","text":"

    A plugin is distributed as a simple ZIP file, containing a folder. The folder then has at least one file, named plugin.js. The exports.init function in plugin.js is executed when PostalPoint launches, allowing the plugin to request involvement with various events in PostalPoint.

    PostalPoint installs plugin packages by unzipping their contents into a plugins folder. Plugins are uninstalled by deleting their folder.

    "},{"location":"#postalpoint-plugin-api","title":"PostalPoint Plugin API","text":"

    The PostalPoint plugin API is a globally-available object named global.apis. It contains many useful functions for integrating with PostalPoint. All the APIs listed under the Plugin API section must be prefixed with global.apis. in order to work.

    "},{"location":"#minimal-plugin-code","title":"Minimal Plugin Code","text":"plugin-name/plugin.js
    exports.init = function () {\n    global.apis.alert(\"This message appears when PostalPoint launches.\", \"Hello!\");\n};\n

    Yes, the smallest plugin really is just two lines of code, and accessing PostalPoint features really is that easy.

    "},{"location":"#plugin-metadata-file","title":"Plugin Metadata File","text":"

    While not strictly required, a package.json is encouraged, and allows specifying the plugin's display name, PostalPoint version compatibility, and other metadata.

    Sample:

    {\n    \"name\": \"plugin-id-here\",\n    \"main\": \"plugin.js\",\n    \"description\": \"Human-readable description of the plugin\",\n    \"version\": \"1.0.0\",\n    \"author\": \"Your Name\",\n    \"license\": \"Code license name\",\n    \"postalpoint\": {\n        \"pluginname\": \"Display Name for Plugin\",\n        \"minVersion\": \"000034\",\n        \"maxVersion\": \"001000\"\n    }\n}\n

    PostalPoint version codes are MMMnnn where MMM is the major version and nnn is the minor version, zero-padded. So version 0.35 is \"000035\", and 1.23 is \"001023\".

    "},{"location":"Docs/Address/","title":"Address object","text":"
    export default class Address {\n    constructor(uuid = \"\", name = \"\", company = \"\", street1 = \"\", street2 = \"\", zip = \"\", city = \"\", state = \"\", country = \"\", phone = \"\", email = \"\", taxid = \"\") {\n        this.uuid = uuid;\n        this.name = name;\n        this.company = company;\n        this.street1 = street1;\n        this.street2 = street2;\n        this.zip = zip;\n        this.city = city;\n        this.state = state;\n        this.country = country;\n        this.phone = phone;\n        this.email = email;\n        this.taxid = taxid;\n        this.residential = null;\n    }\n\n    static fromObject(address) {\n        if (address instanceof Address) {\n            return address;\n        }\n        var a = new Address(address.uuid ?? \"\", address.name, address.company, address.street1,\n                address.street2, address.zip, address.city, address.state, address.country,\n                address.phone, address.email, address.taxid);\n        return a;\n    }\n\n    toStringArray(expandCountry = false) {\n        var citystatezipLine = [this.city, this.state, this.zip].filter(Boolean);\n        var country = this.country == defaultCountryCode() ? \"\" : this.country;\n        if (expandCountry && country != \"\") {\n            country = getCountryNameForISO(country);\n        }\n        return [this.name, this.company, this.street1, this.street2, `${citystatezipLine.join(\" \")}`, country, (this.taxid ? \"Tax ID \" + this.taxid : \"\")].filter(Boolean);\n    }\n\n    /**\n     * Test if the address provided is the same as this address.\n     */\n    equals(address, checkUUID = false) {\n        if (\n                (checkUUID ? this.uuid == address.uuid : true)\n                && this.name == address.name\n                && this.company == address.company\n                && this.street1 == address.street1\n                && this.street2 == address.street2\n                && this.city == address.city\n                && this.state == address.state\n                && this.zip == address.zip\n                && this.country == address.country\n                && this.taxid == address.taxid) {\n            return true;\n        }\n        return false;\n    }\n\n    /**\n     * Test if an address is the same delivery point as this address.\n     */\n    dpEquals(address) {\n        if (\n                this.street1 == address.street1\n                && this.street2 == address.street2\n                && this.city == address.city\n                && this.state == address.state\n                && this.zip == address.zip\n                && this.country == address.country) {\n            return true;\n        }\n        return false;\n    }\n}\n
    "},{"location":"Docs/Carrier_Service/","title":"getCarrierName and getServiceName","text":"

    This is the source code for global.apis.shipping.getCarrierName and global.apis.shipping.getServiceName.

    "},{"location":"Docs/Carrier_Service/#getcarriername","title":"getCarrierName","text":"
    export function getCarrierName(carrier) {\n    switch (carrier) {\n        case \"USPS\":\n        case \"USPSReturns\":\n        case \"usps\":\n            return \"USPS\";\n        case \"UPS\":\n        case \"UPSDAP\":\n        case \"ups\":\n            return \"UPS\";\n        case \"FedExDefault\":\n        case \"FedExSmartPost\":\n        case \"fedex\":\n            return \"FedEx\";\n        case \"DHLExpress\":\n        case \"dhl_express\":\n            return \"DHL Express\";\n        case \"DhlEcs\":\n            return \"DHL eCommerce\";\n        case \"SpeedeeAccount\":\n            return \"Spee-Dee\";\n        case \"globalpost\":\n            return \"GlobalPost\";\n        case \"AccurateAccount\":\n            return \"Accurate Courier Express\";\n        case \"ApcAccount\":\n            return \"APC\";\n        case \"AsendiaUsaAccount\":\n            return \"Asendia\";\n        case \"BetterTrucksAccount\":\n            return \"Better Trucks\";\n        case \"BluestreakAccount\":\n            return \"Blue Streak\";\n        case \"CanadaPostAccount\":\n        case \"CanadaPost\":\n            return \"Canada Post\";\n        case \"GsoAccount\":\n            return \"GLS\";\n        case \"LsoAccount\":\n            return \"LSO\";\n        case \"OntracV3Account\":\n            return \"OnTrac\";\n        case \"USAExportPBA\":\n            return \"Asendia\";\n        case \"FirstChoiceAccount\":\n            return \"1st Choice Delivery\";\n        case \"PurolatorAccount\":\n            return \"Purolator\";\n        case \"CanparAccount\":\n            return \"Canpar\";\n        case \"MaerskAccount\":\n            return \"Maersk\";\n    }\n    if (carrier.endsWith(\"Account\")) {\n        // A lot of EasyPost carriers are the carrier name and the word Account\n        return carrier.replace(\"Account\", \"\");\n    }\n    return carrier;\n}\n
    "},{"location":"Docs/Carrier_Service/#getservicename","title":"getServiceName","text":"
    export function getServiceName(serviceId, carrierId = \"USPS\") {\n    var carrier = getCarrierName(carrierId);\n    switch (serviceId) {\n        // Ambiguous\n        case \"\":\n            // Used internally if no service ID defined by a plugin or whatever\n            return \"\";\n        case \"Ground\":\n            return \"Ground\";\n        case \"Express\":\n            if (carrier == \"UPS\") {\n                return \"Worldwide Express\";\n            } else if (carrier == \"USPS\") {\n                return \"Priority Mail Express\";\n            } else {\n                return \"Express\";\n            }\n        case \"Priority\":\n            if (carrier == \"USPS\") {\n                return \"Priority Mail\";\n            }\n            return \"Priority\";\n\n\n            // USPS\n        case \"First\":\n        case \"usps_first_class_mail\":\n        case \"First-Class Mail\":\n            return \"First-Class Mail\";\n        case \"FirstClassMailInternational\":\n        case \"usps_first_class_mail_international\":\n        case \"First-Class Mail International\":\n            return \"First-Class Mail International\";\n        case \"GroundAdvantage\":\n        case \"usps_ground_advantage\":\n        case \"Ground Advantage\":\n            return \"Ground Advantage\";\n        case \"MediaMail\":\n        case \"usps_media_mail\":\n        case \"Media Mail\":\n            return \"Media Mail\";\n        case \"LibraryMail\":\n        case \"usps_library_mail\":\n        case \"Library Mail\":\n            return \"Library Mail\";\n        case \"usps_priority_mail\":\n        case \"Priority Mail\":\n            return \"Priority Mail\";\n        case \"PriorityMailInternational\":\n        case \"usps_priority_mail_international\":\n        case \"Priority Mail International\":\n            return \"Priority Mail International\";\n        case \"usps_priority_mail_express\":\n        case \"Priority Mail Express\":\n            return \"Priority Mail Express\";\n        case \"ExpressMailInternational\":\n        case \"usps_priority_mail_express_international\":\n        case \"Priority Mail Express International\":\n            return \"Priority Mail Express International\";\n        case \"FirstClassPackageInternationalService\":\n        case \"First-Class Pkg International\":\n            return \"First-Class Pkg International\";\n\n\n            // UPS\n        case \"UPSWorldwideExpress\":\n        case \"ups_worldwide_express\":\n            return \"Worldwide Express\";\n        case \"ExpressPlus\":\n        case \"UPSExpressPlus\":\n        case \"ups_worldwide_express_plus\":\n            return \"Worldwide Express Plus\";\n        case \"Expedited\":\n        case \"UPSWorldwideExpedited\":\n        case \"ups_worldwide_expedited\":\n            return \"Worldwide Expedited\";\n        case \"UPSWorldwideEconomyDDU\":\n            return \"Worldwide Economy DDU\";\n        case \"NextDayAir\":\n        case \"ups_next_day_air\":\n            return \"Next Day Air\";\n        case \"NextDayAirSaver\":\n        case \"ups_next_day_air_saver\":\n            return \"Next Day Air Saver\";\n        case \"NextDayAirEarlyAM\":\n        case \"ups_next_day_air_early\":\n            return \"Next Day Air A.M.\";\n        case \"2ndDayAir\":\n        case \"ups_2nd_day_air\":\n            return \"2nd Day Air\";\n        case \"2ndDayAirAM\":\n        case \"ups_2nd_day_air_am\":\n            return \"2nd Day Air A.M.\";\n        case \"3DaySelect\":\n        case \"ups_3_day_select\":\n            return \"3-Day Select\";\n        case \"ups_ground\":\n            return \"Ground\";\n        case \"UPSGroundsaverGreaterThan1lb\":\n            return \"Ground Saver\";\n        case \"UPSStandard\":\n        case \"ups_standard\":\n            return \"Standard\";\n        case \"UPSSaver\":\n        case \"ups_worldwide_saver\":\n            return \"Worldwide Saver\";\n\n\n            // FedEx\n        case \"FEDEX_GROUND\":\n        case \"fedex_ground\":\n            return \"Ground\";\n        case \"FEDEX_2_DAY\":\n        case \"fedex_2day\":\n            return \"2 Day\";\n        case \"FEDEX_2_DAY_AM\":\n        case \"fedex_2day_am\":\n            return \"2 Day AM\";\n        case \"FEDEX_EXPRESS_SAVER\":\n        case \"fedex_express_saver\":\n            return \"Express Saver\";\n        case \"STANDARD_OVERNIGHT\":\n        case \"fedex_standard_overnight\":\n            return \"Standard Overnight\";\n        case \"FIRST_OVERNIGHT\":\n        case \"fedex_first_overnight\":\n            return \"First Overnight\";\n        case \"PRIORITY_OVERNIGHT\":\n        case \"fedex_priority_overnight\":\n            return \"Priority Overnight\";\n        case \"INTERNATIONAL_ECONOMY\":\n        case \"fedex_international_economy\":\n            return \"International Economy\";\n        case \"INTERNATIONAL_FIRST\":\n        case \"fedex_international_first\":\n            return \"International First\";\n        case \"FEDEX_INTERNATIONAL_PRIORITY\":\n        case \"INTERNATIONAL_PRIORITY\":\n        case \"fedex_international_priority\":\n            return \"International Priority\";\n        case \"FEDEX_INTERNATIONAL_PRIORITY_EXPRESS\":\n        case \"INTERNATIONAL_PRIORITY_EXPRESS\":\n            return \"International Priority Express\";\n        case \"FEDEX_INTERNATIONAL_CONNECT_PLUS\":\n        case \"INTERNATIONAL_CONNECT_PLUS\":\n            return \"International Connect Plus\";\n        case \"GROUND_HOME_DELIVERY\":\n        case \"fedex_home_delivery\":\n            return \"Ground Home Delivery\";\n        case \"SMART_POST\":\n            return \"Ground Economy\";\n        case \"FEDEX_FIRST_FREIGHT\":\n            return \"First Overnight Freight\";\n        case \"FEDEX_1_DAY_FREIGHT\":\n            return \"1-Day Freight\";\n        case \"FEDEX_2_DAY_FREIGHT\":\n            return \"2-Day Freight\";\n        case \"FEDEX_3_DAY_FREIGHT\":\n            return \"3-Day Freight\";\n        case \"INTERNATIONAL_PRIORITY_FREIGHT\":\n            return \"International Priority Freight\";\n        case \"INTERNATIONAL_ECONOMY_FREIGHT\":\n            return \"International Economy Freight\";\n\n\n            // USPS Returns\n        case \"GroundAdvantageReturn\":\n            return \"Ground Advantage Return\";\n        case \"PriorityMailReturn\":\n            return \"Priority Mail Return\";\n        case \"PriorityMailExpressReturn\":\n            return \"Priority Mail Express Return\";\n\n\n            // DHL Express\n        case \"DomesticEconomySelect\":\n            return \"Domestic Economy Select\";\n        case \"DomesticExpress\":\n            return \"Domestic Express\";\n        case \"DomesticExpress1030\":\n            return \"Domestic Express 10:30\";\n        case \"DomesticExpress1200\":\n            return \"Domestic Express 12:00\";\n        case \"EconomySelect\":\n            return \"Economy Select Document\";\n        case \"EconomySelectNonDoc\":\n            return \"Economy Select Non-Document\";\n        case \"EuroPack\":\n            return \"EuroPack Document\";\n        case \"EuropackNonDoc\":\n            return \"EuroPack Non-Document\";\n        case \"Express1030\":\n            return \"10:30 Document\";\n        case \"Express1030NonDoc\":\n            return \"10:30 Non-Document\";\n        case \"Express1200NonDoc\":\n            return \"12:00 Non-Document\";\n        case \"Express1200\":\n            return \"12:00 Document\";\n        case \"Express900\":\n            return \"9:00 Document\";\n        case \"Express900NonDoc\":\n            return \"9:00 Non-Doc\";\n        case \"ExpressEasy\":\n            return \"Easy Document\";\n        case \"ExpressEasyNonDoc\":\n            return \"Easy Non-Document\";\n        case \"ExpressEnvelope\":\n            return \"Envelope\";\n        case \"ExpressWorldwide\":\n        case \"dhl_express_worldwide\":\n            return \"Worldwide Document\";\n        case \"ExpressWorldwideB2C\":\n            return \"Worldwide B2C\";\n        case \"ExpressWorldwideB2CNonDoc\":\n            return \"Worldwide B2C Non-Document\";\n        case \"ExpressWorldwideECX\":\n            return \"Worldwide ECX\";\n        case \"ExpressWorldwideNonDoc\":\n            return \"Worldwide Non-Document\";\n\n\n            // DHL eCommerce\n        case \"DHLParcelExpedited\":\n            return \"Parcel Expedited\";\n        case \"DHLParcelExpeditedMax\":\n            return \"Parcel Expedited Max\";\n        case \"DHLParcelGround\":\n            return \"Parcel Ground\";\n        case \"DHLBPMExpedited\":\n            return \"PM Expedited\";\n        case \"DHLBPMGround\":\n            return \"PM Ground\";\n        case \"DHLParcelInternationalDirect\":\n            return \"Parcel International Direct\";\n        case \"DHLParcelInternationalStandard\":\n            return \"Parcel International Standard\";\n        case \"DHLParcelInternationalDirectSMB\":\n            return \"Parcel International Direct\";\n        case \"DHLParcelInternationalStandardSMB\":\n            return \"Parcel International Standard\";\n        case \"DHLPacketInternational\":\n            return \"Packet International\";\n        case \"DHLParcelInternationalDirectPriority\":\n            return \"Parcel International Direct Priority\";\n        case \"DHLParcelInternationalDirectStandard\":\n            return \"Parcel International Direct Standard\";\n\n            // Asendia USA Export\n        case \"USAExportStandard\":\n            return \"USA Export Standard\";\n        case \"USAExportPlus\":\n            return \"USA Export Plus\";\n        case \"USAExportSelect\":\n            return \"USA Export Select\";\n\n            // Spee-Dee\n        case \"SpeeDeeDelivery\":\n            return \"Delivery\";\n\n            // GlobalPost\n        case \"globalpost_standard_international\":\n            return \"Standard International\";\n        case \"globalpost_economy_international\":\n            return \"Economy International\";\n        case \"globalpost_plus\":\n            return \"Plus\";\n        case \"globalpost_first_class_international\":\n            return \"First-Class International\";\n\n            // Canada Post\n        case \"RegularParcel\":\n            return \"Regular Parcel\";\n        case \"ExpeditedParcel\":\n            return \"Expedited Parcel\";\n        case \"Xpresspost\":\n            return \"Xpresspost\";\n        case \"ExpeditedParcelUSA\":\n            return \"Expedited Parcel USA\";\n        case \"SmallPacketUSAAir\":\n            return \"Small Packet USA Air\";\n        case \"TrackedPacketUSA\":\n            return \"Tracked Packet USA\";\n        case \"TrackedPacketUSALVM\":\n            return \"Tracked Packet USA LVM\";\n        case \"XpresspostUSA\":\n            return \"Xpresspost USA\";\n        case \"XpresspostInternational\":\n            return \"Xpresspost Int'l\";\n        case \"InternationalParcelAir\":\n            return \"Int'l Parcel Air\";\n        case \"InternationalParcelSurface\":\n            return \"Int'l Parcel Surface\";\n        case \"SmallPacketInternationalAir\":\n            return \"Small Packet Int'l Air\";\n        case \"SmallPacketInternationalSurface\":\n            return \"Small Packet Int'l Surface\";\n        case \"TrackedPacketInternational\":\n            return \"Tracked Packet Int'l\";\n        case \"ExpeditedParcelPlus\":\n            return \"Expedited Parcel Plus\";\n\n\n            // GLS US\n        case \"EarlyPriorityOvernight\":\n            return \"Early Priority Overnight\";\n        case \"PriorityOvernight\":\n            return \"Priority Overnight\";\n        case \"CaliforniaParcelService\":\n            return \"California Parcel\";\n        case \"SaturdayDeliveryService\":\n            return \"Saturday Delivery\";\n        case \"EarlySaturdayService\":\n            return \"Early Saturday\";\n        case \"NoonPriorityService\":\n            return \"Noon Priority\";\n\n            // OnTrac\n        case \"GRND\":\n            return \"Ground\";\n\n            // LSO\n        case \"PriorityEarly\":\n            return \"Priority Early\";\n        case \"PriorityBasic\":\n            return \"Priority Basic\";\n        case \"Priority2ndDay\":\n            return \"Priority 2nd Day\";\n        case \"GroundEarly\":\n            return \"Ground Early\";\n        case \"GroundBasic\":\n            return \"Ground Basic\";\n        case \"ECommerce\":\n            return \"ECommerce\";\n\n            // Canpar\n        case \"USA\":\n            return \"USA\";\n        case \"SelectLetter\":\n            return \"Select Letter\";\n        case \"SelectPak\":\n            return \"Select Pak\";\n        case \"Select\":\n            return \"Select\";\n        case \"OvernightLetter\":\n            return \"Overnight Letter\";\n        case \"Overnight\":\n            return \"Overnight\";\n        case \"USALetter\":\n            return \"USA Letter\";\n        case \"USAPak\":\n            return \"USA Pak\";\n        case \"SelectUSA\":\n            return \"Select USA\";\n        case \"International\":\n            return \"International\";\n\n            // Purolator\n        case \"PurolatorExpress\":\n            return \"Express\";\n        case \"PurolatorExpress12PM\":\n            return \"Express 12PM\";\n        case \"PurolatorExpressPack12PM\":\n            return \"Express Pack 12PM\";\n        case \"PurolatorExpressBox12PM\":\n            return \"Express Box 12PM\";\n        case \"PurolatorExpressEnvelope12PM\":\n            return \"Express Envelope 12PM\";\n        case \"PurolatorExpress1030AM\":\n            return \"Express 10:30AM\";\n        case \"PurolatorExpress9AM\":\n            return \"Express 9AM\";\n        case \"PurolatorExpressBox\":\n            return \"Express Box\";\n        case \"PurolatorExpressBox1030AM\":\n            return \"Express Box 10:30AM\";\n        case \"PurolatorExpressBox9AM\":\n            return \"Express Box 9AM\";\n        case \"PurolatorExpressBoxEvening\":\n            return \"Express Box Evening\";\n        case \"PurolatorExpressBoxInternational\":\n            return \"Express Box International\";\n        case \"PurolatorExpressBoxUS\":\n            return \"Express Box US\";\n        case \"PurolatorExpressEnvelope\":\n            return \"Express Envelope\";\n        case \"PurolatorExpressEnvelope1030AM\":\n            return \"Express Envelope 10:30AM\";\n        case \"PurolatorExpressEnvelope9AM\":\n            return \"Express Envelope 9AM\";\n        case \"PurolatorExpressEnvelopeEvening\":\n            return \"Express Envelope Evening\";\n        case \"PurolatorExpressEnvelopeInternational\":\n            return \"Express Envelope International\";\n        case \"PurolatorExpressEnvelopeUS\":\n            return \"Express Envelope US\";\n        case \"PurolatorExpressEvening\":\n            return \"Express Evening\";\n        case \"PurolatorExpressInternational\":\n            return \"Express International\";\n        case \"PurolatorExpressInternational1030AM\":\n            return \"Express International 10:30AM\";\n        case \"PurolatorExpressInternational1200\":\n            return \"Express International 12:00\";\n        case \"PurolatorExpressInternational9AM\":\n            return \"Express International 9AM\";\n        case \"PurolatorExpressBoxInternational1030AM\":\n            return \"Express Box International 10:30AM\";\n        case \"PurolatorExpressBoxInternational1200\":\n            return \"Express Box International 12:00\";\n        case \"PurolatorExpressBoxInternational9AM\":\n            return \"Express Box International 9AM\";\n        case \"PurolatorExpressEnvelopeInternational1030AM\":\n            return \"Express Envelope International 10:30AM\";\n        case \"PurolatorExpressEnvelopeInternational1200\":\n            return \"Express Envelope International 12:00\";\n        case \"PurolatorExpressEnvelopeInternational9AM\":\n            return \"Express Envelope International 9AM\";\n        case \"PurolatorExpressPackInternational1030AM\":\n            return \"Express Pack International 10:30AM\";\n        case \"PurolatorExpressPackInternational1200\":\n            return \"Express Pack International 12:00\";\n        case \"PurolatorExpressPackInternational9AM\":\n            return \"Express Pack International 9AM\";\n        case \"PurolatorExpressPack\":\n            return \"Express Pack\";\n        case \"PurolatorExpressPack1030AM\":\n            return \"Express Pack 10:30AM\";\n        case \"PurolatorExpressPack9AM\":\n            return \"Express Pack 9AM\";\n        case \"PurolatorExpressPackEvening\":\n            return \"Express Pack Evening\";\n        case \"PurolatorExpressPackInternational\":\n            return \"Express Pack International\";\n        case \"PurolatorExpressPackUS\":\n            return \"Express Pack US\";\n        case \"PurolatorExpressUS\":\n            return \"Express US\";\n        case \"PurolatorExpressUS1030AM\":\n            return \"Express US 10:30AM\";\n        case \"PurolatorExpressUS1200\":\n            return \"Express US 12:00\";\n        case \"PurolatorExpressUS9AM\":\n            return \"Express US 9AM\";\n        case \"PurolatorExpressBoxUS1030AM\":\n            return \"Express Box US 10:30AM\";\n        case \"PurolatorExpressBoxUS1200\":\n            return \"Express Box US 12:00\";\n        case \"PurolatorExpressBoxUS9AM\":\n            return \"Express Box US 9AM\";\n        case \"PurolatorExpressEnvelopeUS1030AM\":\n            return \"Express Envelope US 10:30AM\";\n        case \"PurolatorExpressEnvelopeUS1200\":\n            return \"Express Envelope US 12:00\";\n        case \"PurolatorExpressEnvelopeUS9AM\":\n            return \"Express Envelope US 9AM\";\n        case \"PurolatorExpressPackUS1030AM\":\n            return \"Express Pack US 10:30AM\";\n        case \"PurolatorExpressPackUS1200\":\n            return \"Express Pack US 12:00\";\n        case \"PurolatorExpressPackUS9AM\":\n            return \"Express Pack US 9AM\";\n        case \"PurolatorGround\":\n            return \"Ground\";\n        case \"PurolatorGround1030AM\":\n            return \"Ground 10:30AM\";\n        case \"PurolatorGround9AM\":\n            return \"Ground 9AM\";\n        case \"PurolatorGround12PM\":\n            return \"Ground 12PM\";\n        case \"PurolatorGroundDistribution\":\n            return \"Ground Distribution\";\n        case \"PurolatorGroundEvening\":\n            return \"Ground Evening\";\n        case \"PurolatorGroundUS\":\n            return \"Ground US\";\n        case \"PurolatorQuickShip\":\n            return \"QuickShip\";\n        case \"PurolatorQuickShipEnvelope\":\n            return \"QuickShip Envelope\";\n        case \"PurolatorQuickShipPack\":\n            return \"QuickShip Pack\";\n        case \"PurolatorQuickShipBox\":\n            return \"QuickShip Box\";\n\n\n            // Maersk Parcel\n        case \"Maersk-3-Day\":\n            return \"3 Day\";\n\n    }\n\n    console.warn(\"Unknown shipping service ID: \", serviceId, \"Carrier ID:\", carrierId);\n\n    // Snipped: code that attempts to format the service ID nicely based on common naming patterns found in the wild.\n\n    return serviceName;\n}\n
    "},{"location":"Docs/Database/","title":"Database Drivers","text":"

    global.apis.database.getConnection() returns one of these, depending on which database is in use.

    "},{"location":"Docs/Database/#sqlite","title":"SQLite","text":"
    export class SQLiteAdapter {\n    constructor(db) {\n        this.type = \"sqlite\";\n        this.db = db;\n    }\n\n    async query(query, replace) {\n        if (global.devMode) {\n            console.info(query, replace);\n        }\n        return await this.db.all(query, replace);\n    }\n\n    async run(statement, replace) {\n        if (global.devMode) {\n            console.info(statement, replace);\n        }\n        return await this.db.run(statement, replace);\n    }\n\n    async exec(statement) {\n        if (global.devMode) {\n            console.info(statement);\n        }\n        return await this.db.exec(statement);\n    }\n\n    async exists(table, where, replace) {\n        const q = await this.db.all(\"SELECT EXISTS(SELECT 1 FROM \" + table + \" WHERE \" + where + \") as n\", replace);\n        if (q[0].n > 0) {\n            return true;\n        }\n        return false;\n    }\n\n    async close() {\n\n    }\n\n    async tableExists(table) {\n        return (await this.db.get(`SELECT count(name) AS cnt FROM sqlite_master WHERE type='table' AND name=?`, table)).cnt > 0;\n    }\n\n    /**\n     * Get the version code set in the database by setSchemaVersion().\n     */\n    async getSchemaVersion() {\n        var res = await this.db.all(`PRAGMA user_version`);\n        return res[0].user_version;\n    }\n\n    /**\n     * Set the database version, using PRAGMA user_version.  Must be an integer.\n     */\n    async setSchemaVersion(version) {\n        await this.db.exec(`PRAGMA user_version = ${version}`);\n    }\n\n}\n
    "},{"location":"Docs/Database/#remote-hostmaster","title":"Remote host/master","text":"
    export class RemoteDatabaseAdapter {\n    constructor() {\n        this.type = \"remote\";\n    }\n\n    async apirequest(args) {\n        var resp = await sendToPostalPointHTTPServer(args, \"database\");\n        if (typeof resp.status == \"string\" && resp.status == \"OK\") {\n            return resp.result;\n        } else if (typeof resp.status == \"string\" && resp.status == \"ERR\") {\n            if (typeof resp.message == \"string\") {\n                throw new Error(resp.message);\n            } else {\n                throw new Error(resp);\n            }\n        } else {\n            throw new Error(resp);\n        }\n    }\n\n    async query(query, replace = []) {\n        return await this.apirequest({type: \"query\", query: query, replace: replace});\n    }\n\n    async run(statement, replace = []) {\n        return await this.apirequest({type: \"run\", query: statement, replace: replace});\n    }\n\n    async exec(statement) {\n        return await this.apirequest({type: \"exec\", query: statement});\n    }\n\n    async exists(table, where, replace = []) {\n        return await this.apirequest({type: \"exists\", table: table, where: where, replace: replace});\n    }\n\n    async close() {\n        // NOOP: We don't care about this\n    }\n\n    async tableExists(table) {\n        return await this.apirequest({type: \"tableExists\", table: table});\n    }\n\n    async getSchemaVersion() {\n        return await this.apirequest({type: \"getSchemaVersion\"});\n    }\n\n    async setSchemaVersion(version) {\n        // NOOP: Don't upgrade server's installation, it can do that itself\n    }\n}\n
    "},{"location":"Docs/Database/#mariadbmysql","title":"MariaDB/MySQL","text":"
    export class MariaDBAdapter {\n    constructor(connection) {\n        this.type = \"mariadb\";\n        this.conn = connection;\n    }\n\n    async query(query, replace) {\n        if (global.devMode) {\n            console.info(query, replace);\n        }\n        return await this.conn.query(query, replace);\n    }\n\n    async run(statement, replace) {\n        if (global.devMode) {\n            console.info(statement, replace);\n        }\n        return await this.query(statement, replace);\n    }\n\n    async exec(statement) {\n        if (global.devMode) {\n            console.info(statement);\n        }\n        return await this.run(statement);\n    }\n\n    async exists(table, where, replace) {\n        const q = await this.query(\"SELECT EXISTS(SELECT 1 FROM \" + table + \" WHERE \" + where + \") as n\", replace);\n        if (q[0].n > 0) {\n            return true;\n        }\n        return false;\n    }\n\n    async close() {\n        await this.conn.release();\n    }\n\n    async tableExists(table) {\n        return (await this.query(\"SHOW TABLES LIKE ?\", table)).length > 0;\n    }\n\n    /**\n     * Get the version code set in the database by setSchemaVersion().  Returns zero if not set.\n     */\n    async getSchemaVersion() {\n        if (await this.tableExists(\"database_metadata\")) {\n            var res = await this.query(\"SELECT `value` FROM database_metadata WHERE `key`='schema_version' LIMIT 1\");\n            console.log(res);\n            console.log(res[0].value);\n            if (res.length == 1) {\n                return res[0].value;\n            }\n        }\n        return 0;\n    }\n\n    /**\n     * Set a version number for the database schema.\n     * Must be an integer to maintain code compatibility with SQLite driver.\n     * Will create a \"database_metadata\" table if required to store the version number.\n     */\n    async setSchemaVersion(version) {\n        if (await this.tableExists(\"database_metadata\")) {\n            await this.query(\"REPLACE INTO `database_metadata` (`key`, `value`) VALUES (?, ?)\", [\"schema_version\", version]);\n        } else {\n            await this.exec(\"CREATE TABLE IF NOT EXISTS `database_metadata` ( `key` VARCHAR(50) NOT NULL, `value` VARCHAR(255) NOT NULL DEFAULT '', PRIMARY KEY (`key`))\");\n            await this.setSchemaVersion(version);\n        }\n    }\n}\n
    "},{"location":"Docs/Events/","title":"Event Bus","text":"

    Plugins can use global.apis.eventbus to receive events when certain actions happen in PostalPoint.

    "},{"location":"Docs/Events/#event-list","title":"Event List","text":"
    • barcodeScanned: Contents of a barcode that was just scanned, as a string. String also contains any non-printing characters in the barcode.
    • browserCloseRequest: The embedded web browser listens for this event, and closes itself when received.
    • browserNavigate: Contains the URL the embedded web browser just navigated to.
    • sendToCustomerScreen: Emit to send data via window.postMessage to a custom HTML interface on the customer-facing display.
    • receiveFromCustomerScreen: Contains the event sent from the customer-facing display's custom HTML interface via window.parent.postMessage
    • transactionFinished: Contains a receipt object of a transaction that was just finalized. See below for event data details.
    • customerSignatureCollected: Contains a signature image from the customer-facing display. See below for event data details.
    • settingsSaved: Emitted when PostalPoint's settings are saved. Usually this means the user changed a setting in the UI.
    • pluginSettingsSaved: Emitted when the user saves a plugin's settings. The plugin ID string is sent as the event data.
    • packageCheckIn: Emitted when a package is checked in to a mailbox or for Hold At Location. See below for event data details.
    • mailboxMailDelivered: Emitted when mail delivery notifications are sent by the user. Data is an array of the mailbox numbers notifications are being sent for.
    "},{"location":"Docs/Events/#example-code","title":"Example Code","text":"
    // Handle a barcode scan.\n// Remember that PostalPoint will probably also be doing something in response to the barcode.\nglobal.apis.eventbus.on(\"barcodeScanned\", function (barcodedata) {\n    // do something with the barcode\n});\n\n// Close the embedded web browser, returning the user to whatever was onscreen before it opened\nglobal.apis.eventbus.emit(\"browserCloseRequest\");\n
    "},{"location":"Docs/Events/#event-data-objects","title":"Event Data Objects","text":"

    For events that return an object instead of a single value.

    "},{"location":"Docs/Events/#transactionfinished","title":"transactionFinished","text":"

    See Receipt

    "},{"location":"Docs/Events/#customersignaturecollected","title":"customerSignatureCollected","text":"
    {\n    \"svg\": \"data:image/svg+xml;base64,...\",\n    \"png\": \"data:image/png;base64,...\"\n}\n
    "},{"location":"Docs/Events/#packagecheckin","title":"packageCheckIn","text":"
    {\n    tag: \"abcxyz123456\", // Unique ID for the package, also found in the shelf label barcode.\n    tracking: \"94001...\", // Package tracking number. May be an empty string for items without tracking.\n    carrier: \"FedEx\", // Package carrier name, if detectable from the tracking number.  Otherwise an empty string.\n    mailbox: \"123\", // Mailbox number. Will be \"HAL\" for Hold At Location packages.\n    isHAL: false, // True if package is for Hold At Location.\n    recipient: \"\", // Hold At Location recipient name, or empty string if not HAL.\n    toLocker: \"5\", // Parcel locker number, or false if not going to a parcel locker.\n    shelfLabelPrinted: true // Indicates if a shelf label was printed for this package.  Will be false if going to a locker, if the user requested no label, or if the label failed to print.\n}\n
    "},{"location":"Docs/FormPS1583/","title":"FormPS1583 object","text":"
    export class FormPS1583 {\n    constructor() {\n        this.formRevision = LATEST_FORM_REVISION; // Currently \"June2024\"\n        this.pmbOpenedDate = new Date();\n        this.pmbClosedDate = null;\n        this.cmraStreetAddress = getSetting(\"origin_street1\");\n        this.pmbNumber = \"\";\n        this.cmraZIP = getSetting(\"origin_zip\");\n        var cmraZIPData = getZIP(this.cmraZIP);\n        if (cmraZIPData) {\n            this.cmraCity = cmraZIPData.city;\n            this.cmraState = cmraZIPData.state;\n        } else {\n            this.cmraCity = getSetting(\"origin_city\", \"\");\n            this.cmraState = getSetting(\"origin_state\", \"\");\n        }\n        this.serviceTypeBusiness = false; // true for business PMB, false for residential\n        this.applicant = {\n            firstName: \"\",\n            lastName: \"\",\n            middleName: \"\",\n            phone: \"\",\n            email: \"\",\n            streetAddress: \"\",\n            city: \"\",\n            state: \"\",\n            zip: \"\",\n            country: \"\",\n            courtProtected: false,\n            photoID: {\n                name: \"\",\n                number: \"\",\n                issuer: \"\",\n                expirationDate: null,\n                type: null  // \"DL/ID\", \"UniformedService\", \"USAccess\", \"USUni\",\n                        // \"Passport\", \"Matricula\", \"NEXUS\",\n                        // \"CertOfNaturalization\", \"USPermResident\"\n            },\n            addressID: {\n                name: \"\",\n                streetAddress: \"\",\n                city: \"\",\n                state: \"\",\n                zip: \"\",\n                country: \"\",\n                type: null, // \"DL/ID\", \"Lease\", \"Mortgage\", \"Insurance\", \"VehicleReg\", \"Voter\"\n                expirationDate: null // Optional currently but must be kept current - Oct 2025\n            }\n        };\n        this.authorizedIndividual = {\n            firstName: \"\",\n            lastName: \"\",\n            middleName: \"\",\n            phone: \"\",\n            email: \"\",\n            streetAddress: \"\",\n            city: \"\",\n            state: \"\",\n            zip: \"\",\n            country: \"\",\n            photoID: {\n                name: \"\",\n                number: \"\",\n                issuer: \"\",\n                expirationDate: null,\n                type: null  // \"DL/ID\", \"UniformedService\", \"USAccess\", \"USUni\",\n                        // \"Passport\", \"Matricula\", \"NEXUS\",\n                        // \"CertOfNaturalization\", \"USPermResident\"\n            },\n            addressID: {\n                name: \"\",\n                streetAddress: \"\",\n                city: \"\",\n                state: \"\",\n                zip: \"\",\n                country: \"\",\n                type: null, // \"DL/ID\", \"Lease\", \"Mortgage\", \"Insurance\", \"VehicleReg\", \"Voter\"\n                expirationDate: null // Optional currently but must be kept current - Oct 2025\n            }\n        };\n        this.mailTransferredTo = {\n            streetAddress: \"\",\n            city: \"\",\n            state: \"\",\n            zip: \"\",\n            country: \"\",\n            phone: \"\",\n            email: \"\"\n        };\n        this.business = {\n            name: \"\",\n            type: \"\",\n            streetAddress: \"\",\n            city: \"\",\n            state: \"\",\n            zip: \"\",\n            country: \"\",\n            phone: \"\",\n            placeOfRegistration: \"\"\n        };\n        this.additionalRecipients = []; // Array of strings containing names\n        this.applicantSignature = \"\"; // PNG image data URI\n        this.applicantSignatureDate = null;\n        this.cmraSignature = \"\"; // PNG image data URI\n        this.cmraSignatureDate = null;\n        this.hasForwardingAddress = false;\n    }\n\n    getTermsAndConditions() {\n        return DEFAULT_TERMS_CONDITIONS[this.formRevision];\n    }\n\n    getApplicantForwardingAddress() {\n        if (this.mailTransferredTo.streetAddress != \"\") {\n            return new Address(null,\n                    [this.applicant.firstName, this.applicant.lastName].filter(Boolean).join(\" \"),\n                    this.business.name ?? \"\",\n                    this.mailTransferredTo.streetAddress,\n                    \"\",\n                    this.mailTransferredTo.zip,\n                    this.mailTransferredTo.city,\n                    this.mailTransferredTo.state,\n                    this.mailTransferredTo.country ?? \"US\",\n                    this.mailTransferredTo.phone ?? \"\",\n                    this.mailTransferredTo.email ?? \"\"\n                    );\n        }\n        return new Address(null,\n                [this.applicant.firstName, this.applicant.lastName].filter(Boolean).join(\" \"),\n                this.business.name ?? \"\",\n                this.applicant.streetAddress,\n                \"\",\n                this.applicant.zip,\n                this.applicant.city,\n                this.applicant.state,\n                this.applicant.country ?? \"US\",\n                this.applicant.phone ?? \"\",\n                this.applicant.email ?? \"\"\n                );\n    }\n\n    getFormFields() {\n        var fields = FORM_FIELDS[this.formRevision];\n        function getNestedValue(obj, path) {\n            return path.split('.').reduce((o, key) => (o ? o[key] : \"\"), obj);\n        }\n        var outfields = [];\n        var groupheading = {};\n        var groupfields = [];\n        for (var prop in fields) {\n            if (fields[prop].t == \"heading\") {\n                if (groupfields.length > 0) {\n                    groupheading.fields = groupfields;\n                    outfields.push(groupheading);\n                    groupfields = [];\n                }\n                groupheading = {\n                    heading: fields[prop].l,\n                    groupid: fields[prop].group ?? null,\n                    fields: []\n                };\n            }\n            fields[prop].n = prop;\n            fields[prop].v = getNestedValue(this, prop);\n            if (typeof fields[prop].v == \"undefined\" || fields[prop].v == null) {\n                fields[prop].v = \"\";\n            }\n            if (fields[prop].t == \"date\") {\n                if (fields[prop].v instanceof Date) {\n                    // Cancel out the timezone in the date object\n                    // If we don't do this, the dates will be subtracted by one day each time we load\n                    // https://stackoverflow.com/a/17329571\n                    fields[prop].v.setTime(fields[prop].v.getTime() + fields[prop].v.getTimezoneOffset() * 60 * 1000);\n                }\n                fields[prop].v = formatTimestamp(\"Y-m-d\", fields[prop].v);\n                if (fields[prop].v == \"1969-12-31\" || fields[prop].v == \"1970-01-01\") {\n                    fields[prop].v = \"\";\n                }\n            }\n            if (fields[prop].t == \"select\" && typeof fields[prop].b == \"boolean\") {\n                fields[prop].v = fields[prop].v ? \"true\" : \"\";\n            }\n            if (fields[prop].t != \"heading\") {\n                groupfields.push(fields[prop]);\n            }\n        }\n        if (groupfields != []) {\n            groupheading.fields = groupfields;\n            outfields.push(groupheading);\n        }\n        return outfields;\n    }\n\n    static fromHTMLFormData(formdata, revision = LATEST_FORM_REVISION) {\n        var f = new FormPS1583();\n\n        function setNestedValue(obj, path, value) {\n            const keys = path.split('.');\n            const lastKey = keys.pop();\n            const target = keys.reduce((o, key) => {\n                if (o[key] === undefined)\n                    o[key] = {};\n                return o[key];\n            }, obj);\n            if (typeof FORM_FIELDS[revision][path].b == \"boolean\") {\n                target[lastKey] = (value == \"true\" || value == true);\n            } else {\n                target[lastKey] = value;\n            }\n        }\n\n        for (var prop in formdata) {\n            setNestedValue(f, prop, formdata[prop]);\n        }\n\n        return f;\n    }\n\n    static fromJSON(o) {\n        var f = new FormPS1583();\n        f.formRevision = o.formRevision ?? LATEST_FORM_REVISION;\n        f.pmbOpenedDate = new Date(o.pmbOpenedDate);\n        f.pmbClosedDate = o.pmbClosedDate ? new Date(o.pmbClosedDate) : null;\n        f.cmraStreetAddress = o.cmraStreetAddress;\n        f.pmbNumber = o.pmbNumber;\n        f.cmraCity = o.cmraCity;\n        // snip, see constructor for full data structure\n        return f;\n    }\n\n    toJSON() {\n        return {\n            formRevision: this.formRevision,\n            pmbOpenedDate: this.pmbOpenedDate,\n            pmbClosedDate: this.pmbClosedDate,\n            cmraStreetAddress: this.cmraStreetAddress,\n            pmbNumber: this.pmbNumber,\n            cmraCity: this.cmraCity,\n            // snip, see constructor for full data structure\n        };\n    }\n\n    /**\n     * Render this form to PDF\n     * @returns PDF bytes\n     */\n    async getPDF() {\n        // snip, it draws the form contents onto a PDF using the pdf-lib library\n        // If you really want to see how, email us for the code\n        return await document.save();\n    }\n}\n
    "},{"location":"Docs/Parcel/","title":"Parcel/Package Object","text":"

    This object is supplied a plugin registered with registerRateEndpoint when PostalPoint requests shipping rates from the plugin.

    export class Package {\n    constructor(isPrepaid = false) {\n        this.prepaid = isPrepaid;\n        this.packaging = {\n            type: \"Parcel\",\n            service: \"\",\n            carrier: \"\",\n            length: 999999,\n            width: 999999,\n            height: 999999,\n            weightOz: 999999,\n            nonmachinable: false,\n            additionalHandling: false,\n            internalid: 100,\n            oversizeFlag: false\n        };\n        this.extraServices = {\n            certifiedMail: false,\n            barcode3800: \"\",\n            registeredMail: false,\n            registeredMailAmount: false, // can be a number in USD\n            returnReceipt: false,\n            returnReceiptElectronic: false,\n            insurance: false, // can be a number in USD\n            signature: false, // can be false, \"SIGNATURE\", or \"SIGNATURE_RESTRICTED\"\n            hazmat: false,\n            perishable: false,\n            crematedRemains: false,\n            liveAnimal: false, // BEES, DAY_OLD_POULTRY, ADULT_BIRDS, OTHER_LIVES\n            cod: false, // Collect on Delivery\n            codAmount: false,\n            endorsement: \"\", // ADDRESS_SERVICE_REQUESTED, CHANGE_SERVICE_REQUESTED, FORWARDING_SERVICE_REQUESTED, LEAVE_IF_NO_RESPONSE, RETURN_SERVICE_REQUESTED\n            carrier_billing_account: {// Bill a third party's account number for the label\n                type: \"\", // \"\" (ignores this entire option), \"SENDER\" (EasyPost default), \"THIRD_PARTY\", \"RECEIVER\", \"COLLECT\"\n                carrier: \"\", // Carrier ID (should be used to filter rates)\n                account_number: \"\", // Carrier account number to bill\n                country: \"\", // Country account is based in\n                postal_code: \"\" // Postal code of account\n            },\n            dryIce: false,\n            dryIceWeight: 0,\n            dryIceMedical: false\n        };\n        this.description = \"\"; // Fillable on customs form, or generated before rating call using customs items\n        this.specialRateEligibility = false;\n        this.customs = {\n            contents: \"\",\n            contentsExplanation: \"\", // needed if contents is \"other\", will be copied from this.description if blank for maximum carrier compatibility\n            signature: \"\",\n            restriction: \"\",\n            restrictionComments: \"\", // needed if restriction is \"other\"\n            nonDelivery: \"return\", // \"return\" or \"abandon\",\n            eel_pfc: \"\",\n            items: [] // {index: 0, description: \"\", qty: \"\", lbs: \"\", oz: \"\", value: \"\", hscode: \"\", origin: US\"}\n        };\n        this.toAddress = new Address();\n        this.returnAddress = new Address();\n        this.originAddress = new Address();\n        this.trackingNumber = \"\";\n    }\n\n    /**\n     * Format as EasyPost shipment object\n     * @returns {Package.toEasyPostShipment.shipment}\n     */\n    async toEasyPostShipment() {\n        // Not relevant to plugins\n    }\n\n    /**\n     * Format as Endicia shipment object\n     * @returns {Package.toSERAShipment.shipment}\n     */\n    async toSERAShipment() {\n        // Not relevant to plugins\n    }\n\n    /**\n     * Get a human-readable summary of size and options.\n     * Does not include address data.\n     * @returns {String}\n     */\n    async toString() {\n        let summary = [];\n        let packaging = await getPackagingByID(this.packaging.internalid);\n        let weight = ozToLbsOz(this.packaging.weightOz);\n        let weightStr = this.packaging.weightOz >= 16 ? `${weight[0]} lbs ${weight[1]} oz` : `${weight[1]} oz`;\n        if (packaging != false) {\n            if (packaging.irregular) {\n                if (packaging.weight === false) {\n                    summary.push(\"Parcel\");\n                } else {\n                    summary.push(`${weightStr} Parcel`);\n                }\n                summary.push(\"Additional Handling\");\n            } else {\n                if (packaging.weight === false) {\n                    summary.push(packaging.name);\n                } else {\n                    summary.push(`${weightStr} ${packaging.name}`);\n                }\n            }\n        } else {\n            summary.push(weightStr);\n        }\n        if (this.extraServices.hazmat) {\n            summary.push(\"HAZMAT\");\n        }\n        if (this.extraServices.liveAnimal === true) {\n            summary.push(\"Live Animals\");\n        } else if (typeof this.extraServices.liveAnimal == \"string\") {\n            switch (this.extraServices.liveAnimal) {\n                case \"BEES\":\n                    summary.push(\"Live Bees\");\n                    break;\n                case \"DAY_OLD_POULTRY\":\n                    summary.push(\"Day-old Poultry\");\n                    break;\n                case \"ADULT_BIRDS\":\n                    summary.push(\"Live Adult Birds\");\n                    break;\n                case \"OTHER_LIVES\":\n                default:\n                    summary.push(\"Live Animals\");\n                    break;\n            }\n        }\n        if (this.extraServices.perishable) {\n            summary.push(\"Perishable\");\n        }\n        if (this.extraServices.crematedRemains) {\n            summary.push(\"Cremated Remains\");\n        }\n        if (this.extraServices.certifiedMail) {\n            summary.push(\"Certified Mail\");\n        } else if (this.extraServices.registeredMail) {\n            summary.push(\"Registered Mail\");\n            summary.push(\"Registered for $\" + (this.extraServices.registeredMailAmount * 1.0).toFixed(2));\n        } else if (this.extraServices.signature == \"SIGNATURE\") {\n            summary.push(\"Signature Required\");\n        }\n        if (this.extraServices.signature == \"ADULT_SIGNATURE\") {\n            summary.push(\"Adult Signature Required\");\n        }\n        if (this.extraServices.signature == \"SIGNATURE_RESTRICTED\") {\n            summary.push(\"Restricted Delivery\");\n        }\n        if (this.extraServices.returnReceiptElectronic) {\n            summary.push(\"Return Receipt Electronic\");\n        }\n        if (this.extraServices.returnReceipt) {\n            summary.push(\"Return Receipt\");\n        }\n        if (this.extraServices.insurance) {\n            summary.push(\"Insured for $\" + (this.extraServices.insurance * 1.0).toFixed(2));\n        }\n        if (this.extraServices.cod) {\n            summary.push(\"Collect on Delivery: $\" + (this.extraServices.codAmount * 1.0).toFixed(2));\n        }\n        if (this.extraServices.dryIce && this.extraServices.dryIceWeight > 0) {\n            summary.push(\"Dry Ice: \" + (this.extraServices.dryIceWeight * 1).toFixed(0) + \" oz\");\n        }\n        if (this.extraServices.carrier_billing_account?.type) {\n            if (this.extraServices.carrier_billing_account.type != \"\") {\n                var accountNumber = this.extraServices.carrier_billing_account.account_number;\n                var accountNumberCensored = accountNumber.substring(accountNumber.length - 4).padStart(accountNumber.length, \"X\");\n                var carrierName = this.extraServices.carrier_billing_account.carrier;\n                switch (this.extraServices.carrier_billing_account.type) {\n                    case \"SENDER\":\n                        summary.push(`Bill to sender ${carrierName} account #${accountNumberCensored}`);\n                        break;\n                    case \"THIRD_PARTY\":\n                        summary.push(`Bill to third party ${carrierName} account #${accountNumberCensored}`);\n                        break;\n                    case \"RECEIVER\":\n                        summary.push(`Bill to receiver ${carrierName} account #${accountNumberCensored}`);\n                        break;\n                    case \"COLLECT\":\n                        if (accountNumber.length > 0) {\n                            summary.push(`Bill collect ${carrierName} account #${accountNumberCensored}`);\n                        } else {\n                            summary.push(`Bill collect`);\n                        }\n                        break;\n                }\n            }\n        }\n        return summary.join(\"\\n\");\n    }\n\n    async needsHAZMATPrompt() {\n        try {\n            let packagingInfo = await getPackagingByID(this.packaging.internalid);\n            if (packagingInfo.hazmat) {\n                return true;\n            }\n            if (this.packaging.weight > 10) {\n                return true;\n            }\n            if (packagingInfo.l >= -1 && Math.max(this.packaging.length, this.packaging.width, this.packaging.height) > 0.5) {\n                return true;\n            }\n            switch (packagingInfo.type) {\n                case \"Letter\":\n                case \"Card\":\n                    return false;\n            }\n            return true;\n        } catch (ex) {\n            return true;\n        }\n    }\n\n    get isPrepaid() {\n        return this.prepaid == true;\n    }\n\n    setCustomsInfo(contents, contentsExplanation, signature, restriction, restrictionComments, nonDelivery) {\n        let items = this.customs.items; // Save this and copy it back in so we don't overwrite it\n        this.customs = {\n            contents: contents,\n            contentsExplanation: contentsExplanation, // needed if contents is \"other\"\n            signature: signature,\n            restriction: restriction,\n            restrictionComments: restrictionComments, // needed if restriction is \"other\"\n            nonDelivery: nonDelivery, // \"return\" or \"abandon\",\n            items: items\n        };\n    }\n\n    /**\n     * Get the customs items, ignoring any that are blank.\n     * @returns {Array}\n     */\n    getCustomsItems() {\n        let items = [];\n        for (let i = 0; i < this.customs.items.length; i++) {\n            let item = this.customs.items[i];\n            if (item.description == \"\" && (item.qty == \"\" || item.qty == 0) && (item.weight == \"\" || item.weight == 0) && (item.value == \"\" || item.value == 0)) {\n                continue;\n            }\n            items.push(item);\n        }\n        return items;\n    }\n\n    setCustomsItems(items) {\n        this.customs.items = items;\n    }\n\n    getCustoms() {\n        this.customs.items = this.getCustomsItems();\n        return this.customs;\n    }\n\n    /**\n     * Attempt to automatically fix simple issues like overweight letters.\n     * @returns {undefined}\n     */\n    async fixIssues() {\n        if (this.packaging.type == \"Letter\" && this.packaging.weightOz > 3.5) {\n            if (this.packaging.nonmachinable) {\n                return; // Has to be a parcel, can't fix without dimensions\n            }\n            this.packaging.type = \"Flat\";\n            this.packaging.internalid = 104;\n        }\n    }\n\n    /**\n     * Do some basic checks to see if this package is even remotely shippable\n     * @param {boolean} kioskMode If true, returned strings are suitable for display in kiosk mode.\n     * @returns {boolean|string} true if okay, human-readable error message and instructions if not okay\n     */\n    async isValid(kioskMode = false) {\n        // Removed from docs for brevity. Just a bunch of if statements to catch problems.\n    }\n\n    /**\n     * Set package characteristics\n     * @param {string} type \"Parcel\", \"Letter\", \"Flat\", \"Card\"\n     * @param {type} service\n     * @param {type} carrier\n     * @param {type} length\n     * @param {type} width\n     * @param {type} height\n     * @param {type} weightOz\n     * @returns {undefined}\n     */\n    setPackaging(type, service, carrier, length, width, height, weightOz, nonmachinable) {\n        if (typeof nonmachinable == \"undefined\") {\n            nonmachinable = false;\n        }\n        if (type == \"Card\") {\n            // Postcards\n            weightOz = 1;\n            this.packaging.internalid = 105;\n        } else if (type == \"Flat\") {\n            this.packaging.internalid = 104;\n        } else if (type == \"Letter\") {\n            this.packaging.internalid = 102;\n            if (nonmachinable) {\n                this.packaging.internalid = 103;\n            }\n        }\n        this.packaging.type = type;\n        this.packaging.service = service;\n        this.packaging.carrier = carrier;\n        this.packaging.weightOz = weightOz;\n        this.packaging.nonmachinable = nonmachinable;\n\n        // Enforce Length > Width > Height\n        let size = [length, width, height];\n        size.sort(function (a, b) {\n            return b - a;\n        });\n        this.packaging.length = size[0];\n        this.packaging.width = size[1];\n        this.packaging.height = size[2];\n    }\n\n    /**\n     * Set an extra service\n     * @param {string} id Service ID\n     * @param {boolean} enabled Turn it on or off\n     * @param {string} value Service value, if needed (some are not just a boolean)\n     * @returns {undefined}\n     */\n    setExtraService(id, enabled, value) {\n        if (typeof value != \"undefined\" && enabled) {\n            this.extraServices[id] = value;\n        } else {\n            this.extraServices[id] = enabled == true;\n        }\n    }\n\n    getExtraServices() {\n        return this.extraServices;\n    }\n\n    /**\n     * Set to \"MEDIA_MAIL\", \"LIBRARY_MAIL\", or false\n     * @param {type} rate\n     * @returns {undefined}\n     */\n    set specialRate(rate) {\n        if (rate == \"MEDIA\") {\n            rate = \"MEDIA_MAIL\";\n        } else if (rate == \"LIBRARY\") {\n            rate = \"LIBRARY_MAIL\";\n        }\n        if (rate != \"MEDIA_MAIL\" && rate != \"LIBRARY_MAIL\") {\n            rate = false;\n        }\n        this.specialRateEligibility = rate;\n    }\n\n    get specialRate() {\n        return this.specialRateEligibility;\n    }\n\n    /**\n     * Save an address to this package.\n     * @param {string} type \"to\", \"return\", or \"origin\"\n     * @param {string} name\n     * @param {string} company\n     * @param {string} street1\n     * @param {string} street2\n     * @param {string} city\n     * @param {string} state\n     * @param {string} zip\n     * @param {string} country ISO 2-char country code\n     * @param {string} phone\n     * @param {string} email\n     * @returns {undefined}\n     */\n    setAddress(type, name, company, street1, street2, city, state, zip, country, phone, email) {\n        let address = Address.fromObject({\n            name: name,\n            company: company,\n            street1: street1,\n            street2: street2,\n            city: city,\n            state: state,\n            zip: zip,\n            country: country,\n            phone: phone,\n            email: email\n        });\n        switch (type) {\n            case \"to\":\n                this.toAddress = address;\n                break;\n            case \"return\":\n                this.returnAddress = address;\n                break;\n            case \"origin\":\n                this.originAddress = address;\n                break;\n        }\n    }\n\n    /**\n     * Set an address using an object that matches the internal form (see setAddress())\n     * @param {string} type\n     * @param {object} data\n     * @returns {undefined}\n     */\n    setAddressWhole(type, address) {\n        switch (type) {\n            case \"to\":\n                this.toAddress = Address.fromObject(address);\n                break;\n            case \"return\":\n                this.returnAddress = Address.fromObject(address);\n                break;\n            case \"origin\":\n                this.originAddress = Address.fromObject(address);\n                break;\n        }\n    }\n\n    get tracking() {\n        return this.trackingNumber;\n    }\n\n    set tracking(n) {\n        this.trackingNumber = n;\n    }\n\n    /**\n     * Get the \"from\" address that will be shown,\n     * using the return address or origin address as needed\n     * @returns {address}\n     */\n    getReturnAddress() {\n        var a = null;\n        if (typeof this.returnAddress == \"object\") {\n            a = Address.fromObject(this.returnAddress);\n        } else {\n            a = Address.fromObject(this.originAddress);\n        }\n        if (a.country == \"\") {\n            a.country = defaultCountryCode();\n        }\n        return a;\n    }\n\n    getToAddress() {\n        var a = Address.fromObject(this.toAddress);\n        if (a.country == \"\") {\n            a.country = defaultCountryCode();\n        }\n        return a;\n    }\n\n    getFromAddress() {\n        var a = null;\n        if (typeof this.originAddress == \"object\") {\n            a = Address.fromObject(this.originAddress);\n        } else {\n            a = Address.fromObject(this.returnAddress);\n        }\n        if (a.country == \"\") {\n            a.country = defaultCountryCode();\n        }\n        return a;\n    }\n}\n
    "},{"location":"Docs/Receipt/","title":"Receipt Objects","text":""},{"location":"Docs/Receipt/#sample-receipt-object","title":"Sample receipt object","text":"

    This is an example of the data global.apis.pos.onReceiptChange and global.apis.pos.onTransactionFinished send to plugins. All data for a PostalPoint transaction is available in its receipt object.

    The money-related properties near the bottom of this sample are generated by PostalPoint from the items and payments.

    "},{"location":"Docs/Receipt/#notes","title":"Notes:","text":"
    • The due property will be a negative number if change is owed to the customer.
    • pendingEmailTo is set to a suggested email address for the email receipt, and if the receipt should actually be emailed, it will be set in emailTo.
    • uuid is a unique 16-character alphanumeric receipt ID number, which is shown and used in several places. The uuid is generated using global.apis.util.uuid.short().
    • customerAccountId is the UUID for the customer's account, or null if there isn't a customer attached.
    • This example happens to be the object used when test printing a receipt from the PostalPoint settings menu, so press that button to see what this is rendered into.
    {\n    \"items\": [\n        ReceiptItem.fromJSON({\n            \"id\": \"9100123456789012345678\",\n            \"label\": \"Test Package\",\n            \"text\": \"Package Details\\nTracking # 9100 1234 5678 9012 3456 78\\nTo:\\nTEST PERSON\\nORGANIZATION INC\\n123 TEST ROAD\\nTESTTOWN TE 99999-0001\",\n            \"priceEach\": 8,\n            \"qty\": 1,\n            \"cost\": 0,\n            \"retail\": 8,\n            \"taxRate\": 0,\n            \"free\": false,\n            \"barcode\": \"9100123456789012345678\",\n            \"certifiedInfo\": false,\n            \"isMerch\": false,\n            \"surcharge\": false,\n            \"toAddress\": {\n                \"name\": \"TEST PERSON\",\n                \"company\": \"ORGANIZATION INC\",\n                \"street1\": \"123 TEST ROAD\",\n                \"street2\": null,\n                \"city\": \"TESTTOWN\",\n                \"state\": \"TE\",\n                \"zip\": \"99999-0001\",\n                \"email\": null,\n                \"phone\": null,\n                \"country\": \"US\"\n            },\n            \"fromAddress\": {\n                \"name\": \"TEST PERSON\",\n                \"company\": \"ORGANIZATION INC\",\n                \"street1\": \"123 TEST ROAD\",\n                \"street2\": null,\n                \"city\": \"TESTTOWN\",\n                \"state\": \"TE\",\n                \"zip\": \"99999-0001\",\n                \"email\": null,\n                \"phone\": null,\n                \"country\": \"US\"\n            }\n        }),\n        ReceiptItem.fromJSON({\n            \"id\": \"testitem\",\n            \"label\": \"Test Item\",\n            \"text\": \"\",\n            \"priceEach\": 2,\n            \"qty\": 1,\n            \"cost\": 0,\n            \"retail\": 2,\n            \"taxRate\": 0.1,\n            \"free\": false,\n            \"barcode\": \"\",\n            \"certifiedInfo\": false,\n            \"isMerch\": true,\n            \"surcharge\": false\n        })\n    ],\n    \"payments\": [\n        ReceiptPayment.fromJSON({\n            \"amount\": 10,\n            \"type\": \"cash\",\n            \"text\": \"\",\n            \"id\": \"testcash\"\n        })\n    ],\n    \"subtotal\": 10,\n    \"subtotalFormatted\": \"$10.00\",\n    \"tax\": 0.2,\n    \"taxFormatted\": \"$0.20\",\n    \"grandTotal\": 10.2,\n    \"grandTotalFormatted\": \"$10.20\",\n    \"paid\": 10.2,\n    \"paidFormatted\": \"$10.20\",\n    \"due\": 0,\n    \"dueFormatted\": \"$0.00\",\n    \"emailTo\": null,\n    \"pendingEmailTo\": null,\n    \"uuid\": \"1234567890abcdef\",\n    \"customerAccountId\": null,\n    \"topTextHTML\": \"\",\n    \"bottomTextHTML\": \"\"\n}\n
    "},{"location":"Docs/Receipt/#globalapisposreceiptitem","title":"global.apis.pos.ReceiptItem","text":"
    export class ReceiptItem {\n    /**\n     *\n     * @param {string|number} id Unique ID number for this item (UPC code, inventory number, etc). Used to deduplicate line items. Unique items (like shipping labels) should be random or empty.\n     * @param {string} label One-line item information.\n     * @param {string} text Extra item information.\n     * @param {number} priceEach Price per unit\n     * @param {number} quantity Number of units\n     * @param {number} cost Cost per unit. Used for automatic expense tracking.\n     * @param {number} taxrate Examples: 0 (for 0%), 0.05 (for 5%), etc\n     * @param {string} taxableAmount The part of the sale price that's taxable. \"\" for default (all), \"markup\" for only taxing profit.\n     * @returns {ReceiptItem}\n     */\n    constructor(id, label, text, priceEach, quantity, cost, taxrate = 0.0, taxableAmount = \"\") {\n        this.id = id;\n        this.label = label;\n        if (text == null) {\n            this.txt == \"\";\n        } else {\n            this.txt = text;\n        }\n        this.priceEach = num(priceEach);\n        this.qty = num(quantity);\n        this.cost = num(cost);\n        if (isNaN(taxrate)) {\n            this.taxRate = 0;\n        } else {\n            this.taxRate = num(taxrate);\n        }\n        this.taxableAmount = taxableAmount;\n        this.merch = false;\n        this.merchid = null;\n        this.surcharge = false;\n        this.retail = 0; // For ensuring PostalPoint fee collection on office mode shipments\n        this.mailboxNumber = null;\n        this.mailboxDays = 0;\n        this.mailboxMonths = 0;\n        this.category = \"\"; // merch category\n        this.electronicReturnReceipt = false;\n    }\n\n    static fromJSON(obj) {\n        var item = new ReceiptItem(obj.id, obj.label, obj.text, obj.priceEach, obj.qty, obj.cost, obj.taxRate, obj.taxableAmount ?? \"\");\n        item.free = obj.free;\n        item.barcode = obj.barcode;\n        item.certifiedInfo = obj.certifiedInfo;\n        item.toAddress = obj.toAddress;\n        item.fromAddress = obj.fromAddress;\n        item.merch = obj.isMerch == true || (typeof obj.merchid == \"string\" && obj.merchid.length > 0);\n        item.merchid = obj.merchid ?? null;\n        item.mailboxNumber = obj.mailboxNumber ?? null;\n        item.mailboxDays = obj.mailboxDays ?? 0;\n        item.mailboxMonths = obj.mailboxMonths ?? 0;\n        item.surcharge = obj.surcharge;\n        item.retailPrice = obj.retail;\n        item.carrier = obj.carrier ?? null;\n        item.service = obj.service ?? null;\n        item.category = obj.category ?? \"\";\n        item.electronicReturnReceipt = obj.electronicReturnReceipt ?? false;\n        return item;\n    }\n\n    toJSON() {\n        return {\n            id: this.id,\n            label: this.label,\n            text: this.text,\n            priceEach: num(this.priceEach),\n            qty: num(this.qty),\n            cost: num(this.cost),\n            retail: num(this.retail),\n            taxRate: num(this.taxRate),\n            taxableAmount: this.taxableAmount,\n            taxTotal: this.taxAmount,\n            free: this.free,\n            barcode: this.barcode,\n            certifiedInfo: this.certifiedInfo,\n            isMerch: this.merch,\n            merchid: this.merchid,\n            surcharge: this.surcharge,\n            toAddress: this.toAddress,\n            fromAddress: this.fromAddress,\n            mailboxNumber: this.mailboxNumber,\n            mailboxDays: this.mailboxDays,\n            mailboxMonths: this.mailboxMonths,\n            carrier: this.carrier,\n            service: this.service,\n            category: this.category,\n            electronicReturnReceipt: this.electronicReturnReceipt\n        };\n    }\n\n    get text() {\n        if (typeof this.txt == \"string\") {\n            return this.txt;\n        }\n        return \"\";\n    }\n\n    set text(t) {\n        if (typeof t == \"string\") {\n            this.txt = t;\n        } else {\n            this.txt = \"\";\n        }\n    }\n\n    get certifiedInfo() {\n        if (typeof this.certified == \"undefined\") {\n            return false;\n        }\n        return this.certified;\n    }\n\n    set certifiedInfo(info) {\n        this.certified = info;\n    }\n\n    setCertifiedInfo(tracking, certfee, extrafees, postage, date, location, toaddress) {\n        this.certified = {\n            tracking: tracking,\n            certifiedFee: num(certfee),\n            extraFees: extrafees,\n            postage: num(postage),\n            date: date,\n            location: location,\n            to: toaddress\n        };\n    }\n\n    setQuantity(q) {\n        this.qty = num(q);\n    }\n\n    get free() {\n        return this.isFree == true;\n    }\n\n    set free(free) {\n        this.isFree = free == true;\n    }\n\n    get barcode() {\n        if (typeof this.barcodeData != \"string\") {\n            return \"\";\n        }\n        return this.barcodeData;\n    }\n\n    set barcode(data) {\n        this.barcodeData = data;\n    }\n\n    get linePrice() {\n        return round(m(this.priceEach, this.qty), 2);\n    }\n\n    get priceEachFormatted() {\n        return getCurrencySymbol() + round(num(this.priceEach), 2).toFixed(2);\n    }\n\n    get linePriceFormatted() {\n        return getCurrencySymbol() + round(num(this.linePrice), 2).toFixed(2);\n    }\n\n    get texthtml() {\n        if (typeof this.text != \"string\") {\n            return \"\";\n        }\n        var lines = this.text.split(\"\\n\");\n        for (var i = 0; i < lines.length; i++) {\n            if (lines[i].startsWith(\"Tracking # \")) {\n                // Allow copying tracking number\n                lines[i] = \"Tracking # <span class=\\\"usall\\\">\" + lines[i].replace(\"Tracking # \", \"\") + \"</span>\";\n            }\n        }\n        return lines.join(\"<br />\");\n    }\n\n    get taxAmount() {\n        if (this.taxableAmount == \"markup\") {\n            var lineCost = m(this.cost, this.qty);\n            var margin = s(this.linePrice, lineCost);\n            if (margin <= 0) {\n                return 0;\n            }\n            return round(m(margin, this.taxRate), 2);\n        } else {\n            return round(m(this.linePrice, this.taxRate), 2);\n        }\n    }\n\n    get retailPrice() {\n        if (typeof this.retail == \"number\") {\n            return this.retail;\n        }\n        return this.priceEach * this.qty;\n    }\n\n    set retailPrice(price) {\n        this.retail = num(price);\n    }\n\n}\n
    "},{"location":"Docs/Receipt/#globalapisposreceiptpayment","title":"global.apis.pos.ReceiptPayment","text":"
    export class ReceiptPayment {\n\n    /**\n     *\n     * @param {number} amount amount paid\n     * @param {string} type payment type\n     * @param {string} text extra data (credit card info, etc)\n     * @returns {ReceiptPayment}\n     */\n    constructor(amount, type, text) {\n        this.id = (Math.random() * 100000000) + \"_\" + type + \"_\" + amount;\n        this.text = (typeof text != \"string\" ? \"\" : text);\n        this.type = type;\n        this.amount = amount;\n    }\n\n    static fromJSON(obj) {\n        var item = new ReceiptPayment(obj.amount, obj.type, obj.text);\n        item.id = obj.id;\n        return item;\n    }\n\n    toJSON() {\n        return {\n            amount: round(this.amount, 2),\n            type: this.type,\n            text: this.text,\n            id: this.id\n        };\n    }\n\n    get texthtml() {\n        if (typeof this.text != \"string\") {\n            return \"\";\n        }\n        return this.text.replaceAll(\"\\n\", \"<br />\");\n    }\n\n    get amountFormatted() {\n        return getCurrencySymbol() + this.amount.toFixed(2);\n    }\n\n    get label() {\n        if (typeof this.type != \"string\") {\n            return \"Payment\";\n        }\n        switch (this.type) {\n            case \"cash\":\n                return \"Cash\";\n            case \"check\":\n                return \"Check\";\n            case \"card\":\n                return \"Card\";\n            case \"card_manual\":\n                return \"Card\";\n            case \"account\":\n                return \"Account\";\n            case \"free\":\n                return \"Free\";\n            case \"discount\":\n                return \"Discount\";\n            case \"crypto\":\n                return \"Cryptocurrency\";\n            case \"ach\":\n                return \"ACH Debit\";\n            case \"rounding\":\n                return \"Cash Rounding\"; // Used in penniless countries to balance a cash-only transaction\n            default:\n                return this.type;\n        }\n    }\n}\n
    "},{"location":"Docs/ReceiptPrinter/","title":"Receipt Printer driver functions","text":"

    PostalPoint abstracts the receipt printer hardware commands, so the same functions are available on all brands and languages of receipt printer, and printer media size and settings are also handled for you.

    The drivers operate in line mode, where each successive command appends content to the bottom of the page.

    These functions are available on the object supplied by the promise returned from global.apis.print.getReceiptPrinter().

    "},{"location":"Docs/ReceiptPrinter/#functions","title":"Functions","text":"
    //\n// Add one or more lines of text, with automatic wrapping.\n// If both firsttext and secondtext are provided, two columns of text are generated,\n// with the first left-justified and the second right-justified.\n// `firstjustify` can be \"L\" (left), \"C\" (center), or \"R\" (right).\n// Not all printers support all the formatting options, and may render them in different ways,\n// but the formatting intent is made clear regardless.\naddFieldBlock(firsttext, firstjustify, secondtext = \"\", secondjustify = \"R\", bold = false, doubleheight = false, underline = false);\n\n// Add a blank line to the label.\nnewLine();\n\n// Draw a horizontal line across the page.\ndrawLine();\n\n// Render a Code 128 barcode, centered horizontally, with a human-readable label beneath.\n// Important: this function is sometimes asynchronous depending on the printer driver.\nbarcode128(content);\n\n// Print an image.  Width is in pixels.\n// pixelByteArray is a Uint8Array where each bit is a pixel (1=black, 0=white),\n// starting at the top-left of the image and going across and then down. Use `imageToBitmap` to\n// obtain this data from a Jimp image.\n// Use \"L\" as the position to print on the next line, centered horizontally.\n// Some printers also support position = \"C\", which will\n// ignore other commands and print the image centered on the label,\n// but if you're doing that, just use `global.apis.print.printLabelImage()` instead.\ndrawImage(width, position, pixelByteArray);\n\n// If supported by the printer, opens an attached cash drawer.  Command is ignored if unavailable.\nopenCashDrawer();\n\n// The last command to run, when ready to print. Returns the raw data to send to the printer.\n// Important: this function is sometimes asynchronous depending on the printer driver.\ngetData();\n
    "},{"location":"Docs/ReceiptPrinter/#example","title":"Example","text":"
    var printer = await global.apis.print.getReceiptPrinter();\n\nprinter.addFieldBlock(\"Hello Bold World!\", \"C\", \"\", \"\", true);\nprinter.drawLine();\nawait printer.barcode128(\"1234567890\");\nprinter.newLine();\n\nawait global.apis.printer.printReceiptData(await printer.getData());\n
    "},{"location":"Docs/TrackingBarcode/","title":"TrackingBarcode class","text":"

    For your reference, here is the source code of the TrackingBarcode class, used to represent a prepaid drop-off. This class is provided to plugins as global.apis.barcode.TrackingBarcode.

    export class TrackingBarcode {\n    /**\n     * Create a tracking barcode object.\n     * @param {string} code Tracking number.\n     * @returns {TrackingBarcode}\n     */\n    constructor(code) {\n        // All data are optional except for the tracking number. Missing data is gracefully handled by the PostalPoint UI.\n        this.cleanCode = code;\n        // Original barcode data this was created from\n        this.barcode = code;\n        // Destination ZIP Code, for domestic shipments. The city and state are automatically added.  If toAddress is specified, toZip is ignored in favor of it.\n        this.toZip = \"\";\n        // Two-letter destination country code.  If not \"US\", toZip is ignored, and the full country name is appended to the displayed address information.\n        this.toCountry = defaultCountryCode();\n        // If toAddress is set, it will be used instead of the toZip when displaying the destination.\n        // If both toZip and toAddress are empty strings, no destination will be displayed.\n        this.toAddress = \"\";\n        // If message is not empty, the barcode will NOT be added and the message will be displayed to the user.\n        this.message = \"\";\n        // If warning is not empty, the barcode WILL be added and a message will be displayed to the user.\n        this.warning = \"\";\n        // Shipping carrier name.\n        this.carrier = \"\";\n        // Shipping service/mail class full name and description. Example: \"Priority Mail Adult Signature Required\".\n        this.serviceName = \"\";\n        // Shipping service/mail class name, without extra info such as \"signature required\".\n        // Example: \"Priority Mail\"\n        this.serviceShort = \"\";\n        // If set to false, the barcode will be rejected with a suitable message when PostalPoint is running in self-serve kiosk mode.\n        this.dropoff = true;\n        // If false, app may prompt user to specify the shipping carrier\n        this.confidentCarrier = true;\n        // Extra description strings, like \"Signature Required\"\n        this.extraInfo = [];\n    }\n\n    /**\n     * Set the tracking number\n     * @param {string} str\n     * @returns {undefined}\n     */\n    set tracking(str) {\n        this.cleanCode = str;\n    }\n\n    /**\n     * Set the service/mail class description string.\n     * @param {string} str\n     * @returns {undefined}\n     */\n    set service(str) {\n        this.serviceShort = str;\n        this.serviceName = str;\n    }\n\n    /**\n     * Get the tracking number.\n     * @returns {String}\n     */\n    get tracking() {\n        return this.cleanCode;\n    }\n\n    /**\n     * Get the destination ZIP code.\n     * @returns {String}\n     */\n    get zip() {\n        return this.toZip;\n    }\n\n    /**\n     * Get the service/mail class description.\n     * @returns {String}\n     */\n    get service() {\n        if (this.serviceShort != \"\") {\n            return this.serviceShort;\n        } else if (this.serviceName != \"\") {\n            return this.serviceName;\n        }\n        return \"\";\n    }\n\n    /**\n     * Get the carrier and service info.\n     * @returns {String}\n     */\n    get serviceString() {\n        var str = [];\n        if (this.carrier != \"\") {\n            str.push(this.carrier);\n        }\n        if (this.serviceShort != \"\") {\n            str.push(this.serviceShort);\n        } else if (this.serviceName != \"\") {\n            str.push(this.serviceName);\n        }\n        return str.join(\" \");\n    }\n\n    /**\n     * Get the destination information as a human-presentable multiline string.\n     * @returns {String}\n     */\n    get destString() {\n        var addressLines = [];\n        if (this.toAddress != \"\") {\n            addressLines.push(...this.toAddress.split(\"\\n\"));\n        }\n        if (defaultCountryCode() == this.toCountry.toUpperCase() && this.toCountry.toUpperCase() == \"US\" && this.toZip != \"\" && this.toAddress == \"\") {\n            // Domestic shipment within USA, look up ZIP code\n            var zipdata = getZIP(this.toZip);\n            if (zipdata != false) {\n                addressLines.push(`${zipdata.city} ${zipdata.state} ${this.toZip}`);\n            } else {\n                addressLines.push(`${this.toZip}`);\n            }\n        } else if (defaultCountryCode() == this.toCountry.toUpperCase()) {\n            // Domestic shipment, outside USA, add postal code line if we have one\n            if (this.toZip != \"\" && this.toAddress.includes(this.toZip) != true) {\n                addressLines.push(`${this.toZip}`);\n            }\n        } else {\n            // International shipment, add country name\n            addressLines.push(getCountryNameForISO(this.toCountry));\n        }\n        return addressLines.join(\"\\n\");\n    }\n\n    /**\n     * Get the package information in a format suitable for display on a receipt.\n     * @param {boolean} includeTrackingNumber If false, the tracking number will be suppressed.\n     * @returns {String}\n     */\n    toString(includeTrackingNumber = true) {\n        var lines = [];\n        if (includeTrackingNumber && this.cleanCode) {\n            lines.push(this.cleanCode);\n        }\n        var serv = this.serviceString;\n        if (serv != \"\") {\n            lines.push(serv);\n        }\n        var dest = this.destString;\n        if (dest != \"\") {\n            var destlines = dest.split(\"\\n\");\n            destlines[0] = \"To \" + destlines[0];\n            lines.push(...destlines);\n        }\n\n        if (typeof this.extraInfo == \"object\" && this.extraInfo.length > 0) {\n            lines.push(...this.extraInfo);\n        }\n\n        return lines.join(\"\\n\");\n    }\n}\n
    "},{"location":"Examples/01Minimal/","title":"Minimal Plugin","text":"

    This is the smallest possible valid plugin.

    plugin-name/plugin.js
    exports.init = function () {\n    global.apis.alert(\"This message appears when PostalPoint launches.\", \"Hello!\");\n};\n
    "},{"location":"Examples/02Basic/","title":"Basic Plugin","text":"

    This sample plugin showcases some of the features many plugins will want to use.

    Download JavaScript

    plugin.js
    // Sample plugin to demonstrate plugin capabilities and structure.\n\nasync function getPage() {\n    // A Framework7 component page\n    return global.apis.getPluginFolder(\"basic-demo\") + \"/uipluginpage.f7\";\n}\n\n// This is run when PostalPoint loads the plugin at launch.\n// Use it to register for things you want to do, like adding a page, hooking into payments or shipping rates, etc.\nexports.init = function () {\n    console.log(global.apis.settings.get(\"basic-demo_secretcode\"));\n    global.apis.ui.addToolsPage(getPage, \"Sample Page Title\", \"sampletool1234\", \"A sample plugin page\", \"Sample\", \"fa-solid fa-circle\");\n};\n\n// This defines a settings UI to display for the plugin.\n// If exports.config is a function instead of an array, it will be executed when opening the settings\n// and must return an array like the one below.\n// If exports.config is undefined, a settings menu will not be provided to the user.\nexports.config = [\n    {\n        type: \"button\",\n        label: \"Test Button\",\n        text: \"Some text about the button\",\n        onClick: function () {\n            global.apis.alert(\"Button pressed\");\n        }\n    },\n    {\n        type: \"text\",\n        key: \"app.postalpoint.basic-demo_somestring\", // Try to make sure this is unique by using a prefix,\n        // settings storage is global so there could be conflicts if you aren't careful\n        defaultVal: \"\",\n        label: \"Type a string\",\n        placeholder: \"\",\n        text: \"Description text next to the input box\",\n        sync: false // Add sync: false to prevent automatically syncing this setting between\n                    // PostalPoint installations (i.e. it's a device-specific setting, like a pairing code)\n                    // If it's not present, or is any truthy value, it could be synced between PCs\n    },\n    {\n        type: \"password\",\n        key: \"app.postalpoint.basic-demo_secretcode\",\n        defaultVal: \"\",\n        label: \"Secret Code\",\n        placeholder: \"\",\n        text: \"Don't tell anyone this secret code:\"\n    },\n    {\n        type: \"textarea\",\n        key: \"app.postalpoint.basic-demo_sometext\",\n        defaultVal: \"\",\n        label: \"Text Box\",\n        placeholder: \"...\",\n        text: \"You can type a few lines of text here.\"\n    },\n    {\n        type: \"select\",\n        key: \"app.postalpoint.basic-demo_dropdownbox\",\n        defaultVal: \"\",\n        label: \"Choose an option\",\n        placeholder: \"\",\n        text: \"\",\n        options: [[\"key1\", \"Value 1\"], [\"key2\", \"Value 2\"]]\n    }\n];\n

    Download HTML

    uipluginpage.f7
    <template>\n    <div class=\"page\">\n        <div class=\"navbar\">\n            <div class=\"navbar-bg\"></div>\n            <div class=\"navbar-inner\">\n                <div class=\"title\">${title}</div>\n            </div>\n        </div>\n        <div class=\"page-content\">\n            <a class=\"button\" @click=${openAlert}>Open Alert</a>\n            <a class=\"button\" @click=${printSomething}>Print Something</a>\n            <div class=\"list simple-list\">\n                <ul>\n                    ${names.map((name) => $h`\n                    <li>${name}</li>\n                    `)}\n                </ul>\n            </div>\n        </div>\n    </div>\n</template>\n<!-- component styles -->\n<style>\n    .red-link {\n        color: red;\n    }\n</style>\n<!-- rest of component logic -->\n<script>\n    // script must return/export component function\n    export default (props, { $f7, $on }) => {\n        const title = 'Component Page';\n        const names = ['John', 'Vladimir', 'Timo'];\n\n        const openAlert = () => {\n            $f7.dialog.alert('Hello world!\\nblah blah blah');\n        }\n\n        async function printSomething() {\n            // Print some text to the receipt printer\n            var printer = await global.apis.print.getReceiptPrinter();\n            printer.addFieldBlock('Hello world!\\nblah blah blah\\n\\n', \"C\");\n            global.apis.print.printReceiptData(await printer.getData());\n        }\n\n        $on('pageInit', () => {\n            // do something on page init\n        });\n        $on('pageAfterOut', () => {\n            // page has left the view\n        });\n\n        // component function must return render function\n        return $render;\n    }\n</script>\n
    "},{"location":"Examples/03Shipping/","title":"Shipping Plugin","text":"

    This sample plugin demonstrates how to add support for a custom shipping carrier.

    Download JavaScript

    plugin.js
    // This is a sample PostalPoint plugin for adding support for a shipping carrier.\n\nvar rateCache = [];\nvar parcelCache = {};\n\nexports.init = function () {\n    // Add support for shipping rating and label purchasing\n    global.apis.shipping.registerRateEndpoint(getRates, purchase, \"uniqueprefixhere_\");\n\n    // Add support for prepaid drop-offs\n    global.apis.barcode.onPrepaidScan(function (barcode) {\n        if (barcode.startsWith(\"mycarrierbarcode\")) { // Replace this with your checks for barcode validity\n            var data = new global.apis.barcode.TrackingBarcode(barcode);\n            data.carrier = \"Carrier Name\";\n            data.service = \"Service Name\";\n            return data;\n        }\n        return false;\n    });\n}\n\nasync function purchase(rateid) {\n    for (var i = 0; i < rateCache.length; i++) {\n        if (rateCache[i].rateid == rateid) {\n            var rate = rateCache[i];\n            //\n            // Fetch label and tracking and such\n            //\n            var label;\n            var tracking = \"123456\";\n            var toAddressLines = parcelCache.toAddress.toStringArray();\n\n            // Create receipt item\n            var receiptitem = new global.apis.pos.ReceiptItem(`uniqueprefixhere_${tracking}`,\n                    `${rate.carrierName} ${rate.serviceName}`,\n                    `Tracking # ${global.apis.util.string.chunk(tracking, 3).join(\" \")}\\nTo:\\n${toAddressLines.join(\"\\n\")}`,\n                    rate.retail_rate, 1, rate.cost_rate, 0\n                    );\n            receiptitem.barcode = tracking;\n            receiptitem.carrier = \"Carrier Name\";\n            receiptitem.service = \"Service Name\";\n\n            return {\n                label: label,\n                labeltype: \"PNG\",\n                receiptItem: receiptitem,\n                tracking: tracking,\n                cost: rate.cost_rate,\n                price: rate.retail_rate,\n                carrier: rate.carrierName,\n                service: rate.serviceName,\n                delivery_days: rate.delivery_days,\n                delivery_date: rate.delivery_date,\n                to: toAddressLines\n            };\n        }\n    }\n}\n\nasync function getRates(parcel) {\n    // parcel is an object as shown in docs/Parcel.md\n    var rates = [];\n    rates.push({\n        rateid: \"uniqueprefixhere_\" + global.apis.util.uuid.v4(),\n        carrier: \"Carrier\",\n        carrierName: \"Carrier Name\",\n        service: \"CARRIER_SERVICE_ID\",\n        cost_rate: 10,\n        retail_rate: 15,\n        delivery_days: 3,\n        delivery_date: null,\n        guaranteed: true,\n        serviceName: \"Service Name\",\n        color: \"green\" // Rate card color\n    });\n\n    // Save details for later use if purchased\n    rateCache = rates;\n    parcelCache = parcel;\n\n    return rates;\n}\n
    "},{"location":"Examples/04CardProcessor/","title":"Card Payments","text":"

    This plugin template shows how to implement a card payment processor, allowing PostalPoint to interface with your card reader/terminal hardware, as well as saving, retrieving, and charging cards on file.

    Download JavaScript

    plugin-name/plugin.js
    // This is a sample PostalPoint plugin that adds a card payment processor.\n\nexports.init = function () {\n    global.apis.pos.registerCardProcessor({\n        name: \"Demo Card Processor\",\n        init: async function () {\n            // This function runs once after starting PostalPoint\n            // and before any other card processor functions are called.\n        },\n        checkout: async function({amount, capture = true}) {\n            // amount is an integer number of pennies.\n\n            // If an error is encountered during processing,\n            //    display an error message in a dialog and return boolean false.\n            //    If this function returns anything except false or undefined, and doesn't throw an error,\n            //    it is assumed the payment was successful.\n            try {\n                if (capture) {\n                    // authorize, capture, add a ReceiptPayment to the receipt, and return boolean true.\n                    global.apis.pos.addOnscreenPaymentLog(\"Getting card payment...\"); // Add a line to the onscreen card processing status log\n                    await global.apis.util.delay(1000); // Replace this with something useful!\n                    global.apis.pos.addReceiptPayment(\n                        new global.apis.pos.ReceiptPayment(\n                            (amount / 100).toFixed(2) * 1,\n                            \"card\", // Payment type. Accepted values are card, ach, crypto, cash, check, account, and free.  Other types will be displayed as-is to the user and on the receipt.\n                            \"Demo Card\\nCardholder Name, etc\\nMore info for receipt\" // Additional text for receipt\n                        )\n                    );\n                    global.apis.pos.addOnscreenPaymentLog(\"Payment successful!\");\n                    return true;\n                } else {\n                    // only authorize the payment, don't actually capture/charge the payment method,\n                    // and return whatever transaction data that will be passed to finishPayment to capture the payment.\n                    await global.apis.util.delay(1000); // Replace this with something useful!\n                    return {amount: amount};\n                }\n            } catch (ex) {\n                global.apis.pos.addOnscreenPaymentLog(`Error: ${ex.message} [okay to put extra details here for troubleshooting or tech support, it's visible to the cashier]`);\n                if (global.apis.kiosk.isKiosk()) {\n                    // This message will be shown to an end-user/customer, not a cashier/employee\n                    global.apis.alert(\"Your card was declined.\", \"Card Error\");\n                } else {\n                    global.apis.alert(\"The customer's card was declined.\", \"Card Error\");\n                }\n                return false;\n            }\n        },\n        cancelCheckout: function () {\n            // The user requested to cancel the payment.\n            // Reset the terminal to its resting state, clear its screen, etc.\n        },\n        finishPayment: async function ({checkoutResponse}) {\n            // Finish a payment that was authorized but not captured because checkout was called with capture = false\n            // If payment was already captured and added to the receipt for some reason, just return true.\n            await global.apis.util.delay(1000); // Replace this with something useful!\n            global.apis.pos.addReceiptPayment(\n                new global.apis.pos.ReceiptPayment(\n                    (checkoutResponse.amount / 100).toFixed(2) * 1,\n                    \"card\", // Payment type.\n                    \"Demo Card\\nCardholder Name, etc\\nMore info for receipt\" // Additional text for receipt\n                )\n            );\n            return true;\n        },\n        updateCartDisplay: function (receipt) {\n            // Show transaction data on the card reader display.\n            // This function will be called when the cart or total changes.\n            console.log(receipt);\n            // Sample structure of the receipt variable:\n            receipt = {\n                \"items\": [\n                    {\n                        \"id\": \"testitem\",\n                        \"label\": \"Test Item\",\n                        \"text\": \"\",\n                        \"priceEach\": 2,\n                        \"qty\": 1,\n                        \"cost\": 0,\n                        \"retail\": 2,\n                        \"taxRate\": 0.1,\n                        \"free\": false,\n                        \"barcode\": \"\",\n                        \"certifiedInfo\": false,\n                        \"isMerch\": true,\n                        \"surcharge\": false\n                    },\n                    {\n                        \"id\": \"9100123456789012345678\",\n                        \"label\": \"Test Package\",\n                        \"text\": \"Package Details\\nTracking # 9100 1234 5678 9012 3456 78\\nTo:\\nTEST PERSON\\nORGANIZATION INC\\n123 TEST ROAD\\nTESTTOWN TE 99999-0001\",\n                        \"priceEach\": 8,\n                        \"qty\": 1,\n                        \"cost\": 0,\n                        \"retail\": 8,\n                        \"taxRate\": 0,\n                        \"free\": false,\n                        \"barcode\": \"9100123456789012345678\",\n                        \"certifiedInfo\": false,\n                        \"isMerch\": false,\n                        \"surcharge\": false,\n                        \"toAddress\": {\n                            \"name\": \"TEST PERSON\",\n                            \"company\": \"ORGANIZATION INC\",\n                            \"street1\": \"123 TEST ROAD\",\n                            \"street2\": null,\n                            \"city\": \"TESTTOWN\",\n                            \"state\": \"TE\",\n                            \"zip\": \"99999-0001\",\n                            \"email\": null,\n                            \"phone\": null,\n                            \"country\": \"US\"\n                        },\n                        \"fromAddress\": {\n                            \"name\": \"TEST PERSON\",\n                            \"company\": \"ORGANIZATION INC\",\n                            \"street1\": \"123 TEST ROAD\",\n                            \"street2\": null,\n                            \"city\": \"TESTTOWN\",\n                            \"state\": \"TE\",\n                            \"zip\": \"99999-0001\",\n                            \"email\": null,\n                            \"phone\": null,\n                            \"country\": \"US\"\n                        }\n                    }\n                ],\n                \"payments\": [\n                    {\n                        \"amount\": 10,\n                        \"amountFormatted\": \"$10.00\",\n                        \"type\": \"cash\",\n                        \"label\": \"Cash\",\n                        \"text\": \"\",\n                        \"texthtml\": \"\",\n                        \"id\": \"12345678_cash_10\"\n                    },\n                    {\n                        \"amount\": 12.34,\n                        \"amountFormatted\": \"$12.34\",\n                        \"type\": \"card\",\n                        \"label\": \"Card\",\n                        \"text\": \"Card Details here\\n1234abcd\",\n                        \"texthtml\": \"Card Details here<br />1234abcd\",\n                        \"id\": \"87654321_card_12.34\"\n                    }\n                ],\n                \"subtotal\": 10,\n                \"subtotalFormatted\": \"$10.00\",\n                \"tax\": 0.2,\n                \"taxFormatted\": \"$0.20\",\n                \"grandTotal\": 10.2,\n                \"grandTotalFormatted\": \"$10.20\",\n                \"paid\": 22.34,\n                \"paidFormatted\": \"$22.34\",\n                \"due\": -12.14, // If negative, is the amount of change owed to the customer instead\n                \"dueFormatted\": \"$12.14\"\n            };\n        },\n        checkoutSavedMethod: async function ({customerID, paymentMethodID, amount}) {\n            // Same as checkout() except using a payment method already on file.\n            // customerID and paymentMethodID are provided by getSavedPaymentMethods below.\n            await global.apis.util.delay(1000); // Replace this with something useful!\n            var error = false;\n            if (error) {\n                // If you can't charge the payment method, throw an Error with a string to display to the user.\n                throw new Error(\"The saved card didn't work.\");\n            }\n            global.apis.pos.addReceiptPayment(\n                new global.apis.pos.ReceiptPayment(\n                    (amount / 100).toFixed(2) * 1,\n                    \"card\", // Payment type.\n                    \"Card on File\\nx1234\" // Additional text for receipt\n                )\n            );\n            // Must return true upon success.\n            // If the payment is not successful, and you didn't throw an Error to show the user,\n            // then `return false` instead and it'll appear that the user's action to start the payment did nothing.\n            return true;\n        },\n        saveCardForOfflineUse: async function ({statusCallback, customerUUID, name, company, street1, street2, city, state, zip, country, email, phone}) {\n            // Use the card reader to capture an in-person card and save it for offline use.\n            // Provided details are the customer's info, which might be empty strings except for the customerUUID.\n            // Saved card details must be tied to the customerUUID, as that's how saved cards are looked up.\n\n            // statusCallback(string, boolean) updates the progress message on the cashier's screen.\n            // If the boolean is true, the progress message is replaced with a confirmation message.\n            statusCallback(\"Insert the card into the reader.\", false);\n\n            await global.apis.util.delay(1000); // Wait for the customer to insert their card,\n            //then save it for later offline billing\n\n            statusCallback(\"Saving card details...\", false);\n\n            await global.apis.util.delay(1000);\n\n            statusCallback(\"Card saved!\", true);\n\n            return true; // Card saved to customer\n            // If an error occurred, you can throw it and the error message will be displayed to the cashier.\n            // Alternatively, return boolean false and display the error yourself with global.apis.alert(message, title) or something.\n        },\n        cancelSaveCardForOfflineUse: function () {\n            // Cancel the process running in saveCardForOfflineUse() at the user/cashier's request.\n        },\n        getSavedPaymentMethods: async function ({customerUUID}) {\n            // Return all saved payment methods tied to the provided customer UUID.\n            var methods = [];\n            methods.push({\n                customer: \"<internal string referencing the customer>\", // Passed to checkoutSavedMethod as customerID\n                customer_uuid: customerUUID,\n                id: \"<card/payment method identifier>\", // Passed to checkoutSavedMethod as paymentMethodID\n                type: \"card\", // Payment type. Accepted values are card, ach, crypto, cash, check, account, and free.\n                label: \"Visa debit x1234 (exp. 12/29)\", // Label for payment method\n                label_short: \"Visa debit x1234\" // Abbreviated label for payment method\n            });\n            return methods;\n        },\n        deleteSavedPaymentMethod: async function ({customerUUID, customerID, paymentMethodID}) {\n            // Delete the payment method identified by paymentMethodID and tied to the PostalPoint customerUUID and the card processor customerID.\n            // If unable to delete, throw an error and the error message will be displayed to the cashier.\n            await global.apis.util.delay(1000);\n        }\n    });\n}\n\n// Plugin settings to display.\nexports.config = [\n    {\n        type: \"password\",\n        key: \"democardprocessor_apikey\",\n        defaultVal: \"\",\n        label: \"API Key\",\n        placeholder: \"\",\n        text: \"API Key\"\n    },\n    {\n        type: \"button\",\n        label: \"Test Button\",\n        text: \"Some text about the button\",\n        onClick: function () {\n            global.apis.ui.openSystemWebBrowser(\"https://postalpoint.app\");\n        }\n    }\n];\n
    "},{"location":"Examples/05CryptoProcessor/","title":"Cryptocurrency Payments","text":"

    This plugin template shows how to implement a cryptocurrency payment processor, using the customer-facing display to show a payment QR code webpage.

    Download JavaScript

    plugin-name/plugin.js
    // This is a sample PostalPoint plugin that adds a card payment processor.\n\nexports.init = function () {\n    global.apis.pos.registerCryptoProcessor({\n        name: \"Demo Crypto\",\n        init: async function () {\n            // This is run after PostalPoint starts, and before any other crypto functions are called.\n        },\n        checkout: async function ( {amount}) {\n            // Run the checkout process.\n            // amount is the amount of USD to collect, in pennies.\n\n            // If an error is encountered during processing,\n            //    display an error message in a dialog and return boolean false.\n            //    If this function returns anything except false or undefined, and doesn't throw an error,\n            //    it is assumed the payment was successful.\n\n            // Adds a line of text visible to the cashier\n            global.apis.pos.addOnscreenPaymentLog(\"Getting crypto payment...\");\n\n            // Display a web page (i.e. with a payment QR code) to the customer on the customer-facing display.\n            global.apis.ui.setCustomerScreen(\"<html></html>\", \"html\");\n            global.apis.ui.setCustomerScreen(\"https://postalpoint.app\", \"raw\");\n\n            // Poll the status of the crypto transaction\n            var paymentComplete = false;\n            do {\n                await global.apis.util.delay(1000);\n                paymentComplete = true;\n            } while (paymentComplete != true);\n\n            global.apis.pos.addReceiptPayment(\n                    new global.apis.pos.ReceiptPayment(\n                            (amount / 100).toFixed(2) * 1,\n                            \"crypto\", // Payment type.\n                            \"Bitcoin\\n0.00001234 BTC\" // Additional text for receipt\n                            )\n                    );\n            global.apis.pos.addOnscreenPaymentLog(\"Payment successful!\");\n            global.apis.ui.clearCustomerScreen();\n        },\n        cancelCheckout: function () {\n            // The user requested to cancel the payment.\n            // Reset things accordingly.\n            global.apis.ui.clearCustomerScreen();\n        },\n        isConfigured: function () {\n            // Is this plugin properly setup and able to process payments?  If not, return false.\n            return true;\n        }\n    });\n}\n\n// Plugin settings to display.\nexports.config = [\n    {\n        type: \"password\",\n        key: \"democryproprocessor_apikey\",\n        defaultVal: \"\",\n        label: \"API Key\",\n        placeholder: \"\",\n        text: \"API Key\"\n    },\n    {\n        type: \"button\",\n        label: \"Test Button\",\n        text: \"Some text about the button\",\n        onClick: function () {\n            global.apis.ui.openSystemWebBrowser(\"https://postalpoint.app\");\n        }\n    }\n];\n
    "},{"location":"Plugin%20API/barcode/","title":"Barcode","text":""},{"location":"Plugin%20API/barcode/#barcode-object","title":"barcode : object","text":"

    Handle tracking barcodes

    Kind: global namespace

    • barcode : object
      • .TrackingBarcode
        • new TrackingBarcode(code)
      • .addPrepaidBarcode(trackingBarcodeData)
      • .inject(barcodeData)
      • .onPrepaidScan(f)

    "},{"location":"Plugin%20API/barcode/#barcodetrackingbarcode","title":"barcode.TrackingBarcode","text":"

    Kind: static class of barcode Properties

    Name Type Description tracking string Tracking number barcode string Original barcode data this was created from toZip string Destination ZIP Code, for domestic shipments. The city and state are automatically added. If toAddress is specified, toZip is ignored in favor of it. toCountry string Two-letter destination country code. If it doesn't match the country PostalPoint is running in, the full country name is appended to the displayed address information. toAddress string Destination mailing/shipping address. carrier string Shipping carrier name. service string Shipping service/mail class name. Example: \"Priority Mail\". dropoff boolean If set to false, the barcode will be rejected with a suitable message when PostalPoint is running in self-serve kiosk mode. confidentCarrier boolean If false, PostalPoint may prompt user to specify the shipping carrier. extraInfo Array.<string> Extra description strings, like \"Signature Required\". message string If not empty, the barcode will NOT be added and the contents of message will be displayed to the user. warning string If not empty, the barcode WILL be added and the contents of warning will be displayed to the user. destString string (read only) Get the destination information as a human-presentable multiline string. serviceString string (read only) Get the carrier and service. toString() function Get the package information in a format suitable for display on a receipt. toString(false) function Get the package information in a format suitable for display on a receipt, suppressing the tracking number.

    "},{"location":"Plugin%20API/barcode/#new-trackingbarcodecode","title":"new TrackingBarcode(code)","text":"

    A Tracking barcode object.

    Param Type Description code string Barcode data

    "},{"location":"Plugin%20API/barcode/#barcodeaddprepaidbarcodetrackingbarcodedata","title":"barcode.addPrepaidBarcode(trackingBarcodeData)","text":"

    Add a TrackingBarcode object to the transaction receipt at any time other than onPrepaidScan.

    Kind: static method of barcode

    Param Type trackingBarcodeData TrackingBarcode

    "},{"location":"Plugin%20API/barcode/#barcodeinjectbarcodedata","title":"barcode.inject(barcodeData)","text":"

    Pass data to the internal barcode event subsystem. The data is handled as if it were just received from a physical barcode scanner.

    Kind: static method of barcode

    Param Type barcodeData string

    "},{"location":"Plugin%20API/barcode/#barcodeonprepaidscanf","title":"barcode.onPrepaidScan(f)","text":"

    The function passed to onPrepaidScan is run when a barcode is scanned on the Prepaid page. The function is passed one argument, a string containing the raw barcode data. The function shall return boolean false if unable or unwilling to handle the barcode. If the barcode is handled by this function, it shall return a TrackingBarcode object.

    Kind: static method of barcode

    Param Type f function"},{"location":"Plugin%20API/database/","title":"Database","text":""},{"location":"Plugin%20API/database/#database-object","title":"database : object","text":"

    Database connection

    Kind: global namespace

    "},{"location":"Plugin%20API/database/#databasegetconnection-promisedatabaseadapter","title":"database.getConnection() \u21d2 Promise.<DatabaseAdapter>","text":"

    Return a database connection object to run SQL against the store database. See the Database docs for details.

    Kind: static method of database

    "},{"location":"Plugin%20API/fs/","title":"Fs","text":""},{"location":"Plugin%20API/fs/#fs-object","title":"fs : object","text":"

    Basic filesystem access utility functions, wrapping Node.JS and/or NW.JS code.

    Kind: global namespace

    • fs : object
      • .openFileSaveDialog(suggestedFilename, fileExtensions) \u21d2 Promise.<(string|null)>
      • .openFileBrowseDialog(chooseFolder, accept, dialogTitle) \u21d2 string | null
      • .writeFile(filename, data, encoding, flag) \u21d2 Promise
      • .readFile(filename, encoding, flag) \u21d2 Promise.<(string|Buffer)>
      • .fileExists(filename) \u21d2 boolean

    "},{"location":"Plugin%20API/fs/#fsopenfilesavedialogsuggestedfilename-fileextensions-promisestringnull","title":"fs.openFileSaveDialog(suggestedFilename, fileExtensions) \u21d2 Promise.<(string|null)>","text":"

    Open a file save as dialog prompting the user to save a file. Opens to the user's Documents folder, with sane fallbacks if it cannot be located.

    Kind: static method of fs Returns: Promise.<(string|null)> - The full file path the user selected, or null if they cancelled.

    Param Type Description suggestedFilename string The filename string to pre-fill in the dialog. fileExtensions string The file type filter to show. Examples: \".csv\", \".csv,.html\"

    "},{"location":"Plugin%20API/fs/#fsopenfilebrowsedialogchoosefolder-accept-dialogtitle-string-null","title":"fs.openFileBrowseDialog(chooseFolder, accept, dialogTitle) \u21d2 string | null","text":"

    Open a file browse/file open dialog prompting the user to select a file or folder. Opens to the user's Documents folder, with sane fallbacks if it cannot be located.

    Kind: static method of fs Returns: string | null - The selected file/folder path, or null if cancelled.

    Param Type Default Description chooseFolder boolean false Set to true to choose a folder instead of a file. accept string File filter. \".csv,.html\", \"image/*\", etc. dialogTitle string | null null Title of the file open dialog.

    "},{"location":"Plugin%20API/fs/#fswritefilefilename-data-encoding-flag-promise","title":"fs.writeFile(filename, data, encoding, flag) \u21d2 Promise","text":"

    Write a file to disk.

    Kind: static method of fs

    Param Type Default Description filename string The path and filename to write to. data string | Buffer | ArrayBuffer | Uint8Array Data to write to the file. encoding string | null \"utf8\" Text encoding. Set to empty if not passing string data. flag string | null \"w+\" Filesystem flag.

    "},{"location":"Plugin%20API/fs/#fsreadfilefilename-encoding-flag-promisestringbuffer","title":"fs.readFile(filename, encoding, flag) \u21d2 Promise.<(string|Buffer)>","text":"

    Read a file from disk and return its contents.

    Kind: static method of fs

    Param Type Default Description filename string The path and filename to read from. encoding string \"utf8\" File encoding. Set to null or empty string when reading binary data. flag string \"r+\" Filesystem flag.

    "},{"location":"Plugin%20API/fs/#fsfileexistsfilename-boolean","title":"fs.fileExists(filename) \u21d2 boolean","text":"

    Check if a file exists.

    Kind: static method of fs

    Param Type Description filename string Path and filename to check."},{"location":"Plugin%20API/global%20functions/","title":"Global functions","text":""},{"location":"Plugin%20API/global%20functions/#f7","title":"f7","text":"

    The Framework7 app instance for PostalPoint's entire UI, created by new Framework7(). See https://framework7.io/docs/app for details.

    Kind: global constant

    "},{"location":"Plugin%20API/global%20functions/#getpluginfolderid-string","title":"getPluginFolder([id]) \u21d2 string","text":"

    Get the filesystem path to a plugin's installation folder.

    Kind: global function Returns: string - \"/home/user/.config/postalpoint-retail/Default/storage/plugins/...\", \"C:\\Users\\user\\AppData...\", etc

    Param Type Description [id] string Plugin ID. If omitted or empty, will return the parent folder plugins are installed within.

    "},{"location":"Plugin%20API/global%20functions/#getappfolder-string","title":"getAppFolder() \u21d2 string","text":"

    Get the filesystem path to the PostalPoint installation folder.

    Kind: global function

    "},{"location":"Plugin%20API/global%20functions/#alerttext-title-callback","title":"alert(text, title, [callback])","text":"

    Display a simple alert-style dialog box.

    Kind: global function

    Param Type Default Description text string Body text of the dialog. title string Dialog title. [callback] function Function to call when the alert is closed."},{"location":"Plugin%20API/graphics/","title":"Graphics","text":""},{"location":"Plugin%20API/graphics/#graphics-object","title":"graphics : object","text":"

    PostalPoint uses the Jimp library version 1.6 for creating and manipulating images and shipping labels.

    Kind: global namespace

    • graphics : object
      • .Jimp() \u21d2 Jimp
      • .loadFont(filename) \u21d2 Promise

    "},{"location":"Plugin%20API/graphics/#graphicsjimp-jimp","title":"graphics.Jimp() \u21d2 Jimp","text":"

    The JavaScript Image Manipulation Program.

    Kind: static method of graphics Example

    const {Jimp} = global.apis.graphics.Jimp();\n

    "},{"location":"Plugin%20API/graphics/#graphicsloadfontfilename-promise","title":"graphics.loadFont(filename) \u21d2 Promise","text":"

    Replacement for Jimp's loadFont function, which gets very confused about our JS environment and ends up crashing everything.

    Kind: static method of graphics

    Param Type filename string"},{"location":"Plugin%20API/httpserver/","title":"Httpserver","text":""},{"location":"Plugin%20API/httpserver/#httpserver-object","title":"httpserver : object","text":"

    Add features to PostalPoint's integrated LAN HTTP API server.

    Kind: global namespace

    • httpserver : object
      • .addEndpoint(id, onCall)
      • .getServerPort() \u21d2 number
      • .getClientKey() \u21d2 string

    "},{"location":"Plugin%20API/httpserver/#httpserveraddendpointid-oncall","title":"httpserver.addEndpoint(id, onCall)","text":"

    Add a custom HTTP JSON POST endpoint to the LAN HTTP API server running inside PostalPoint. Requests must be POSTed and contain a JSON body (or empty body, which will be converted to null).

    Kind: static method of httpserver

    Param Type Description id string Endpoint ID. Used in URL, for example: http://<host>:7678/<id> onCall function Async function to call when the endpoint is called, which returns the response.

    Example

    global.apis.httpserver.addEndpoint(\"testendpoint\", async function (request) {\n    if (request.abc == \"123\") {\n        // A non-string `body` is converted to JSON before the HTTP reply is sent.\n        return {body: {json: true, abc: 123}, httpcode: 200, contentType: \"application/json\"};\n    }\n    // A string `body` is sent to the client as-is using whatever contentType you specify.\n    return {body: \"abc\", httpcode: 200, contentType: \"text/plain\"};\n});\n

    "},{"location":"Plugin%20API/httpserver/#httpservergetserverport-number","title":"httpserver.getServerPort() \u21d2 number","text":"

    Get the local HTTP server's port number.

    Kind: static method of httpserver

    "},{"location":"Plugin%20API/httpserver/#httpservergetclientkey-string","title":"httpserver.getClientKey() \u21d2 string","text":"

    Get the local machine's HTTP client key it uses to authenticate with other installations of PostalPoint on the LAN.

    Kind: static method of httpserver

    "},{"location":"Plugin%20API/i18n/","title":"I18n","text":""},{"location":"Plugin%20API/i18n/#i18n-object","title":"i18n : object","text":"

    Functions to help support multiple currencies and countries.

    Kind: global namespace

    • i18n : object
      • .country() \u21d2 string
      • .currency() \u21d2 string
      • .symbol() \u21d2 string
      • .decimals() \u21d2 number
      • .convertCurrency(amount, fromCurrency, [toCurrency]) \u21d2 Promise.<number>
      • .moneyToFixed(amount) \u21d2 string
      • .moneyString(amount) \u21d2 string
      • .currencyMinorToMajor(amount) \u21d2 number
      • .currencyMajorToMinor(amount) \u21d2 number

    "},{"location":"Plugin%20API/i18n/#i18ncountry-string","title":"i18n.country() \u21d2 string","text":"

    Get the 2-character ISO country code that PostalPoint is running in.

    Kind: static method of i18n Returns: string - \"US\", \"CA\", etc.

    "},{"location":"Plugin%20API/i18n/#i18ncurrency-string","title":"i18n.currency() \u21d2 string","text":"

    Get the 3-character currency code in use.

    Kind: static method of i18n Returns: string - \"usd\", \"cad\", etc.

    "},{"location":"Plugin%20API/i18n/#i18nsymbol-string","title":"i18n.symbol() \u21d2 string","text":"

    Get the currency symbol.

    Kind: static method of i18n Returns: string - \"$\", \"\u20ac\", \"\u20a4\", etc

    "},{"location":"Plugin%20API/i18n/#i18ndecimals-number","title":"i18n.decimals() \u21d2 number","text":"

    Get the number of decimal places for the currency: for example, USD has 2 ($x.00), KRW has 0 (x), UYW has 4 (x.0000).

    Kind: static method of i18n Returns: number - 0, 2, 3, or 4

    "},{"location":"Plugin%20API/i18n/#i18nconvertcurrencyamount-fromcurrency-tocurrency-promisenumber","title":"i18n.convertCurrency(amount, fromCurrency, [toCurrency]) \u21d2 Promise.<number>","text":"

    Convert an amount of money to a different currency. Conversion rate is retrieved from the internet and cached for 4 hours.

    Kind: static method of i18n

    Param Type Default Description amount number Amount of money in the \"wrong\" currency fromCurrency string The currency code for the \"wrong\" currency that needs conversion [toCurrency] string \"getCurrencyCode()\" The \"correct\" currency we want the amount to be in.

    "},{"location":"Plugin%20API/i18n/#i18nmoneytofixedamount-string","title":"i18n.moneyToFixed(amount) \u21d2 string","text":"

    Returns the amount as a string formatted with the correct number of decimal places for the currency in use.

    Kind: static method of i18n Returns: string - \"1.23\", \"1.2345\", etc

    Param Type amount number

    "},{"location":"Plugin%20API/i18n/#i18nmoneystringamount-string","title":"i18n.moneyString(amount) \u21d2 string","text":"

    Returns the amount as a string, with the correct decimal places, and the local currency symbol.

    Kind: static method of i18n Returns: string - \"$1.23\", etc

    Param Type amount number

    "},{"location":"Plugin%20API/i18n/#i18ncurrencyminortomajoramount-number","title":"i18n.currencyMinorToMajor(amount) \u21d2 number","text":"

    Convert an amount in cents to dollars (or the local equivalent currency units).

    Kind: static method of i18n Returns: number - Dollars, etc

    Param Type Description amount number Cents, etc

    "},{"location":"Plugin%20API/i18n/#i18ncurrencymajortominoramount-number","title":"i18n.currencyMajorToMinor(amount) \u21d2 number","text":"

    Convert an amount in dollars to cents (or the local equivalent currency units).

    Kind: static method of i18n Returns: number - Cents, etc

    Param Type Description amount number Dollars, etc"},{"location":"Plugin%20API/kiosk/","title":"Kiosk","text":""},{"location":"Plugin%20API/kiosk/#kiosk-object","title":"kiosk : object","text":"

    Self-serve kiosk mode

    Kind: global namespace

    "},{"location":"Plugin%20API/kiosk/#kioskiskiosk-boolean","title":"kiosk.isKiosk() \u21d2 boolean","text":"

    Check if PostalPoint is running in kiosk mode.

    Kind: static method of kiosk Returns: boolean - - True if system is in kiosk mode, else false.

    "},{"location":"Plugin%20API/mailboxes/","title":"Mailboxes","text":""},{"location":"Plugin%20API/mailboxes/#mailboxes-object","title":"mailboxes : object","text":"

    Add, modify, and delete mailboxes and mailbox customers.

    Kind: global namespace

    • mailboxes : object
      • .FormPS1583
        • new FormPS1583()
      • .getList(filter) \u21d2 Promise.<Array>
      • .addDaysToMailbox(boxNumber, days, months) \u21d2 Promise
      • .setMailboxExpirationDate(boxNumber, date) \u21d2 Promise
      • .createMailbox(number, size, notes, barcode) \u21d2 Promise
      • .editMailbox(oldNumber, newNumber, newSize, barcode) \u21d2 Promise
      • .deleteMailbox(number) \u21d2 Promise
      • .closeMailbox(number) \u21d2 Promise
      • .mailboxExists(number) \u21d2 Promise.<boolean>
      • .addOrUpdateBoxholder(boxNumber, info) \u21d2 Promise
      • .removeBoxholder(boxNumber, uuid) \u21d2 Promise
      • .get1583(boxNumber, uuid, archiveNumber) \u21d2 Promise.<FormPS1583>
      • .set1583(boxNumber, uuid, formps1583) \u21d2 Promise
      • .boxNumberValid() \u21d2 boolean
      • .getMailboxProducts() \u21d2 Promise.<Array>

    "},{"location":"Plugin%20API/mailboxes/#mailboxesformps1583","title":"mailboxes.FormPS1583","text":"

    Kind: static class of mailboxes

    "},{"location":"Plugin%20API/mailboxes/#new-formps1583","title":"new FormPS1583()","text":"

    USPS Form PS1583 object, with all the fields needed by USPS for CMRA customers.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesgetlistfilter-promisearray","title":"mailboxes.getList(filter) \u21d2 Promise.<Array>","text":"

    Get the list of mailboxes and boxholders as an array of objects, see example.

    Kind: static method of mailboxes

    Param Type Default Description filter null | object Filter to mailboxes matching a column condition, such as getList({number: \"102\"}) or getList({\"size >=\": \"2\"}). Supported filter names include \"number\" (string, box number), \"expires\" (expiration date), \"size\" (number 1-10), and \"barcode\" (string) SQL injection warning: Filter names are inserted directly into query strings without sanitization. Only the values are safe for user input.

    Example

    [{\n    num: \"123\", // Box number as string\n    expires: 1234567890, // UNIX timestamp (in seconds) or false if box vacant\n    size: \"2\", // Box size, 1-10\n    notes: \"\", // Notes for mailbox, not currently shown in Mailbox Manager UI but may be used in the future\n    barcode: \"\", // Unique barcode for the mailbox, for future use\n    renewalMerchID: \"\", // Merchandise item ID used for autorenewing this mailbox\n    isBusiness: false, // True if the box is for a business, false if for personal use\n    names: [], // Array of boxholders. See addOrUpdateBoxholder for the format.\n    packages: [], // Array of packages awaiting pickup, see below\n    vacant: false // True if the box is currently vacant, else false\n}]\n
    Example
    // Data objects in the packages array:\n{\n    tracking: tracking ?? \"[Untracked]\", // Package tracking number\n    finalized: true, // True if package check-in is finished and shelf tag/mailbox slips printed, false if not finalized\n    available_date: Date(), // The date and time the package was checked in\n    tag: \"\" // Unique number assigned to the package and printed on shelf tags, scanned by employee when customer picks up package\n}\n

    "},{"location":"Plugin%20API/mailboxes/#mailboxesadddaystomailboxboxnumber-days-months-promise","title":"mailboxes.addDaysToMailbox(boxNumber, days, months) \u21d2 Promise","text":"

    Add a number of days or months to a mailbox's expiration. Use either days or months, not both.

    Kind: static method of mailboxes

    Param Type Default Description boxNumber string Mailbox number. days number 0 Days to add. months number 0 Months to add.

    "},{"location":"Plugin%20API/mailboxes/#mailboxessetmailboxexpirationdateboxnumber-date-promise","title":"mailboxes.setMailboxExpirationDate(boxNumber, date) \u21d2 Promise","text":"

    Set the box expiration to a specific JavaScript Date object, or a UNIX timestamp (in seconds).

    Kind: static method of mailboxes

    Param Type boxNumber string date number | Date

    "},{"location":"Plugin%20API/mailboxes/#mailboxescreatemailboxnumber-size-notes-barcode-promise","title":"mailboxes.createMailbox(number, size, notes, barcode) \u21d2 Promise","text":"

    Create a new mailbox number with the specified box size. Throws an error if the box number is already in use.

    Kind: static method of mailboxes

    Param Type Description number string Mailbox number size number Box size (1 - 10) notes string Arbitrary string with human-readable notes about the box. barcode null | string A barcode value representing this mailbox, typically a sticker on the the physical box visible when delivering mail.

    "},{"location":"Plugin%20API/mailboxes/#mailboxeseditmailboxoldnumber-newnumber-newsize-barcode-promise","title":"mailboxes.editMailbox(oldNumber, newNumber, newSize, barcode) \u21d2 Promise","text":"

    Change the number and/or size of a mailbox while preserving the boxholders and packages associated. If only changing size, set oldNumber and newNumber to the same value.

    Kind: static method of mailboxes

    Param Type Default Description oldNumber string Currently assigned box number. newNumber string New box number. Must not exist yet. newSize number | null Box size (1 - 10), if changing the size. barcode null | string A barcode value representing this mailbox, typically a sticker on the the physical box visible when delivering mail.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesdeletemailboxnumber-promise","title":"mailboxes.deleteMailbox(number) \u21d2 Promise","text":"

    Delete a mailbox. Throws an Error if the mailbox has boxholders attached.

    Kind: static method of mailboxes

    Param Type Description number string Mailbox number to delete.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesclosemailboxnumber-promise","title":"mailboxes.closeMailbox(number) \u21d2 Promise","text":"

    Close a mailbox by removing the boxholders and marking it as vacant. Boxholder PS Form 1583 records are automatically archived per USPS regulations.

    Kind: static method of mailboxes

    Param Type Description number string Mailbox number to close.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesmailboxexistsnumber-promiseboolean","title":"mailboxes.mailboxExists(number) \u21d2 Promise.<boolean>","text":"

    Returns true if the mailbox number exists, false if it doesn't.

    Kind: static method of mailboxes

    Param Type Description number string Mailbox number to check.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesaddorupdateboxholderboxnumber-info-promise","title":"mailboxes.addOrUpdateBoxholder(boxNumber, info) \u21d2 Promise","text":"

    Modify or add a boxholder to a mailbox. info is the boxholder structure below. If the uuid given already belongs to a boxholder, their info is updated with what you supply. Otherwise, the info is added as a new boxholder.

    Kind: static method of mailboxes

    Param Type Description boxNumber string Mailbox number info Object Boxholder information.

    Example

    // Unless noted, all fields are strings and default to an empty string.\n{\n    name: [bizname, fname, mname, lname].filter(Boolean).join(\" \"),\n    fname: \"\", // First name\n    mname: \"\", // Middle name\n    lname: \"\", // Last name\n    email: \"\", // Email\n    phone: \"\", // Phone\n    uuid: \"\", // Customer UUID\n    bizname: \"\", // Business name\n    street1: \"\", // Street address\n    city: \"\", // City\n    state: \"\", // Two-character state\n    zipcode: \"\", // ZIP or postal code\n    country: \"\", // Two-character country code\n    primary: true // True if the primary (first) boxholder, false if an additional authorized mail recipient\n}\n

    "},{"location":"Plugin%20API/mailboxes/#mailboxesremoveboxholderboxnumber-uuid-promise","title":"mailboxes.removeBoxholder(boxNumber, uuid) \u21d2 Promise","text":"

    Remove a boxholder by their UUID, and archive their PS Form 1583 data per USPS regulations.

    Kind: static method of mailboxes

    Param Type Description boxNumber string Mailbox number. uuid string Boxholder UUID.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesget1583boxnumber-uuid-archivenumber-promiseformps1583","title":"mailboxes.get1583(boxNumber, uuid, archiveNumber) \u21d2 Promise.<FormPS1583>","text":"

    Get the FormPS1583 object for a boxholder by UUID.

    Kind: static method of mailboxes

    Param Type Default Description boxNumber string Mailbox number. uuid string Boxholder UUID. archiveNumber boolean false If true, returns the form for a deleted boxholder from the archive.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesset1583boxnumber-uuid-formps1583-promise","title":"mailboxes.set1583(boxNumber, uuid, formps1583) \u21d2 Promise","text":"

    Set the FormPS1583 object for a boxholder by UUID.

    Kind: static method of mailboxes

    Param Type Description boxNumber string Mailbox number. uuid string Boxholder UUID. formps1583 FormPS1583 The FormPS1583 object to use.

    "},{"location":"Plugin%20API/mailboxes/#mailboxesboxnumbervalid-boolean","title":"mailboxes.boxNumberValid() \u21d2 boolean","text":"

    Returns true if the mailbox number is an acceptable format, false if it isn't. Does not check if the box actually exists, merely if the number is acceptable to use as a mailbox number.

    Kind: static method of mailboxes

    "},{"location":"Plugin%20API/mailboxes/#mailboxesgetmailboxproducts-promisearray","title":"mailboxes.getMailboxProducts() \u21d2 Promise.<Array>","text":"

    Get a list of merchandise items that are usable for mailbox renewals.

    Kind: static method of mailboxes Example

    [{\n    id: \"\", // Unique ID for this entry in the merchandise table\n    name: \"\", // Merch item name\n    category: \"\", // Merch item category\n    price: 0.0, // Sale price in dollars\n    cost: 0.0, // Merchandise cost in dollars (likely not used for mailboxes)\n    barcode: \"\", // Barcode/UPC (likely not used for mailboxes)\n    tax: 0.0, // Sales tax rate\n    rentaldays: 30, // Number of days this item adds to a mailbox (mutually exclusive with rentalmonths)\n    rentalmonths: 1, // Number of months (mutually exclusive with rentaldays)\n    boxsize: \"1\" // Mailbox size tier, 1-10\n}]\n

    "},{"location":"Plugin%20API/pos/","title":"Pos","text":""},{"location":"Plugin%20API/pos/#pos-object","title":"pos : object","text":"

    Point of Sale, transaction, and payment-related functionality.

    Kind: global namespace

    • pos : object
      • .ReceiptItem
        • new ReceiptItem(id, label, text, priceEach, quantity, cost, taxrate, taxableAmount)
      • .ReceiptPayment
        • new ReceiptPayment(amount, type, text)
      • .addReceiptItem(item)
      • .addReceiptPayment(payment)
      • .addOnscreenPaymentLog(msg)
      • .getReceiptID() \u21d2 string
      • .onReceiptChange(f)
      • ~~.onTransactionFinished(f)~~
      • .registerCardProcessor(f)
      • .registerCryptoProcessor(f)
      • .getShippingSalesTax() \u21d2 Object

    "},{"location":"Plugin%20API/pos/#posreceiptitem","title":"pos.ReceiptItem","text":"

    Kind: static class of pos Properties

    Name Type Default Description merch boolean false True if merchandise, false if shipping. barcode string Item barcode, or tracking number if merch = false. qty number 1 Item quantity. retailPrice number The calculated retail/markup price for a shipment, regardless of actual sale price. If unset, defaults to priceEach * qty. taxRate number 0 Tax rate toAddress Address Shipping destination address. fromAddress Address Shipping return address. carrier string Shipping carrier. service string Shipping service. category string Merchandise/item category. electronicReturnReceipt boolean false If true, the customer's receipt will have instructions on retrieveing the return receipt from USPS. mailboxDays number 0 Number of days this item adds to a mailbox's expiration date. mailboxMonths number 0 Number of months this item adds to a mailbox's expiration date. mailboxNumber string Mailbox number to apply mailboxDays or mailboxMonths to after checkout. setCertifiedInfo() function Set Certified Mail receipt data. setCertifiedInfo(trackingNumber, certfee, extrafees, postage, date, location, toaddress) toJSON() function Get the item as an object suitable for JSON encoding. fromJSON(json) static_function Returns a ReceiptItem created from the object returned by item.toJSON().

    "},{"location":"Plugin%20API/pos/#new-receiptitemid-label-text-priceeach-quantity-cost-taxrate-taxableamount","title":"new ReceiptItem(id, label, text, priceEach, quantity, cost, taxrate, taxableAmount)","text":"

    A class representing a sale item in the current transaction.

    Param Type Default Description id string Unique ID number for this item (UPC code, inventory number, etc). Used to deduplicate and merge line items on the receipt. Unique items (like shipping labels) should be a unique/random ID. label string One-line item information. text string Extra multi-line item information. priceEach number Sale price per unit. quantity number Number of units. cost number Cost per unit. Used for automatic expense tracking. taxrate number 0.0 Examples: 0 (for 0%), 0.05 (for 5%), etc taxableAmount string The part of the sale price that's taxable. \"\" for default (all), \"markup\" for only taxing profit.

    "},{"location":"Plugin%20API/pos/#posreceiptpayment","title":"pos.ReceiptPayment","text":"

    Kind: static class of pos Properties

    Name Type Description label string (readonly) The human-readable string of the payment type. id string Automatically-generated unique ID for this payment. toJSON() function Get the payment as an object suitable for JSON encoding. fromJSON(json) static_function Returns a ReceiptPayment created from the object returned by payment.toJSON().

    "},{"location":"Plugin%20API/pos/#new-receiptpaymentamount-type-text","title":"new ReceiptPayment(amount, type, text)","text":"

    A class representing a payment entry for the current transaction.

    Param Type Description amount number amount paid type string payment type text string extra data (credit card info, etc)

    "},{"location":"Plugin%20API/pos/#posaddreceiptitemitem","title":"pos.addReceiptItem(item)","text":"

    Add an item (shipment, merchandise, etc) to the current transaction.

    Kind: static method of pos

    Param Type item ReceiptItem

    "},{"location":"Plugin%20API/pos/#posaddreceiptpaymentpayment","title":"pos.addReceiptPayment(payment)","text":"

    Add a payment to the current transaction/receipt.

    Kind: static method of pos

    Param Type payment ReceiptPayment

    "},{"location":"Plugin%20API/pos/#posaddonscreenpaymentlogmsg","title":"pos.addOnscreenPaymentLog(msg)","text":"

    Append a line of text to the onscreen log displayed during credit card processing. Not shown in kiosk mode.

    Kind: static method of pos

    Param Type Description msg string Line of text to add to the log.

    "},{"location":"Plugin%20API/pos/#posgetreceiptid-string","title":"pos.getReceiptID() \u21d2 string","text":"

    Get the unique alphanumeric ID for the current transaction/receipt. This is the same code printed on receipts and used in digital receipt URLs.

    Kind: static method of pos

    "},{"location":"Plugin%20API/pos/#posonreceiptchangef","title":"pos.onReceiptChange(f)","text":"

    Specify a function to be called whenever the transaction data/receipt is changed. It is passed a single argument, a Receipt object containing the entire transaction so far.

    Kind: static method of pos

    Param Type f function

    "},{"location":"Plugin%20API/pos/#posontransactionfinishedf","title":"~~pos.onTransactionFinished(f)~~","text":"

    Deprecated

    The supplied function will be called when a transaction is finished. It is passed a single argument, a Receipt object containing the entire transaction. Recommended to listen for the transactionFinished event instead.

    Kind: static method of pos

    Param Type f function

    "},{"location":"Plugin%20API/pos/#posregistercardprocessorf","title":"pos.registerCardProcessor(f)","text":"

    Register as a card payment processor.

    Kind: static method of pos

    Param Type Description f Object Payment processor functions

    Example

    global.apis.pos.registerCardProcessor({\n    name: \"Demo Card Processor\", // Shown in PostalPoint settings menu\n    init: async function () {\n        // This will run after PostalPoint launches\n        // and before any payments are processed.\n        // In some situations it might run multiple times in a session.\n    },\n    checkout: async function ({amount, capture = true}) {\n        // Charge a credit card using a card reader device.\n        // amount is in pennies (or the equivalent base unit in the local currency).\n\n        // Add a payment to the receipt with the total amount paid, card details, etc.\n        global.apis.pos.addReceiptPayment(\n            new global.apis.pos.ReceiptPayment(\n                global.apis.i18n.currencyMinorToMajor(amount),\n                \"card\", // Payment type. Accepted values are card, ach, crypto, cash,\n                // check, account, and free.  Other types will be displayed as-is.\n                \"Demo Card\\nCardholder Name, etc\\nMore info for receipt\" // Additional text for receipt\n            )\n        );\n\n\n        // Must return boolean false if the payment failed.\n        // Otherwise it will be assumed it succeeded.\n        // If an error is encountered, handle it and return false.\n        // It's recommended to display a short \"payment failed\" error\n        // message via global.apis.alert, and outputting more details\n        // via global.apis.pos.addOnscreenPaymentLog.\n\n        // If capture is false, perform an authorization but don't capture,\n        // and return a value you can use to identify the authorization later\n        // and complete it.  The value will be passed back to finishPayment, below.\n        // This is used mainly for the self-serve kiosk mode, in case the label fails\n        // to be purchased/generated by the carrier.\n    },\n    cancelCheckout: function () {\n        // The user has requested the card transaction be canceled before it completes.\n        // Reset the terminal to its resting state, clear its screen, etc.\n    },\n    finishPayment: async function ({checkoutResponse}) {\n        // Finish a payment that was authorized but not captured\n        // because checkout() was called with capture = false.\n        // If payment was already captured and added\n        // to the receipt, just return true.\n        global.apis.pos.addReceiptPayment(\n            new global.apis.pos.ReceiptPayment(\n                global.apis.i18n.currencyMinorToMajor(amount),\n                \"card\",\n                \"Demo Card\\nCardholder Name, etc\\nMore info for receipt\"\n            )\n        );\n    },\n    updateCartDisplay: function (receipt) {\n        // Show transaction data on the card reader display.\n        // This function is called when the \"cart\" or total changes.\n        // `receipt` is a receipt object, see docs for details.\n    },\n    checkoutSavedMethod: async function ({customerID, paymentMethodID, amount}) {\n        // Same as checkout() except using a payment method already on file.\n        // customerID and paymentMethodID are provided by getSavedPaymentMethods below.\n\n        // Must return true upon success.\n        // If the payment is not successful, and you didn't throw an Error to show the user,\n        // then `return false` instead and it'll appear that the user's action to start the payment did nothing.\n        return true;\n    },\n    saveCardForOfflineUse: async function ({statusCallback, customerUUID, name,\n             company, street1, street2, city, state, zip, country, email, phone}) {\n        // Use the card reader to capture an in-person card and save it for offline use.\n        // Provided details are the customer's info, which might be empty strings except for the customerUUID.\n        // Saved card details must be tied to the customerUUID, as that's how saved cards are looked up.\n\n        // statusCallback(string, boolean) updates the progress message on the cashier's screen.\n        // If the boolean is true, the progress message is replaced with a confirmation message.\n        statusCallback(\"Saving card details...\", false);\n\n        return true; // Card saved to customer\n        // If an error occurred, you can throw it and the error\n        // message will be displayed to the cashier.\n        // Alternatively, return boolean false and display the error\n        // yourself with global.apis.alert(message, title) or something.\n    },\n    cancelSaveCardForOfflineUse: function () {\n        // Cancel the process running in saveCardForOfflineUse() at the user/cashier's request.\n    },\n    getSavedPaymentMethods: async function ({customerUUID}) {\n        // Return all saved payment methods tied to the provided customer UUID.\n        return [{\n            customer: \"<internal string referencing the customer>\", // Passed to checkoutSavedMethod as customerID\n            customer_uuid: customerUUID,\n            id: \"<card/payment method identifier>\", // Passed to checkoutSavedMethod as paymentMethodID\n            type: \"card\", // Payment type. Accepted values are card, ach, crypto, cash, check, account, and free.\n            label: \"Visa debit x1234 (exp. 12/29)\", // Label for payment method\n            label_short: \"Visa debit x1234\" // Abbreviated label for payment method\n        }];\n    },\n    deleteSavedPaymentMethod: async function ({customerUUID, customerID, paymentMethodID}) {\n        // Delete the payment method identified by paymentMethodID\n        // and tied to the PostalPoint customerUUID and the card processor customerID.\n        // If unable to delete, throw an error and the error message\n        // will be displayed to the cashier.\n    }\n});\n

    "},{"location":"Plugin%20API/pos/#posregistercryptoprocessorf","title":"pos.registerCryptoProcessor(f)","text":"

    Register as a cryptocurrency payment processor.

    Kind: static method of pos

    Param Type Description f Object Payment processor functions

    Example

    global.apis.pos.registerCryptoProcessor({\n    name: \"Demo Crypto\", // Shown in PostalPoint settings menu\n    init: async function () {\n        // This is run after PostalPoint starts,\n        // and before any other crypto functions are called.\n    },\n    checkout: async function ({amount}) {\n        // Run the checkout process.\n        // amount is the amount of fiat currency to collect,\n        // in pennies (or the local equivalent).\n\n        // If an error is encountered during processing,\n        //    display an error message in a dialog and return boolean false.\n        //    If this function returns anything except false or undefined,\n        //    and doesn't throw an error,\n        //    it is assumed the payment was successful.\n\n        // Adds a line of text visible to the cashier\n        global.apis.pos.addOnscreenPaymentLog(\"Getting crypto payment...\");\n\n        // Display a web page (i.e. with a payment QR code)\n        // to the customer on the customer-facing display.\n        global.apis.ui.setCustomerScreen(\"<html></html>\", \"html\");\n        global.apis.ui.setCustomerScreen(\"https://postalpoint.app\", \"raw\");\n\n        // Poll the status of the crypto transaction\n        var paymentComplete = false;\n        do {\n            await global.apis.util.delay(1000);\n            paymentComplete = true;\n        } while (paymentComplete != true);\n\n        global.apis.pos.addReceiptPayment(\n                new global.apis.pos.ReceiptPayment(\n                        global.apis.i18n.currencyMinorToMajor(amount),\n                        \"crypto\", // Payment type.\n                        \"Bitcoin\\n0.00001234 BTC\" // Additional text for receipt\n                        )\n                );\n        global.apis.pos.addOnscreenPaymentLog(\"Payment successful!\");\n        global.apis.ui.clearCustomerScreen();\n    },\n    cancelCheckout: function () {\n        // The user requested to cancel the payment.\n        // Reset things accordingly.\n        global.apis.ui.clearCustomerScreen();\n    },\n    isConfigured: function () {\n        // Is this plugin properly setup\n        // and able to process payments?\n        // If not, return false.\n        // This determines if the crypto payment method button will be shown.\n        return true;\n    }\n});\n

    "},{"location":"Plugin%20API/pos/#posgetshippingsalestax-object","title":"pos.getShippingSalesTax() \u21d2 Object","text":"

    Get the sales tax percentage to charge on a shipping service ReceiptItem.

    Kind: static method of pos Returns: Object - {type: \"\", percent: 0.15} type is an empty string for taxing the entire price, or \"markup\" for only adding tax to the markup amount. percent is the tax percentage. A value of 0.15 means a 15% tax.

    "},{"location":"Plugin%20API/print/","title":"Print","text":""},{"location":"Plugin%20API/print/#print-object","title":"print : object","text":"

    Printing to connected printers

    Kind: global namespace

    • print : object
      • .printLabelImage(image)
      • .getReceiptPrinter() \u21d2 Promise.<Object>
      • .printReceiptData(data)
      • .imageToBitmap(jimpImage, [dpiFrom], [dpiTo]) \u21d2 Object

    "},{"location":"Plugin%20API/print/#printprintlabelimageimage","title":"print.printLabelImage(image)","text":"

    Print a 300 DPI image on the shipping label printer, centered on a 4x6 inch label. Image is automatically scaled to 200 DPI if required by the printer.

    Kind: static method of print

    Param Type Description image ArrayBuffer | Buffer | Uint8Array | string | Jimp image data, as a Jimp image object, raw PNG bytes, or a URL (http/https) string. 1200x1800 or 800x1200 images are scaled to 4x6 inches. Other image sizes are assumed to be 300 DPI and are centered on the shipping label. Image orientation is rotated to match the label orientation.

    "},{"location":"Plugin%20API/print/#printgetreceiptprinter-promiseobject","title":"print.getReceiptPrinter() \u21d2 Promise.<Object>","text":"

    Get the receipt printer interface. See the ReceiptPrinter docs for available functions.

    Kind: static method of print

    "},{"location":"Plugin%20API/print/#printprintreceiptdatadata","title":"print.printReceiptData(data)","text":"

    Send raw data (generated by the printer interface) to the receipt printer.

    Kind: static method of print

    Param Type Description data string | Uint8Array | Array.<string> | Array.<Uint8Array> Data to send to printer.

    "},{"location":"Plugin%20API/print/#printimagetobitmapjimpimage-dpifrom-dpito-object","title":"print.imageToBitmap(jimpImage, [dpiFrom], [dpiTo]) \u21d2 Object","text":"

    Convert a Jimp image object to 1-bit monochrome image data before sending image data to a printer interface. Optionally scales the image to a different DPI before conversion.

    Kind: static method of print Returns: Object - - Example: {width: 300, height: 200, img: Uint8Array}. Pass img to drawImage on a printer interface.

    Param Type Default Description jimpImage Jimp [dpiFrom] number 300 Original image DPI. [dpiTo] number 300 New image DPI."},{"location":"Plugin%20API/reports/","title":"Reports","text":""},{"location":"Plugin%20API/reports/#reports-object","title":"reports : object","text":"

    Define custom reports for the user.

    Kind: global namespace

    "},{"location":"Plugin%20API/reports/#reportsregisterreportname-onloadstartdateenddate-date","title":"reports.registerReport(name, onload(startDate,endDate), date)","text":"

    Kind: static method of reports

    Param Type Description name string Report name onload(startDate,endDate) function Called when the report is loaded, with start and end Date objects. See example. date boolean If the report requires a date range be selected.

    Example

    global.apis.reports.registerReport(\"sample\", function (startDate, endDate) {\n\n // Note about column datatypes:\n // Use \"string\" for the datatype, except for the special cases listed here.\n // Other datatypes may be added in the future, so use \"string\"\n // unless you like unexpected behavior!\n //\n // datetime:   Column is a UNIX timestamp (in seconds).\n //             It is displayed as a formatted date and time string.\n // receiptid:  Column is a PostalPoint receipt ID number. Displayed as a link.\n //             Clicking the ID will fetch and open the receipt in a popup.\n // userid:     Column contains an employee ID number from the PostalPoint database.\n //             It is queried in the database and replaced with the employee's name,\n //             or with an empty string if the ID lookup has no results.\n // money:      Column is a number that will be formatted as currency for display.\n // percent:    Column is a percent value (as 12.3, not .123) and will be formatted\n //             with a trailing % sign and rounded to two decimal places.\n\n // Single-table report\n return {\n   table: {\n     header: [\"Column 1\", \"Column 2\"],\n     datatypes: [\"string\", \"string\"],\n     rows: [\n       [\"Row 1 Col 1\", \"Row 1 Col 2\"],\n       [\"Row 2 Col 1\", \"Row 2 Col 2\"]\n     ]\n   }\n };\n\n // Multiple-table report\n return {\n    multitable: true,\n    table: {\n      titles: [\"Report 1 Title\", \"Report 2 Title\"],\n      header: [[\"Report 1 Column 1\", \"Report 1 Column 2\"], [\"Report 2 Column 1\", ...]],\n      datatypes: [[\"string\", \"string\"], [\"string\", \"string\"]],\n      rows: [\n        [\n          [\"Report 1 Row 1 Col 1\", \"Report 1 Row 1 Col 2\"],\n          [\"Report 1 Row 2 Col 1\", \"Report 1 Row 2 Col 2\"]\n        ],\n        [\n          [\"Report 2 Row 1 Col 1\", \"Report 2 Row 1 Col 2\"],\n          [\"Report 2 Row 2 Col 1\", \"Report 2 Row 2 Col 2\"]\n        ]\n      ]\n    }\n  }\n}, true);\n

    "},{"location":"Plugin%20API/settings/","title":"Settings","text":""},{"location":"Plugin%20API/settings/#settings-object","title":"settings : object","text":"

    PostalPoint provides a UI for user-configurable plugin settings. See exports.config in examples/basic-demo/plugin.js for details. Settings are typically very short strings. Do not store data in settings. For data storage, see Storing Data. Non-string settings values are transparently converted to/from JSON objects. Use a unique key name prefix for your plugin to prevent key name conflicts. Reverse domain style is recommended (i.e. \"com.example.pluginname.keyname\").

    Kind: global namespace

    • settings : object
      • .get(key, defaultValue) \u21d2 *
      • .set(key, value)

    "},{"location":"Plugin%20API/settings/#settingsgetkey-defaultvalue","title":"settings.get(key, defaultValue) \u21d2 *","text":"

    Get a setting.

    Kind: static method of settings

    Param Type Description key string Setting key/ID defaultValue * Value to return if setting has no stored value.

    "},{"location":"Plugin%20API/settings/#settingssetkey-value","title":"settings.set(key, value)","text":"

    Set a setting.

    Kind: static method of settings

    Param Type Description key string Setting key/ID value string Value to set."},{"location":"Plugin%20API/shipping/","title":"Shipping","text":""},{"location":"Plugin%20API/shipping/#shipping-object","title":"shipping : object","text":"

    Add custom carrier and rates, and adjust markup.

    Kind: global namespace

    • shipping : object
      • .Address
        • new Address()
      • .getZIPCode(zipcode, country) \u21d2 Object
      • .getPackagingByID(id) \u21d2 Promise.<Object>
      • .getRetailPriceWithMarkup(cost, retail, carrier, service, weightOz, packaging) \u21d2 Promise.<number>
      • .getCarrierName(carrierId) \u21d2 string
      • .getServiceName(serviceId, carrier) \u21d2 string
      • .registerRateEndpoint(getRates, purchase, idPrefix)
      • .registerMarkupCalculator(markupFn)
      • .registerInsuranceProvider(id, name, cardText, maxValue, getQuote, insure)

    "},{"location":"Plugin%20API/shipping/#shippingaddress","title":"shipping.Address","text":"

    Kind: static class of shipping

    "},{"location":"Plugin%20API/shipping/#new-address","title":"new Address()","text":"

    A class representing an address.

    "},{"location":"Plugin%20API/shipping/#shippinggetzipcodezipcode-country-object","title":"shipping.getZIPCode(zipcode, country) \u21d2 Object","text":"

    Get data for a ZIP Code.

    Kind: static method of shipping Returns: Object - Data about the ZIP code. See example. Fields may be empty if not available. Type may be \"STANDARD\", \"UNIQUE\", \"PO BOX\", or \"MILITARY\".

    Param Type Default Description zipcode string ZIP or postal code. country string \"US\" Currently only \"US\" and \"CA\" are supported.

    Example

    {city: \"NEW YORK\", state: \"NY\", type: \"STANDARD\"}\n

    "},{"location":"Plugin%20API/shipping/#shippinggetpackagingbyidid-promiseobject","title":"shipping.getPackagingByID(id) \u21d2 Promise.<Object>","text":"

    Get a parcel's packaging type from PostalPoint's internal ID for it.

    Kind: static method of shipping Returns: Promise.<Object> - See examples.

    Param Type id number

    Example

    {\n    id: 100,\n    type: \"Parcel\",\n    img: \"box.png\",\n    name: \"Box\",\n    service: \"\",\n    l: -1,\n    w: -1,\n    h: -1,\n    weight: true,\n    hazmat: true,\n    source: \"Customer\"\n}\n
    Example
    {\n    id: 1,\n    type: \"FlatRateEnvelope\",\n    img: \"pm-fres.png\",\n    name: \"Flat Rate Envelope\",\n    service: \"Priority\",\n    l: -2,\n    w: -2,\n    h: -2,\n    weight: false,\n    hazmat: true,\n    usps_supplied: true,\n    envelope: true,\n    source: \"USPS\",\n    skus: [\"PS00001000014\", \"PS00001000012\", \"PS00001000027\", \"PS00001000064\", \"PS00001001921\", \"PS00001035000\", \"PS00001036014\", \"PS00001128600\", \"https://qr.usps.com/epsspu?p=30\", \"https://qr.usps.com/epsspu?p=8\"]\n}\n
    Example
    {\n    id: 201,\n    type: \"UPSLetter\",\n    img: \"ups-env.png\",\n    name: \"Envelope\",\n    carrier: \"UPS\",\n    l: -2,\n    w: -2,\n    h: -2,\n    weight: true,\n    hazmat: true,\n    source: \"OtherCarrier\"\n}\n

    "},{"location":"Plugin%20API/shipping/#shippinggetretailpricewithmarkupcost-retail-carrier-service-weightoz-packaging-promisenumber","title":"shipping.getRetailPriceWithMarkup(cost, retail, carrier, service, weightOz, packaging) \u21d2 Promise.<number>","text":"

    Calculate the retail price for a shipment rate based on the configured margin settings.

    Kind: static method of shipping Returns: Promise.<number> - The amount to charge the customer

    Param Type Description cost number Cost of shipment to business retail number Default retail price from label provider carrier string Shipment carrier service string Shipment service weightOz number The weight of the shipment in ounces, or null if not available. packaging string An empty string if not available, or \"Letter\", \"FlatRateEnvelope\", etc.

    "},{"location":"Plugin%20API/shipping/#shippinggetcarriernamecarrierid-string","title":"shipping.getCarrierName(carrierId) \u21d2 string","text":"

    Converts the carrier ID string into a consistent and human-readable name.

    Kind: static method of shipping

    Param Type carrierId string

    "},{"location":"Plugin%20API/shipping/#shippinggetservicenameserviceid-carrier-string","title":"shipping.getServiceName(serviceId, carrier) \u21d2 string","text":"

    Converts the service ID string into a consistent and human-readable name. Set the carrier ID for better results.

    Kind: static method of shipping

    Param Type Default serviceId string carrier string \"USPS\"

    "},{"location":"Plugin%20API/shipping/#shippingregisterrateendpointgetrates-purchase-idprefix","title":"shipping.registerRateEndpoint(getRates, purchase, idPrefix)","text":"

    Register the plugin as a shipping rate and label provider. See the Shipping example plugin.

    Kind: static method of shipping

    Param Type Description getRates function A function passed a Parcel object to get rates for. Returns a Promise that resolves to an array of rate objects. purchase function A function passed a rate ID to purchase. Returns a Promise that resolves to the label information. idPrefix string A unique string that will be prefixing all rate IDs from this plugin.

    Example

    // getRates sample return value:\n[{\n    rateid: `${idPrefix}_${global.apis.util.uuid.v4()}`,\n    carrier: \"CarrierID\",\n    carrierName: \"Carrier Name\",\n    service: \"CARRIER_SERVICE_ID\",\n    cost_rate: 10,\n    retail_rate: 15,\n    delivery_days: 3,\n    delivery_date: null,\n    guaranteed: true,\n    serviceName: \"Service Name\",\n    color: \"green\" // Rate card color\n}]\n
    Example
    // purchase sample return value:\n{\n    label: labelImageToPrint,\n    labeltype: \"PNG\",\n    receiptItem: ReceiptItem,\n    tracking: \"12345678901234567890\",\n    cost: 10.0,\n    price: 15.0,\n    carrier: \"Carrier Name\",\n    service: \"Service Name\",\n    delivery_days: 3,\n    delivery_date: 1234567890, // UNIX timestamp\n    to: toAddressLines // Array of strings\n}\n

    "},{"location":"Plugin%20API/shipping/#shippingregistermarkupcalculatormarkupfn","title":"shipping.registerMarkupCalculator(markupFn)","text":"

    Register the plugin to modify PostalPoint's shipping markup calculation during shipment rating.

    Kind: static method of shipping Throws:

    • Error Only one plugin may register with this function; any subsequent attempts to register will throw an Error.
    Param Type Description markupFn function A function that must return either the retail price to charge for this rate, or false to opt-out of setting this particular rate.

    Example

    global.apis.shipping.registerMarkupCalculator(\n    // Parameters:\n    // cost:       Cost to shipper\n    // retail:     Carrier-suggested retail price\n    // suggested:  PostalPoint-suggested retail (default margin calc)\n    // carrier:    Shipping carrier name\n    // service:    Shipping service code\n    // weightOz:   The weight of the shipment in ounces, or null if not available.\n    // packaging:  An empty string if not available, or \"Letter\", \"FlatRateEnvelope\", etc. See https://docs.easypost.com/docs/parcels#predefined-package\n    // parcel:     The Parcel object for this shipment.  May be null for some rate-only requests without a shipment, such as USPS price calculations.\n    function (cost, retail, suggested, carrier, service, weightOz, packaging, parcel) {\n        if (carrier == \"USPS\") {\n            if (service == \"First-Class Mail\") {\n                // Handle First-Class Mail differently if it's a 1oz letter (i.e. Forever stamp)\n                if (weightOz <= 1 && packaging == \"Letter\") {\n                    return retail + 0.05;\n                } else {\n                    return retail + 0.25;\n                }\n            }\n            // Handle flat rate envelopes differently\n            if (global.apis.shipping.getServiceName(service, carrier) == \"Priority Mail\" && packaging == \"FlatRateEnvelope\") {\n                return retail + 1.0;\n            }\n            return suggested + 2.0; // Charge the PostalPoint-calculated amount plus $2\n        } else {\n            return cost * 2; // Charges the customer double the shipment's cost.\n        }\n    }\n);\n

    "},{"location":"Plugin%20API/shipping/#shippingregisterinsuranceproviderid-name-cardtext-maxvalue-getquote-insure","title":"shipping.registerInsuranceProvider(id, name, cardText, maxValue, getQuote, insure)","text":"

    Add a shipping insurance provider.

    Kind: static method of shipping

    Param Type Description id string | null Unique ID for the provider. Will be autogenerated if null. name string Human-readable name for the provider. Shown as the card heading on the Insurance section of the Ship screen. cardText string Text or HTML to display on the Ship screen card for this provider. maxValue number The largest number that will be accepted for the \"Insured for\" value. getQuote function Returns the cost and retail price for insuring the parcel, or a Promise that resolves into the same. See the example for details. insure function Insure the parcel and add the insurance details to the receipt. See example.

    Example

    async function getQuote(value, parcel, carrier, service) {\n    // Do math, etc\n    var cost = value / 100;\n\n    return {\n        cost: cost,\n        retail: cost * 2\n    };\n    // Or, to remove this shipping rate from the list,\n    // because the shipment/carrier/service combination\n    // is not eligible for insurance:\n    return false;\n}\n\nasync function insure(value, parcel, carrier = \"USPS\", service = \"Priority\", trackingNumber = \"94055...\") {\n    // Purchase the insurance\n    var cost = value / 100;\n    var retailPrice = cost * 2;\n    var costPrice = cost;\n\n    var receiptitem = new global.apis.pos.ReceiptItem(`sampleinsurance_${trackingNumber}`,\n        \"Sample Insurance\",\n        \"Insured for \" + global.apis.i18n.moneyString(value),\n        retailPrice, 1, costPrice, 0\n    );\n    receiptitem.merch = true;\n    receiptitem.category = \"Shipping Insurance\";\n    receiptitem.barcode = trackingNumber;\n    global.apis.pos.addReceiptItem(receiptitem);\n}\n\nglobal.apis.shipping.registerInsuranceProvider(\n     \"sampleproviderid\", \"Sample Insurance\",\n     \"Insurance coverage from Sample Insurance. $1 per $100 of value.\",\n     5000, getQuote, insure);\n

    "},{"location":"Plugin%20API/storage/","title":"Storage","text":""},{"location":"Plugin%20API/storage/#storage-object","title":"storage : object","text":"

    Get and set data.

    Kind: global namespace

    • storage : object
      • .getSmall(key, defaultValue) \u21d2 *
      • .setSmall(key, value)
      • .getBig(key, defaultValue)
      • .setBig(key, value)
      • .getDB(key, defaultValue) \u21d2 Promise.<*>
      • .setDB(key, value) \u21d2 Promise

    "},{"location":"Plugin%20API/storage/#storagegetsmallkey-defaultvalue","title":"storage.getSmall(key, defaultValue) \u21d2 *","text":"

    Get a value from the small data storage, using localStorage or a similar mechanism (may change in the future).

    Kind: static method of storage

    Param Type Description key string Storage item key/ID defaultValue * Value to return if the item key doesn't have a stored value.

    "},{"location":"Plugin%20API/storage/#storagesetsmallkey-value","title":"storage.setSmall(key, value)","text":"

    Set a value in the small data storage, using localStorage or a similar mechanism (may change in the future).

    Kind: static method of storage

    Param Type Description key string Storage item key/ID value * Value to store.

    "},{"location":"Plugin%20API/storage/#storagegetbigkey-defaultvalue","title":"storage.getBig(key, defaultValue)","text":"

    Get a value in the large data storage. Unserialized from a JSON file on disk.

    Kind: static method of storage

    Param Type Description key string Storage item key/ID defaultValue * Value to return if the item key doesn't have a stored value.

    "},{"location":"Plugin%20API/storage/#storagesetbigkey-value","title":"storage.setBig(key, value)","text":"

    Set a value in the large data storage. Serialized to JSON and stored on disk as a file.

    Kind: static method of storage

    Param Type Description key string Storage item key/ID value * Value to store.

    "},{"location":"Plugin%20API/storage/#storagegetdbkey-defaultvalue-promise","title":"storage.getDB(key, defaultValue) \u21d2 Promise.<*>","text":"

    Get a value from the database storage. Unlike other storage types, values in the database are available on all PostalPoint installations in a single location.

    Kind: static method of storage

    Param Type Description key string Storage item key/ID defaultValue * Value to return if the item key doesn't have a stored value.

    "},{"location":"Plugin%20API/storage/#storagesetdbkey-value-promise","title":"storage.setDB(key, value) \u21d2 Promise","text":"

    Set a value in the database storage. Non-string values are serialized to JSON. Unlike other storage types, values in the database are available on all PostalPoint installations in a single location.

    Kind: static method of storage

    Param Type Description key string Storage item key/ID value * Value to store."},{"location":"Plugin%20API/ui/","title":"Ui","text":""},{"location":"Plugin%20API/ui/#ui-object","title":"ui : object","text":"

    Interact with and modify the PostalPoint user interface.

    Kind: global namespace

    • ui : object
      • .addToolsPage(page, title, id, description, cardTitle, icon, type)
      • .addHomeTab(content, title, icon, id) \u21d2 undefined
      • .showProgressSpinner(title, text, subtitle) \u21d2 undefined
      • .hideProgressSpinner()
      • .openSystemWebBrowser(url)
      • .openInternalWebBrowser(url)
      • .clearCustomerScreen()
      • .setCustomerScreen(content, type, displayInCard, cardSize, displayStatusBar)
      • .collectSignatureFromCustomerScreen(title, terms, termstype)
      • .cancelSignatureCollection()
      • .clearSignaturePad()
      • .getCustomerDisplayInfo() \u21d2 Object

    "},{"location":"Plugin%20API/ui/#uiaddtoolspagepage-title-id-description-cardtitle-icon-type","title":"ui.addToolsPage(page, title, id, description, cardTitle, icon, type)","text":"

    Add a page to the Tools screen. If type is set to \"function\", the page argument will be run as a function and will not be expected to return a page component. Framework7 Page Component documentation

    Kind: static method of ui

    Param Type Default Description page string | function Page content as a Framework7 component page. If page is a string ending in .f7 it is treated as a file path and the page content will be loaded from disk. If page is any other string, it is treated as the page content. If page is a function, it will be called and must return the page content (unless type is set to \"function\", see examples) title string Page title. id string Page ID. Make it unique, or pass an empty string to be assigned a random ID. description string Description of this tool for its card on the Tools screen. cardTitle string Title of the card for this page on the Tools screen. icon string FontAwesome icon class, for example, \"fa-solid fa-globe\". FontAwesome Pro solid, regular, light, and duotone icons are available. type string \"page\" What kind of data is supplied by page: \"page\" or \"function\".

    Example

    // Full plugin that displays an alert when the card is clicked on the Tools page\nexports.init = function () {\n    global.apis.ui.addToolsPage(\n                                 displayMessage,\n                                 \"click me\",\n                                 \"clickmecard\",\n                                 \"Click here to see a message\",\n                                 \"Click This Card\",\n                                 \"fa-solid fa-arrow-pointer\",\n                                 \"function\"\n                               );\n}\n\nfunction displayMessage() {\n    global.apis.alert(\"Card clicked\");\n}\n
    Example
    // Open a dynamically-generated page\nfunction rollDice() {\n    var randomNumber = Math.round(Math.random() * 6) + 1;\n    return `<div class=\"page\">\n        <div class=\"navbar\">\n            <div class=\"navbar-bg\"></div>\n            <div class=\"navbar-inner\">\n                <a href=\"#\" class=\"link back\">\n                    <i class=\"icon icon-back\"></i>\n                </a>\n                <div class=\"title\">Random Number</div>\n            </div>\n        </div>\n        <div class=\"page-content\">\n            <div class=\"block\">\n                <h1>You rolled ${randomNumber}</h1>\n            </div>\n        </div>\n    </div>`;\n}\nglobal.apis.ui.addToolsPage(\n                             rollDice,\n                             \"Random\",\n                             \"randomnumbercard\",\n                             \"Click here for a random number\",\n                             \"Random Number\",\n                             \"fa-regular fa-dice\",\n                             \"page\"\n                           );\n
    Example
    // Open a page from a file.\n// See https://framework7.io/docs/router-component#single-file-component\nglobal.apis.ui.addToolsPage(\n                             global.apis.getPluginFolder(\"example-plugin\") + \"/page.f7\",\n                             \"Page\",\n                             \"filepage\",\n                             \"Open page.f7 from the plugin installation folder\",\n                             \"Open Custom Page\",\n                             \"fa-regular fa-file\",\n                             \"page\"\n                           );\n

    "},{"location":"Plugin%20API/ui/#uiaddhometabcontent-title-icon-id-undefined","title":"ui.addHomeTab(content, title, icon, id) \u21d2 undefined","text":"

    Add a custom tab to the PostalPoint home screen. Works almost the same as addToolsPage.

    Kind: static method of ui

    Param Type Description content string | function Tab content. It is rendered/processed when the user navigates to the Home screen and clicks the tab; if the user navigates to a different screen and back to Home, it will be re-rendered. If content is a string ending in .f7 it is treated as a file path and the content will be loaded from disk. If content is any other string, it is treated as the content. If content is a function, it will be called and must return the content. title string Tab title. Keep it short; depending on screen size and tab count, you have as little as 150px of space. icon string FontAwesome icon displayed above the tab title. id string Tab ID. Make it unique, or pass an empty string to be assigned a random ID. If addHomeTab is called with a tab ID that is already registered, it will be overwritten.

    Example

    global.apis.ui.addHomeTab(\"<div class='block'>Hello</div>\", \"Hello Tab\", \"fa-duotone fa-hand-wave\", \"hellotab\");\n
    Example
    function renderTab() {\n    return \"<template><div><h1>${hellovar}</h1></div></template><script>export default (props, {$on, $update, $f7}) => {var hellovar = 'hello world'; return $render;}</script>\";\n}\nglobal.apis.ui.addHomeTab(renderTab, \"Hello Template\", \"fa-duotone fa-file-code\", \"hellotemplatetab\");\n

    "},{"location":"Plugin%20API/ui/#uishowprogressspinnertitle-text-subtitle-undefined","title":"ui.showProgressSpinner(title, text, subtitle) \u21d2 undefined","text":"

    Show a notification with a loading icon.

    Kind: static method of ui

    Param Type Description title string The message to show on the spinner. text string Optional. Body text on the spinner. subtitle string Optional. Sub-heading under the title.

    "},{"location":"Plugin%20API/ui/#uihideprogressspinner","title":"ui.hideProgressSpinner()","text":"

    Close the notification opened by showProgressSpinner.

    Kind: static method of ui

    "},{"location":"Plugin%20API/ui/#uiopensystemwebbrowserurl","title":"ui.openSystemWebBrowser(url)","text":"

    Open the native OS default browser to the URL given.

    Kind: static method of ui

    Param Type url string

    "},{"location":"Plugin%20API/ui/#uiopeninternalwebbrowserurl","title":"ui.openInternalWebBrowser(url)","text":"

    Open a web browser inside PostalPoint. The browser has forward/back/close buttons.

    Kind: static method of ui

    Param Type url string

    Example

    global.apis.ui.openInternalWebBrowser(\"https://postalpoint.app\");\nglobal.apis.eventbus.on(\"browserNavigate\", function (newUrl) {\n    global.apis.alert(`New URL: ${newUrl}`, \"Browser Navigated\");\n    if (newUrl == \"https://closeme.com\") {\n        global.apis.eventbus.emit(\"browserCloseRequest\");\n    }\n});\n

    "},{"location":"Plugin%20API/ui/#uiclearcustomerscreen","title":"ui.clearCustomerScreen()","text":"

    Clear any custom content on the customer-facing display, defaulting back to blank/receipt/shipping rates, as applicable.

    Kind: static method of ui

    "},{"location":"Plugin%20API/ui/#uisetcustomerscreencontent-type-displayincard-cardsize-displaystatusbar","title":"ui.setCustomerScreen(content, type, displayInCard, cardSize, displayStatusBar)","text":"

    Render content on the customer-facing display. Encodes content as a data URI (example: data:text/html;charset=utf-8,${content}) and renders on the customer-facing display. If type is html, renders the string as HTML. If type is pdf, displays a PDF viewer. If type is raw, functions like setting an iframe's src to content. All other type values are rendered as text/plain. To display the iframe in a card centered on the screen, set displayInCard to true and pass the desired dimensions (w, h) of the card in px. If the requested size is larger than the available screen space, the card will instead fill the available space. Warning: Do not load third-party websites, this is a security risk. Wrap it in a tag if you need to display one.

    Kind: static method of ui

    Param Type Default Description content string Page content. type string \"html\" Format of the content. One of \"html\", \"pdf\", \"raw\", \"body\", or \"text\". displayInCard boolean false Set to true to wrap the content in a card UI. cardSize Array.<number> [300,300 Size of the card UI if displayInCard == true. displayStatusBar boolean true Whether the bar on the bottom of the screen should be visible, containing the store logo and scale weight.

    Example

    // How content is converted by PostalPoint before display:\nif (type == \"html\") {\n    customerScreenContent = `data:text/html;charset=utf-8,${content}`;\n} else if (type == \"pdf\") {\n    customerScreenContent = `data:application/pdf,${content}`;\n} else if (type == \"raw\") {\n    global.customerScreenContent = `${content}`;\n} else if (type == \"body\") {\n    customerScreenContent = `data:text/html;charset=utf-8,<!DOCTYPE html>\n    <meta charset=\"utf-8\">\n    <title></title>\n    <style>\n        html, body {margin: 0; padding: 0; font-family: Roboto, Ubuntu, Arial, sans-serif;}\n        h1, h2, h3 {margin: 0;}\n    </style>\n    <div id=\"maindiv\">${content}</div>`;\n} else {\n    customerScreenContent = `data:text/plain;charset=utf-8,${content}`;\n}\n

    "},{"location":"Plugin%20API/ui/#uicollectsignaturefromcustomerscreentitle-terms-termstype","title":"ui.collectSignatureFromCustomerScreen(title, terms, termstype)","text":"

    Show a signature pad on the customer-facing display. When the customer indicates the signature is finished, the customerSignatureCollected event is emitted with the data {\"svg\": \"data:image/svg+xml;base64,...\", \"png\": \"data:image/png;base64,...\"}

    Kind: static method of ui

    Param Type Default Description title string null Display a title/header on the customer screen. Currently ignored, but may be used in the future. terms string | boolean false Set to a string to display terms and conditions or other text content next to the signature pad. termstype string \"body\" \"html\", \"pdf\", \"raw\", or \"body\". See setCustomerScreen()

    Example

    global.apis.ui.collectSignatureFromCustomerScreen(\"\", \"<p>By signing, you agree to pay us lots of money</p>\", \"body\");\nglobal.apis.eventbus.on(\"customerSignatureCollected\", function (sigdata) {\n    const pngDataURL = sigdata.png;\n    const svgDataURL = sigdata.svg;\n});\n

    "},{"location":"Plugin%20API/ui/#uicancelsignaturecollection","title":"ui.cancelSignatureCollection()","text":"

    Cancels customer signature collection and returns the customer-facing display to normal operation.

    Kind: static method of ui Example

    global.apis.ui.cancelSignatureCollection();\n

    "},{"location":"Plugin%20API/ui/#uiclearsignaturepad","title":"ui.clearSignaturePad()","text":"

    Erase the signature drawn on the customer-facing display. Note that the customer is also provided a button to do this.

    Kind: static method of ui Example

    global.apis.ui.clearSignaturePad();\n

    "},{"location":"Plugin%20API/ui/#uigetcustomerdisplayinfo-object","title":"ui.getCustomerDisplayInfo() \u21d2 Object","text":"

    Describes if the customer-facing display is currently enabled, and if it supports customer touch interaction.

    Kind: static method of ui Returns: Object - {\"enabled\": true, \"touch\": true} Example

    var info = global.apis.ui.getCustomerDisplayInfo();\n

    "},{"location":"Plugin%20API/user/","title":"User","text":""},{"location":"Plugin%20API/user/#user-object","title":"user : object","text":"

    Access data about employees.

    Kind: global namespace

    • user : object
      • .User
        • new User(id, name, password, barcode, enabled)
      • .getUser() \u21d2 User
      • .getUserID() \u21d2 number
      • .getUserByID() \u21d2 Promise.<User>
      • .listUsers([managerMode]) \u21d2 Promise.<Array.<User>>

    "},{"location":"Plugin%20API/user/#useruser","title":"user.User","text":"

    Kind: static class of user Properties

    Name Type Description id number name string pass string barcode string enabled boolean hasPassword() function Returns true if the user has a password set, else false. checkPassword(string) function Returns true if the provided password matches the user's password, or if there is no password set. icon(number) function Returns a SVG data URI with a procedurally-generated icon for the user. Size defaults to 50px if not specified.

    "},{"location":"Plugin%20API/user/#new-userid-name-password-barcode-enabled","title":"new User(id, name, password, barcode, enabled)","text":"

    A User object.

    Param Type id number name string password string barcode string enabled boolean

    "},{"location":"Plugin%20API/user/#usergetuser-user","title":"user.getUser() \u21d2 User","text":"

    Get the user currently logged in.

    Kind: static method of user

    "},{"location":"Plugin%20API/user/#usergetuserid-number","title":"user.getUserID() \u21d2 number","text":"

    Get the current user's ID number.

    Kind: static method of user

    "},{"location":"Plugin%20API/user/#usergetuserbyid-promiseuser","title":"user.getUserByID() \u21d2 Promise.<User>","text":"

    Look up the User for an ID number.

    Kind: static method of user

    "},{"location":"Plugin%20API/user/#userlistusersmanagermode-promisearrayuser","title":"user.listUsers([managerMode]) \u21d2 Promise.<Array.<User>>","text":"

    Get a list of all users in the system.

    Kind: static method of user

    Param Type Default Description [managerMode] boolean false If false, list only active/enabled users, and if no users, return a default user account (user ID -1). If true, return all users in the database, and don't return a default account if the list is empty (return an empty list instead)."},{"location":"Plugin%20API/util/","title":"Util","text":""},{"location":"Plugin%20API/util/#util-object","title":"util : object","text":"

    Various utility functions: HTTP, time/date, barcode creation, clipboard, etc.

    Kind: global namespace

    • util : object
      • .uuid : object
        • .v4() \u21d2 string
        • .short([length]) \u21d2 string
      • .http : object
        • .webhook : object
          • .geturl(sourcename) \u21d2 Promise.<string>
          • .poll(sourcename) \u21d2 Promise.<Array.<Object>>
          • .ack(webhookid)
        • .post(url, data, [responseType], [headers], [method], [continueOnBadStatusCode], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>
        • .fetch(url, [responseType], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>
      • .string : object
        • .split(input, separator, [limit]) \u21d2 Array.<string>
        • .chunk(input, chunksize) \u21d2 Array.<string>
      • .time : object
        • .now() \u21d2 number
        • .diff(compareto) \u21d2 number
        • .strtotime(str) \u21d2 number
        • .format(format, [timestamp]) \u21d2 string
        • .toDateString(timestamp) \u21d2 string
        • .toTimeString(timestamp) \u21d2 string
      • .clipboard : object
        • .copy(text, [showNotification]) \u21d2 Promise.<boolean>
      • .barcode : object
        • .getBuffer(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<Buffer>
        • .getBase64(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<string>
      • .geography : object
        • .isoToCountryName(iso) \u21d2 string
      • .objectEquals(a, b) \u21d2 boolean
      • .delay([ms]) \u21d2 Promise

    "},{"location":"Plugin%20API/util/#utiluuid-object","title":"util.uuid : object","text":"

    Unique ID generators.

    Kind: static namespace of util

    • .uuid : object
      • .v4() \u21d2 string
      • .short([length]) \u21d2 string

    "},{"location":"Plugin%20API/util/#uuidv4-string","title":"uuid.v4() \u21d2 string","text":"

    Generate a UUID string

    Kind: static method of uuid Returns: string - UUID v4 with dashes: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

    "},{"location":"Plugin%20API/util/#uuidshortlength-string","title":"uuid.short([length]) \u21d2 string","text":"

    Generate a short random alphanumeric string.

    Kind: static method of uuid Returns: string - A string of length length, from the character set \"acdefhjkmnpqrtuvwxy0123456789\".

    Param Type Default Description [length] number 16 String character count.

    "},{"location":"Plugin%20API/util/#utilhttp-object","title":"util.http : object","text":"

    HTTP requests and webhooks.

    Kind: static namespace of util

    • .http : object
      • .webhook : object
        • .geturl(sourcename) \u21d2 Promise.<string>
        • .poll(sourcename) \u21d2 Promise.<Array.<Object>>
        • .ack(webhookid)
      • .post(url, data, [responseType], [headers], [method], [continueOnBadStatusCode], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>
      • .fetch(url, [responseType], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>

    "},{"location":"Plugin%20API/util/#httpwebhook-object","title":"http.webhook : object","text":"

    Use webhooks via a PostalPoint cloud relay service.

    Kind: static namespace of http

    • .webhook : object
      • .geturl(sourcename) \u21d2 Promise.<string>
      • .poll(sourcename) \u21d2 Promise.<Array.<Object>>
      • .ack(webhookid)

    "},{"location":"Plugin%20API/util/#webhookgeturlsourcename-promisestring","title":"webhook.geturl(sourcename) \u21d2 Promise.<string>","text":"

    geturl - Returns a public URL that can be used as a webhook target/endpoint for third-party integrations.

    Kind: static method of webhook Returns: Promise.<string> - A URL for the webhook.

    Param Type Description sourcename string Unique identifier for the webhook

    "},{"location":"Plugin%20API/util/#webhookpollsourcename-promisearrayobject","title":"webhook.poll(sourcename) \u21d2 Promise.<Array.<Object>>","text":"

    poll - Returns an array of webhook payloads received by the webhook identified by sourcename.

    Kind: static method of webhook Returns: Promise.<Array.<Object>> - Payloads as received by the webhook relay service.

    Param Type Description sourcename string Unique identifier for the webhook

    Example

    [\n     {\n         // Unique ID. Used for ack(webhookid).\n         id: 123,\n\n         // UNIX timestamp (in seconds) of when the data was received by the webhook URL.\n         timestamp: 1234567890,\n\n         // Source name set in geturl()\n         source: \"sourcename\",\n\n         // JSON string of all the HTTP headers sent to the webhook URL.\n         headers: \"{'Content-Type': 'application/json'}\",\n\n         // Entire HTTP request body sent to the webhook URL.\n         body: \"\"\n     }\n]\n

    "},{"location":"Plugin%20API/util/#webhookackwebhookid","title":"webhook.ack(webhookid)","text":"

    Acknowledge receipt of a webhook payload, deleting it from the relay server. Webhook payload is only queued for deletion, so polling may still return it for a short time.

    Kind: static method of webhook

    Param Type Description webhookid number Numeric unique ID received with the payload. See poll.

    "},{"location":"Plugin%20API/util/#httpposturl-data-responsetype-headers-method-continueonbadstatuscode-timeoutseconds-promisestringblobarraybufferobject","title":"http.post(url, data, [responseType], [headers], [method], [continueOnBadStatusCode], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>","text":"

    post - Fetch a HTTP POST request.

    Kind: static method of http Returns: Promise.<(string|Blob|ArrayBuffer|Object)> - The server response body. See responseType parameter.

    Param Type Default Description url string data Object.<string, string> POST data key/value list [responseType] string \"text\" \"text\", \"blob\", \"buffer\", or \"json\" [headers] Object.<string, string> HTTP headers to send. Defaults to {\"Content-Type\": \"application/json\"}. [method] string \"POST\" [continueOnBadStatusCode] boolean false If false, throws an Error when the HTTP response code is not 2XX. If true, ignores the response code and proceeds as normal. [timeoutSeconds] number 15 Aborts the request (timeout) after this many seconds.

    "},{"location":"Plugin%20API/util/#httpfetchurl-responsetype-timeoutseconds-promisestringblobarraybufferobject","title":"http.fetch(url, [responseType], [timeoutSeconds]) \u21d2 Promise.<(string|Blob|ArrayBuffer|Object)>","text":"

    fetch - Fetch a HTTP GET request.

    Kind: static method of http Returns: Promise.<(string|Blob|ArrayBuffer|Object)> - The server response body. See responseType parameter.

    Param Type Default Description url string [responseType] string \"text\" \"text\", \"blob\", \"buffer\", or \"json\" [timeoutSeconds] number 15 Aborts the request (timeout) after this many seconds.

    "},{"location":"Plugin%20API/util/#utilstring-object","title":"util.string : object","text":"

    String manipulation functions.

    Kind: static namespace of util

    • .string : object
      • .split(input, separator, [limit]) \u21d2 Array.<string>
      • .chunk(input, chunksize) \u21d2 Array.<string>

    "},{"location":"Plugin%20API/util/#stringsplitinput-separator-limit-arraystring","title":"string.split(input, separator, [limit]) \u21d2 Array.<string>","text":"

    Split a string with a separator regex.

    Kind: static method of string

    Param Type Description input string Input string separator string Passed to new RegExp(separator, 'g') [limit] number Maximum number of splits to perform

    "},{"location":"Plugin%20API/util/#stringchunkinput-chunksize-arraystring","title":"string.chunk(input, chunksize) \u21d2 Array.<string>","text":"

    Split a string into chunks of length chunksize.

    Kind: static method of string

    Param Type Description input string Input string chunksize string Number of characters per chunk

    "},{"location":"Plugin%20API/util/#utiltime-object","title":"util.time : object","text":"

    Date and time functions

    Kind: static namespace of util

    • .time : object
      • .now() \u21d2 number
      • .diff(compareto) \u21d2 number
      • .strtotime(str) \u21d2 number
      • .format(format, [timestamp]) \u21d2 string
      • .toDateString(timestamp) \u21d2 string
      • .toTimeString(timestamp) \u21d2 string

    "},{"location":"Plugin%20API/util/#timenow-number","title":"time.now() \u21d2 number","text":"

    Get the current UNIX timestamp in seconds.

    Kind: static method of time

    "},{"location":"Plugin%20API/util/#timediffcompareto-number","title":"time.diff(compareto) \u21d2 number","text":"

    Get the number of seconds between now and the given Date or UNIX timestamp in seconds.

    Kind: static method of time

    Param Type compareto number | Date

    "},{"location":"Plugin%20API/util/#timestrtotimestr-number","title":"time.strtotime(str) \u21d2 number","text":"

    Parse a string date and return UNIX timestamp (in seconds).

    Kind: static method of time

    Param Type str string

    "},{"location":"Plugin%20API/util/#timeformatformat-timestamp-string","title":"time.format(format, [timestamp]) \u21d2 string","text":"

    Take a Date or UNIX timestamp in seconds and format it to a string. Mostly compatible with the PHP date format codes.

    Kind: static method of time

    Param Type Default Description format string \"Y-m-d H:i:s\", etc [timestamp] number | Date now()

    "},{"location":"Plugin%20API/util/#timetodatestringtimestamp-string","title":"time.toDateString(timestamp) \u21d2 string","text":"

    Format a UNIX timestamp (in seconds) as a localized date string.

    Kind: static method of time

    Param Type timestamp number

    "},{"location":"Plugin%20API/util/#timetotimestringtimestamp-string","title":"time.toTimeString(timestamp) \u21d2 string","text":"

    Format a UNIX timestamp (in seconds) as a localized time string.

    Kind: static method of time

    Param Type timestamp number

    "},{"location":"Plugin%20API/util/#utilclipboard-object","title":"util.clipboard : object","text":"

    OS clipboard

    Kind: static namespace of util

    "},{"location":"Plugin%20API/util/#clipboardcopytext-shownotification-promiseboolean","title":"clipboard.copy(text, [showNotification]) \u21d2 Promise.<boolean>","text":"

    Copy a string to the system clipboard.

    Kind: static method of clipboard Returns: Promise.<boolean> - True if the copy succeeded, else false.

    Param Type Default Description text string [showNotification] boolean false If true, a \"Copied\" notification will appear onscreen briefly.

    "},{"location":"Plugin%20API/util/#utilbarcode-object","title":"util.barcode : object","text":"

    Barcode image generation functions.

    Kind: static namespace of util

    • .barcode : object
      • .getBuffer(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<Buffer>
      • .getBase64(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<string>

    "},{"location":"Plugin%20API/util/#barcodegetbufferdata-type-height-scale-includetext-promisebuffer","title":"barcode.getBuffer(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<Buffer>","text":"

    Get a PNG image buffer of a barcode. Uses library \"bwip-js\".

    Kind: static method of barcode Returns: Promise.<Buffer> - PNG data for the barcode.

    Param Type Default Description data string [type] string \"\\\"code128\\\"\" [height] number 10 [scale] number 2 [includetext] boolean false Set true to render the barcode's content as text below the code.

    "},{"location":"Plugin%20API/util/#barcodegetbase64data-type-height-scale-includetext-promisestring","title":"barcode.getBase64(data, [type], [height], [scale], [includetext]) \u21d2 Promise.<string>","text":"

    Get a PNG image of a barcode as a base64 data URI. Uses library \"bwip-js\".

    Kind: static method of barcode Returns: Promise.<string> - \"data:image/png;base64,...\"

    Param Type Default Description data string [type] string \"\\\"code128\\\"\" [height] number 10 [scale] number 2 [includetext] boolean false Set true to render the barcode's content as text below the code.

    "},{"location":"Plugin%20API/util/#utilgeography-object","title":"util.geography : object","text":"

    Kind: static namespace of util

    "},{"location":"Plugin%20API/util/#geographyisotocountrynameiso-string","title":"geography.isoToCountryName(iso) \u21d2 string","text":"

    Get a human-readable country name from an ISO country code.

    Kind: static method of geography

    Param Type Description iso string | number 2 or 3 letter country code, or numeric country code.

    "},{"location":"Plugin%20API/util/#utilobjectequalsa-b-boolean","title":"util.objectEquals(a, b) \u21d2 boolean","text":"

    Compare two objects for equality. See https://stackoverflow.com/a/16788517

    Kind: static method of util Returns: boolean - True if equal, else false.

    Param Type a * b *

    "},{"location":"Plugin%20API/util/#utildelayms-promise","title":"util.delay([ms]) \u21d2 Promise","text":"

    Pause execution for some amount of time in an async function, i.e., returns a Promise that resolves in some number of milliseconds.

    Kind: static method of util

    Param Type Default Description [ms] number 1000 Number of milliseconds to pause."}]} \ No newline at end of file diff --git a/next/sitemap.xml.gz b/next/sitemap.xml.gz index ed03378..0f371ef 100644 Binary files a/next/sitemap.xml.gz and b/next/sitemap.xml.gz differ